Configuring the source reader vba_preview

Getting credentials

  1. Access the EDB Postgres AI® Console and log in with your EDB Postgres AI Database Cloud Service credentials.

  2. Select the project where you created the database cluster.

  3. Within your project, select Migrate > Credentials.

  4. 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

Running the reader

cd /opt/cdcreader
./run-cdcreader.sh

Parameters explanation

DBZ_ID

ID to identify the reader. Users can define the ID they think will be useful with below constraints:

  1. ID length should lower or equal to 255
  2. ID can only contain lowercase characters, uppercase characters, numbers, underscore(_) and hyphen(-)
  3. ID should be unique, two reader instances should not use the same ID

RW_SERVICE_HOST

URL of the transporter-rw-service is always https://transporter-rw-service.biganimal.com

TLS_PRIVATE_KEY_PATH

Private key of user migration credential. Reader's http client uses it to mTLS with transporter-rw-service

TLS_CERTIFICATE_PATH

X509 certificate of user migration credential. Reader's http client uses it to mTLS with transporter-rw-service

TLS_CA_PATH

Certificate Authority to sign the certificate configured in TLS_CERTIFICATE_PATH

APICURIOREQUEST_CLIENT_KEYSTORE_LOCATION

Created from the private key and certifiate configured in TLS_PRIVATE_KEY_PATH and TLS_CERTIFICATE_PATH Apicurio client use it to mTLS with 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.