![您能从无功能的 postgresql 数据库中转储表吗?](https://linux22.com/image/546431/%E6%82%A8%E8%83%BD%E4%BB%8E%E6%97%A0%E5%8A%9F%E8%83%BD%E7%9A%84%20postgresql%20%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E8%BD%AC%E5%82%A8%E8%A1%A8%E5%90%97%EF%BC%9F.png)
我有一个来自另一个系统的 postgres 数据目录,我试图让它工作到足以将数据转储到 sql 文件中。不幸的是,postgresql 在复制数据目录中时出现问题(我意识到这不是处理这个问题的正确方法,但我想我没有其他选择。)。
仅从该目录,是否有任何方法可以让 postgres 直接转储 sql 文件,而无需服务器本身愿意启动?或者您对如何让它恢复到模糊的工作状态还有其他建议吗?
答案1
如果您有来自其他系统的 PGDATA 目录,那么将其复制到您的 PostgreSQL 服务器并非不可能,只要它满足某些要求,其中之一就是它是同一版本的 PostgreSQL(例如,不要尝试将 PGDATA 从 8.3 复制到 8.4)。我不确定是否需要具有相同的操作系统和架构,但这会使事情变得更简单。
至于 PostreSQL 在无法启动时是否可以将数据转储到 SQL 文件,答案是否定的。您需要启动 PostgreSQL,或者直接从文件中恢复数据。