繁体   English   中英

如何在 Windows7 中备份和恢复 PostgreSQL 数据库?

[英]How to backup & Restore PostgreSQL database in Windows7?

我是 Postgres 数据库的新手。 我必须从生产服务器获取备份(pgAdmin 版本是 9.2.4)并在我的本地机器上恢复它(我有 pgAdmin 版本 9.4)。 我试图通过右键单击数据库-> 备份来获取备份以获取 .backup 文件。 如下图所示:

在此处输入图片说明

但是当我尝试恢复备份文件时,出现了很多错误。

我还想知道在两个系统上使用不同的端口是否也会在恢复备份时产生问题。 因为当我尝试恢复相同系统的备份时没有问题。

要备份数据库,您可以使用pg_dump.exe

  1. 打开 Powershell

  2. 转到 Postgres bin 文件夹。 例如:

     cd "C:\\Program Files\\PostgreSQL\\9.6\\bin"
  3. 输入命令以转储数据库。 例如:

     ./pg_dump.exe -U postgres -d my_database_name -f D:\\Backup\\<backup-file-name>.sql
  4. 为您的 postgres 用户键入密码

要恢复数据库,您可以使用psql.exe (请注意,以下内容摘自 Alexandr Omelchenko 的有用答案,由于我不清楚原因,该答案已被删除。)

  1. 打开 Powershell

  2. 转到 Postgres bin 文件夹。 例如:

     cd "C:\\ProgramFiles\\PostgreSQL\\9.6\\bin"
  3. 输入命令以恢复数据库。 例如:

     ./psql.exe -U postgres -d my_database_name -f D:\\Backup\\<backup-file-name>.sql
  4. 为您的 postgres 用户键入密码

由于版本不匹配,我在创建数据库转储文件时被卡在这里。 所以我按照下面的命令来获取备份和恢复。

pg_dump -h localhost -U postgres -p 5432 YourDbName > BackupFileName.dump

作为替代方案,您可以尝试下面的 cmd 代码。 如果您无法从 pgAdmin4 恢复,您可以试试这个。 首先,您应该找到路径 pg_restore.exe。 它一般在

C:\\Program Files\\PostgreSQL\\12\\bin>

更改数据库名称和备份路径后运行以下代码

pg_restore.exe --verbose --clean -U "postgres" --dbname databaseName c:\database.backup

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM