CREATE EXTENSION worker_spi; SELECT worker_spi_launch(4) IS NOT NULL; -- wait until the worker completes its initialization DO $$ DECLARE visible bool; loops int := 0; BEGIN LOOP visible := table_name IS NOT NULL FROM information_schema.tables WHERE table_schema = 'schema4' AND table_name = 'counted'; IF visible OR loops > 120 * 10 THEN EXIT; END IF; PERFORM pg_sleep(0.1); loops := loops + 1; END LOOP; END $$; INSERT INTO schema4.counted VALUES ('total', 0), ('delta', 1); SELECT pg_reload_conf(); -- wait until the worker has processed the tuple we just inserted DO $$ DECLARE count int; loops int := 0; BEGIN LOOP count := count(*) FROM schema4.counted WHERE type = 'delta'; IF count = 0 OR loops > 120 * 10 THEN EXIT; END IF; PERFORM pg_sleep(0.1); loops := loops + 1; END LOOP; END $$; SELECT * FROM schema4.counted;