pgsql: Initialize tsId and dbId fields in WAL record of COMMIT PREPARED
В списке pgsql-committers по дате отправления:
| От | Heikki Linnakangas |
|---|---|
| Тема | pgsql: Initialize tsId and dbId fields in WAL record of COMMIT PREPARED |
| Дата | |
| Msg-id | E1WlCL9-0004PC-2f@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Initialize tsId and dbId fields in WAL record of COMMIT PREPARED. Commit dd428c79 added dbId and tsId to the xl_xact_commit struct but missed that prepared transaction commits reuse that struct. Fix that. Because those fields were left unitialized, replaying a commit prepared WAL record in a hot standby node would fail to remove the relcache init file. That can lead to "could not open file" errors on the standby. Relcache init file only needs to be removed when a system table/index is rewritten in the transaction using two phase commit, so that should be rare in practice. In HEAD, the incorrect dbId/tsId values are also used for filtering in logical replication code, causing the transaction to always be filtered out. Analysis and fix by Andres Freund. Backpatch to 9.0 where hot standby was introduced. Branch ------ REL9_2_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/0d4c75f4de68012bb6f3bc52ebb58234334259d2 Modified Files -------------- src/backend/access/transam/twophase.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера