Replication
Logical
docker run --name primary_postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-d -p 5435:5432 postgres:18.0-alpine3.22 \
-c wal_level=logical \
-c max_wal_senders=4 \
-c max_replication_slots=4docker run --name secondary_postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-d -p 5434:5432 postgres:18.0-alpine3.22primary node
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username TEXT NOT NULL UNIQUE,
email TEXT NOT NULL UNIQUE,
created_at TIMESTAMPTZ DEFAULT NOW(),
last_login TIMESTAMPTZ,
is_active BOOLEAN DEFAULT TRUE
);
INSERT INTO users (username, email)
SELECT
'user_' || g AS username,
'user_' || g || '@example.com' AS email
FROM generate_series(1, 100000) AS g;
CREATE PUBLICATION users_publication FOR TABLE users;secondary node
Last updated