gpt4 book ai didi

postgresql - 在 Linux 中备份 PostgreSQL 数据库

转载 作者:行者123 更新时间:2023-11-29 12:12:49 26 4
gpt4 key购买 nike

我必须在 Linux 中创建一个 postgresql 数据库备份(仅模式)并在窗口机器上恢复它。我用选项 -E 备份了数据库,但我无法在 window 机器上恢复它。

这是我用来备份数据库的命令

pg_dump -s -E SQL_ASCII books > books.backup

下面是我尝试恢复时收到的错误消息。

C:/Program Files/PostgreSQL/9.3/bin\pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "books" --role "sa" --no-password  --list "C:\progress_db\test1"
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.

我应该使用不同的命令还是我遗漏了什么?非常感谢您的帮助。

最佳答案

官方第一行docs关于恢复说:

The text files created by pg_dump are intended to be read in by the psql program. The general command form to restore a dump is

psql dbname < infile

where infile is the file output by the pg_dump command

或者只是阅读错误信息。

选项-E SQL_ASCII只设置字符编码,与转储的格式无关。默认情况下,pg_dump生成一个文本文件,其中包含用于重新生成数据库的 SQL 语句;在这种情况下,要恢复数据库,您只需要执行文件中的 sql 命令,就像在 psql 终端中一样 - 这就是为什么一个简单的 psql dbname < mydump是要走的路。

pg_restore将与 pg_dump 的替代“二进制”-postgresql 特定格式一起使用.

关于postgresql - 在 Linux 中备份 PostgreSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23792923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com