我有主从(hot_standby) pgsql配置,我想从我的一个奴隶中进行备份。我不想要PITR,只是好的旧数据库转储。
我从MySQL转到了postgres。使用MySQL复制,我使用以下步骤从从服务器进行备份:
stop slave;mysqldumpstart slave我能用postgres做类似的事吗?
我在从服务器上尝试了pg_dump,但它返回了错误:
pg_dump: Dumping the contents of table "news_event" failed: PQgetResult() failed.
pg_dump: Error message from server: ERROR: canceling statement due to conflict with recovery
DETAIL: User query might have needed to see row versions that must be removed.此外,pg_dump在主服务器上运行良好,因此我可以在主服务器上进行备份,但我更喜欢在从服务器上进行备份。
发布于 2015-04-17 09:33:12
只需运行pg_dump。文档说:
pg_dump是备份PostgreSQL数据库的实用工具。即使同时使用数据库,也会进行一致的备份。pg_dump不阻止其他用户(读者或作者)访问数据库。
反过来,您在从服务器上看到的数据库状态也是一致的。如果复制有相当大的延迟,则结果可能与主服务器的转储略有不同。
发布于 2015-11-13 15:57:01
根据这个电子邮件线程的说法,从奴隶那里转储似乎需要PostgreSQL v9.1,并且启用了hot_standby_feedback设置(可能还有其他设置)。希望随着新版本的复制改进,它将变得更容易/更简单。
发布于 2015-04-17 09:46:28
您可以使用pgAdmin执行pg_dump操作,并选择备份文件(表、模式)中的确切内容。此外,您还可以选择备份设置,如备份文件格式。它非常容易使用,如果数据库很大,您只需等到进程完成。
要在连接到PostgreSQL后启动备份,只需右键单击数据库并选择backup .选项。然后为您选择正确的选项并启动备份过程。
https://dba.stackexchange.com/questions/98125
复制相似问题