Configuring and running the source reader vba_preview
Getting credentials
Access the EDB Postgres AI® Console and log in with your EDB Postgres AI Database Cloud Service credentials.
Select the project where you created the database cluster.
Within your project, select Migrate > Credentials.
Unzip the credentials folder and copy it to the host where the reader is installed.
Configuring the reader
Set the following environment variables in /opt/cdcreader/run-cdcreader.sh
with the right values:
### set the following environment variables: ########################################## # Transporter Cloud Configuration # ########################################## # This ID is used to identify the cdcreader. #export DBZ_ID= # Now we only support aws #export CLOUD_PROVIDER= # No need to change about this field #export RW_SERVICE_HOST=https://transporter-rw-service.biganimal.com # You need to create migration credentials in EDB postgresAI platform and set these fields with the path of credential files #export TLS_PRIVATE_KEY_PATH=$MY_CREDENTIALS_PATH/client-key.pem #export TLS_CERTIFICATE_PATH=$MY_CREDENTIALS_PATH/client-cert.pem #export TLS_CA_PATH=$MY_CREDENTIALS_PATH/int.crt #export APICURIOREQUEST_CLIENT_KEYSTORE_LOCATION=$MY_CREDENTIALS_PATH/client.keystore.p12 #export APICURIOREQUEST_TRUSTSTORE_LOCATION=$MY_CREDENTIALS_PATH/int.truststore.p12 #export KAFKASECURITY_CLIENT_KEYSTORE_LOCATION=$MY_CREDENTIALS_PATH/client.keystore.p12 #export KAFKASECURITY_TRUSTSTORE_LOCATION=$MY_CREDENTIALS_PATH/int.truststore.p12 ########################################## # Transporter Source DB Configuration # ########################################## # A sample configuration to create a single postgres database connection: #export DBZ_DATABASES_0__TYPE=POSTGRES #export DBZ_DATABASES_0__HOSTNAME=localhost #export DBZ_DATABASES_0__PORT=5432 #export DBZ_DATABASES_0__CATALOG=source #export DBZ_DATABASES_0__USERNAME=postgres #export DBZ_DATABASES_0__PASSWORD=password # You can increase the index to config more database for the reader #export DBZ_DATABASES_1__TYPE=ORACLE #export DBZ_DATABASES_1__HOSTNAME=localhost #export DBZ_DATABASES_1__PORT=1521 #export DBZ_DATABASES_1__CATALOG=ORCLCDB/ORCLPDB1 #export DBZ_DATABASES_1__USERNAME=oracle #export DBZ_DATABASES_1__PASSWORD=password ########################################## # Optional Parameters Below # ########################################## # Configure logging # Generic loglevel #export QUARKUS_LOG_LEVEL=DEBUG # Loglevel for a single package #export QUARKUS_LOG_CATEGORY__COM_ENTERPRISEDB__LEVEL=DEBUG
Parameters explanation
DBZ_ID
This is the name you assign to identify a reader. This name will later appear as a source in the EDB Cloud Service UI. Take into account the following limitations:
- The ID cannot be longer than 255 characters.
- The ID can contain lowercase characters, uppercase characters, numbers, underscores(_) and hyphens(-)
- The ID must be unique; two reader instances should not have the same ID.
RW_SERVICE_HOST
Specifies the URL of the service that will host the migration. transporter-rw-service
is always https://transporter-rw-service.biganimal.com.
TLS_PRIVATE_KEY_PATH
Directory path to the client-key.pem
private key you downloaded from the EDB Postgres AI Console.
The Reader's HTTP client uses it to perform mTLS authentication with the transporter-rw-service
.
TLS_CERTIFICATE_PATH
Directory path to the X509 client-cert.pem
certificate you downloaded from the EDB Postgres AI Console.
The Reader's HTTP client uses it to perform mTLS authentication with the transporter-rw-service
.
TLS_CA_PATH
Directory path to the int.cert
Certificate Authority you downloaded from the EDB Postgres AI Console.
It signs the certificate configured in TLS_CERTIFICATE_PATH.
APICURIOREQUEST_CLIENT_KEYSTORE_LOCATION
Directory path to the client-keystore.p12
keystore location file you downloaded from the EDB Postgres AI Console.
It is created from the private key and certifiate configured in TLS_PRIVATE_KEY_PATH and TLS_CERTIFICATE_PATH.
The Apicurio client uses it to perform mTLS authentication with the transporter-rw-service
.
APICURIOREQUEST_TRUSTSTORE_LOCATION
Created from the Certificate Authority configured in TLS_CA_PATH Apicurio client use it to mTLS with transporter-rw-service
DBZ_DATABASES
This is a source databases list you want to reader to connect. You can configure multiple database for one reader. You need to increase the index manully in you configuration.
For example:
DBZ_DATABASES_0__TYPE
is the type of the first source database.
DBZ_DATABASES_1__TYPE
is the type of the second source database.
DBZ_DATABASES_0__TYPE
Source database type, support ORACLE and POSTGRES currently
DBZ_DATABASES_0__HOSTNAME
Source database hostname
DBZ_DATABASES_0__PORT
Source database port
DBZ_DATABASES_0__CATALOG
Source database catalog
DBZ_DATABASES_0__USERNAME
Source database username
DBZ_DATABASES_0__PASSWORD
Source database password
Once the reader finishes running, the cdc source will appear in the EDB Postgres AI Console. You can select this source for any migration.
Running the reader
cd /opt/cdcreader
./run-cdcreader.sh