details.txt
text/plain
Filename: details.txt
Type: text/plain
Part: 0
Some parameters specified in postgresql.conf
=====================================================
shared_buffers = 8GB
checkpoint_timeout = 30min
max_wal_size = 20GB
min_wal_size = 10GB
autovacuum = off
Steps
=====================================================
-- create table in publisher and subscriber
CREATE TABLE large_test (
id int primary key,
num1 bigint,
num2 double precision,
num3 double precision
);
-- create publication
create publication pub for table large_test;
-- create subscription
-- HEAD:
CREATE SUBSCRIPTION sub CONNECTION 'port=5432 dbname=postgres' PUBLICATION pub with(streaming=on);
-- after applying patch:
CREATE SUBSCRIPTION sub CONNECTION 'port=5432 dbname=postgres' PUBLICATION pub with(streaming=parallel);
Then set synchronous replication and restart publisher server.
-- do bulk insert in publisher
\timing
EXPLAIN (ANALYZE, BUFFERS) INSERT INTO large_test (id, num1, num2, num3)
SELECT i, round(random()*10), random(), random()*142
FROM generate_series(1, 5000000) s(i);