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);