| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
pg_repack is aborted with error if a publication FOR ALL TABLES exists and apply_log requires deleting or updating a row in a temporary table. ERROR: cannot update table "table_16388" because it does not have a replica identity and publishes updates It's not that difficult to format `ALTER TABLE repack.table_' || R.oid || ' REPLICA IDENTITY USING INDEX index_' || PK.indexrelid` in repack.tables, but for this to work, I also need to set NOT NULL on columns, which is less trivial. Furthermore, repack might break subscribers of this publication. Given the lack of previous bug reports (this setup never worked since introduction of publications in pg10), I suggest adding a FOR ALL TABLES check for publications and simply refusing to work in such a database by default. | 5 个月前 | |
pg_repack is aborted with error if a publication FOR ALL TABLES exists and apply_log requires deleting or updating a row in a temporary table. ERROR: cannot update table "table_16388" because it does not have a replica identity and publishes updates It's not that difficult to format `ALTER TABLE repack.table_' || R.oid || ' REPLICA IDENTITY USING INDEX index_' || PK.indexrelid` in repack.tables, but for this to work, I also need to set NOT NULL on columns, which is less trivial. Furthermore, repack might break subscribers of this publication. Given the lack of previous bug reports (this setup never worked since introduction of publications in pg10), I suggest adding a FOR ALL TABLES check for publications and simply refusing to work in such a database by default. | 5 个月前 | |
pg_repack is aborted with error if a publication FOR ALL TABLES exists and apply_log requires deleting or updating a row in a temporary table. ERROR: cannot update table "table_16388" because it does not have a replica identity and publishes updates It's not that difficult to format `ALTER TABLE repack.table_' || R.oid || ' REPLICA IDENTITY USING INDEX index_' || PK.indexrelid` in repack.tables, but for this to work, I also need to set NOT NULL on columns, which is less trivial. Furthermore, repack might break subscribers of this publication. Given the lack of previous bug reports (this setup never worked since introduction of publications in pg10), I suggest adding a FOR ALL TABLES check for publications and simply refusing to work in such a database by default. | 5 个月前 | |
Issue 386: Do not call quote_ident() within repack_one_database() (#387) It isn't necessary to call `quote_ident()` within `repack_one_database()`. `tablespace_dest` is passed to `repack.create_table()`, which already calls `quote_ident()`. `quote_ident()` within `repack_one_database()` can return quoted `tablespace_dest`, calling `quote_ident()` second time will make unexpected tablespace name with surrounding quotes. Tests were added. | 2 年前 |