package
1.1.0
Repository: https://github.com/compose/transporter.git
Documentation: pkg.go.dev

# README

PostgreSQL adaptor

The PostgreSQL adaptor is capable of reading/tailing tables using logical decoding and receiving data for inserts.

Configuration:

pg = postgres({
  "uri": "postgres://127.0.0.1:5432/test"
})

Permissions

Postgres as a transporter source uses Logical Decoding which requires the user account to have superuser or replication permissions.

Run adaptor test

Spin up required containers

You'll need those ports on your local machine: 5432

So make sure to kill anything that might use them (like a local postgres instance)

# From transporter's root folder
version=12
# Pay attention to a WARNING telling you to add a line to /etc/hosts in the following command
scripts/run_db_in_docker.sh postgres $version

Run the tests

# From transporter's root folder
go test -v ./adaptor/postgres/

Tear down containers

Once you're done

TESTDIR=adaptor/postgres scripts/teardown_db_in_docker.sh

# Functions

NewClient creates a default file client.
WithURI defines the full connection string for the Postgres connection.

# Constants

DefaultURI is the default endpoint of Postgres on the local machine.

# Structs

Client represents a client to the underlying File source.
Reader implements the behavior defined by client.Reader for interfacing with MongoDB.
Session serves as a wrapper for the underlying *sql.DB.
Tailer implements the behavior defined by client.Tailer for interfacing with the MongoDB oplog.
Writer implements client.Writer for use with MongoDB.

# Type aliases

ClientOptionFunc is a function that configures a Client.