Skip to content

PostgreSQL (Source)

Install

See the Install guide for the full setup, including Windows PowerShell.

curl -fsSL https://install.skippr.io/install.sh | shClick to copy

Reads data from PostgreSQL tables.

Configuration

yaml
source:
  kind: postgres_source
  host: localhost
  port: 5432
  user: postgres
  password: ${POSTGRES_SOURCE_PASSWORD}
  database: mydb
FieldDefaultDescription
hostlocalhostPostgres host
port5432Postgres port
userpostgresUsername
passwordPassword
databaseDatabase name
connection_stringFull connection string (overrides individual fields)
tables(auto-discover)Optional list of tables to read
queryCustom SQL query (overrides tables)

Namespace: postgres.{table_name}

CLI

bash
skippr connect source postgres-source \
  --host localhost --port 5432 \
  --user myuser --password mypass \
  --database mydb \
  --tables public.customers,public.orders
FlagDescription
--hostPostgres host
--portPostgres port (default: 5432)
--userUsername
--passwordPassword
--databaseDatabase name
--connection-stringFull connection string (overrides individual fields)
--tablesComma-separated list of tables
--querySQL query instead of table list

Authentication

Configure host, port, user, password, and database directly in the source config, or use connection_string if you prefer a single DSN-style value.

For security best practices, we strongly advise against storing the password or connection string in skippr.yaml. Use environment variable interpolation instead: replace the password or connection_string value with your own ${ENV_VAR} reference.

The relevant part of skippr.yaml looks like this:

yaml
source:
  kind: postgres_source
  password: ${POSTGRES_SOURCE_PASSWORD}
  # or:
  # connection_string: ${POSTGRES_SOURCE_CONNECTION_STRING}

Set the env var before running skippr:

macOS / Linux

bash
export POSTGRES_SOURCE_PASSWORD="mypassword"

Windows PowerShell

powershell
$env:POSTGRES_SOURCE_PASSWORD = "mypassword"

Windows Command Prompt

cmd
set POSTGRES_SOURCE_PASSWORD=mypassword

Permissions or Network Requirements

The database user needs read access to the selected tables or views, and the machine running skippr must be able to reach the PostgreSQL host and port. For CDC-specific replication requirements, see CDC Sources -- PostgreSQL.

Troubleshooting

SymptomFix
connection refusedCheck the configured host and port are correct and the server is running
password authentication failedVerify the configured username and password
SSL errorsCheck the connection string or SSL-related connection parameters for the target server

CDC Support

PostgreSQL supports real-time Change Data Capture via WAL logical replication. When paired with a supported warehouse destination, Skippr reconciles those mutations to exactly-once final state.

See CDC Sources -- PostgreSQL for prerequisites, configuration, and resume behavior.

Next steps

Install

See the Install guide for the full setup, including Windows PowerShell.

curl -fsSL https://install.skippr.io/install.sh | shClick to copy