PostgreSQL (Source)
Install
See the Install guide for the full setup, including Windows PowerShell.
curl -fsSL https://install.skippr.io/install.sh | shClick to copyReads data from PostgreSQL tables.
Configuration
source:
kind: postgres_source
host: localhost
port: 5432
user: postgres
password: ${POSTGRES_SOURCE_PASSWORD}
database: mydb| Field | Default | Description |
|---|---|---|
host | localhost | Postgres host |
port | 5432 | Postgres port |
user | postgres | Username |
password | Password | |
database | Database name | |
connection_string | Full connection string (overrides individual fields) | |
tables | (auto-discover) | Optional list of tables to read |
query | Custom SQL query (overrides tables) |
Namespace: postgres.{table_name}
CLI
skippr connect source postgres-source \
--host localhost --port 5432 \
--user myuser --password mypass \
--database mydb \
--tables public.customers,public.orders| Flag | Description |
|---|---|
--host | Postgres host |
--port | Postgres port (default: 5432) |
--user | Username |
--password | Password |
--database | Database name |
--connection-string | Full connection string (overrides individual fields) |
--tables | Comma-separated list of tables |
--query | SQL 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:
source:
kind: postgres_source
password: ${POSTGRES_SOURCE_PASSWORD}
# or:
# connection_string: ${POSTGRES_SOURCE_CONNECTION_STRING}Set the env var before running skippr:
macOS / Linux
export POSTGRES_SOURCE_PASSWORD="mypassword"Windows PowerShell
$env:POSTGRES_SOURCE_PASSWORD = "mypassword"Windows Command Prompt
set POSTGRES_SOURCE_PASSWORD=mypasswordPermissions 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
| Symptom | Fix |
|---|---|
connection refused | Check the configured host and port are correct and the server is running |
password authentication failed | Verify the configured username and password |
| SSL errors | Check 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
- Pair this source with a destination from Destination Connectors.
- For CDC setup and restart behavior, see CDC Sources and CDC Operations.
Install
See the Install guide for the full setup, including Windows PowerShell.
curl -fsSL https://install.skippr.io/install.sh | shClick to copy