Schema Importer
Schema Importer is a CLI tool for automatically configuring PostgreSQL. By using this tool, your PostgreSQL database can have identical database objects, such as namespaces and tables, as your ScalarDB instance.
Schema Importer reads the ScalarDB configuration file, retrieves the schemas of the tables defined in ScalarDB, and creates the corresponding foreign data wrapper external tables and views in that order. For more information, refer to Getting Started with ScalarDB Analytics with PostgreSQL.
Build Schema Importer
You can build Schema Importer by using Gradle. To build Schema Importer, run the following command:
./gradlew build
You may want to build a fat JAR file so that you can launch Schema Importer by using java -jar
. To build the fat JAR, run the following command:
./gradlew shadowJar
After you build the fat JAR, you can find the fat JAR file in the app/build/libs/
directory.
Run Schema Importer
To run Schema Importer by using the fat JAR file, run the following command:
java -jar <PATH_TO_FAT_JAR_FILE>
Available options are as follows:
Name | Required | Description | Default |
---|---|---|---|
--config | Yes | Path to the ScalarDB configuration file | |
--config-on-postgres-host | No | Path to the ScalarDB configuration file on the PostgreSQL-running host | The same value as --config will be used. |
--namespace , -n | Yes | Namespaces to import into the analytics instance. You can specify the --namespace option multiple times if you have two or more namespaces. | |
--host | No | PostgreSQL host | localhost |
--port | No | PostgreSQL port | 5432 |
--database | No | PostgreSQL port | postgres |
--user | No | PostgreSQL user | postgres |
--password | No | PostgreSQL password | |
--debug | No | Enable debug mode |
Test Schema Importer
To test Schema Importer, run the following command:
./gradlew test
Build a Docker image of Schema Importer
To build a Docker image of Schema Importer, run the following command, replacing <TAG>
with the tag version of Schema Importer that you want to use:
docker build -t ghcr.io/scalar-labs/scalardb-analytics-postgresql-schema-importer:<TAG> -f ./app/Dockerfile .