BUG #15929: logical decoding can not write down the analyse result when the output file is touched.
| От | PG Bug reporting form |
|---|---|
| Тема | BUG #15929: logical decoding can not write down the analyse result when the output file is touched. |
| Дата | |
| Msg-id | 15929-ee2973046b882ad0@postgresql.org обсуждение исходный текст |
| Ответы |
Re: BUG #15929: logical decoding can not write down the analyseresult when the output file is touched.
|
| Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 15929 Logged by: movead li Email address: movead.li@highgo.ca PostgreSQL version: 12beta1 Operating system: centos7 Description: I was doing some testing of logical decoding and ran into a scenario that may be a bug. The following steps will lead to reproducing the behaviour : 1.Start a logical decoding use below command: pg_recvlogical -d postgres --slot=test2 --create-slot pg_recvlogical -d postgres --slot=test2 --start -f ld.log 2. When I do a DML on the database it writes down the info into ld.log file, so far so good. 3. Next I open the log file. “Id.log” with vi and make some arbitrary changes in the log file. 4. If I run a DML command now the DML info will not appear in the ld.log file. Refer to step 2, when I did a DML it was appearing in the log file. 5. If I do some manipulation with the log file using the OS commands below : mv ld.log ld.log1; cp ld.log1 ld.log; Then the DML info will start appearing in file ld.log1. This seems like a bug to be because the user might accidentally some data without noticing. I have looked at the code to debug this behaviour and find a solution In file ‘pg_recvlogical.c’ the ‘StreamLogicalLog()’ function seem to have a issue with handling of DML info. It uses open() to open the file and it does not check the file state when writing to the file after a long wait.
В списке pgsql-bugs по дате отправления: