Hi Fujiiļ¼ At 2026-01-11 17:21:19, "Fujii Masao" <[email protected]> wrote: >That's possible. But TBH I'm not sure how much effort is justified here. >The test uses pg_recvlogical to activate the slot and doesn't really test >pg_recvlogical itself. It's unclear how valuable it is to additionally run >this test on Windows...
> I applied the V4 patch and tested it on a CentOS 7 x86_64 platform. The test steps are as follows: 1. Create a table: `create table test_id(id integer);` 2. Create a function to close the connection: `create or replace function test_f(id integer) returns integer as $$ declare var1 integer; begin SELECT active_pid into var1 FROM pg_replication_slots WHERE slot_name = 'reconnect_test'; perform pg_terminate_backend(var1); return 1; end; $$ language plpgsql;` 3. Execute the command to receive logs: `./pg_recvlogical --create-slot --slot reconnect_test --dbname postgres --start --file decoding.out --fsync-interval 200 --status-interval 100 --verbose` 4. Execute the following shell script: `while true do ./psql -d postgres<<EOF select test_f(1); \q EOF done` 5. Execute data insertion using psql: `insert into test_id values(1); insert into test_id values(2);` 6. `tail -f decoding.out` I found duplicate insert statements in the file. I don't know if this is a problem. Additionally, I tried moving the two lines involving `Stream LogicalLog` outside the loop in the `main` function, and then it worked correctly. `output_written_lsn = InvalidXLogRecPtr;` `output_fsync_lsn = InvalidXLogRecPtr;`
