What is the purpose of `pg_logical` directory inside PostgreSQL data?

岁酱吖の 提交于 2019-12-10 14:49:46

问题


I've just stumbled upon this error while testing failover of a PostgreSQL 9.4 cluster I've set up. Here I'm trying to promote a slave to be the new master:

$ repmgr -f /etc/repmgr/repmgr.conf --verbose standby promote

2014-09-22 10:46:37 UTC LOG:  database system shutdown was interrupted; last known up at 2014-09-22 10:44:02 UTC
2014-09-22 10:46:37 UTC LOG:  database system was not properly shut down; automatic recovery in progress
2014-09-22 10:46:37 UTC LOG:  redo starts at 0/18000028
2014-09-22 10:46:37 UTC LOG:  consistent recovery state reached at 0/19000600
2014-09-22 10:46:37 UTC LOG:  record with zero length at 0/1A000090
2014-09-22 10:46:37 UTC LOG:  redo done at 0/1A000028
2014-09-22 10:46:37 UTC LOG:  last completed transaction was at log time 2014-09-22 10:36:22.679806+00
2014-09-22 10:46:37 UTC FATAL:  could not open directory "pg_logical/snapshots": No such file or directory
2014-09-22 10:46:37 UTC LOG:  startup process (PID 2595) exited with exit code 1
2014-09-22 10:46:37 UTC LOG:  aborting startup due to startup process failure

pg_logical/snapshots dir in fact exists on master node and it is empty.

UPD: I've just manually created empty directories pg_logical/snapshots and pg_logical/mappings and server has started without complaining. repmgr standby clone seems to omit this dirs while syncing. But the question still remains because I'm just curious what this directory is for, maybe I'm missing something in my setup. Simply Googling it did not yield any meaningful results.


回答1:


It's for the new logical changeset extraction / logical replication feature in 9.4.

This shouldn't happen, though... it suggests a significant bug somewhere, probably repmgr. I'll wait for details (repmgr version, etc).

Update: Confirmed, it's a repmgr bug. It's fixed in git master already (and was before this report) and will be in the next release. Which had better be soon, given the significance of this issue.



来源:https://stackoverflow.com/questions/25972351/what-is-the-purpose-of-pg-logical-directory-inside-postgresql-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!