我对Postgres数据库还不熟悉。我需要从生产服务器(pgAdmin版本为9.2.4)获取备份并将其恢复到我的本地机器上(我有pgAdmin版本9.4)。我尝试通过右键单击数据库->备份来获取备份文件。如下图所示:
但是当我尝试还原备份文件时,出现了许多错误。
我还想知道在两个系统上有不同的端口是否也会在还原备份时创建问题。当我尝试还原同一系统的备份时没有问题。
我对Postgres数据库还不熟悉。我需要从生产服务器(pgAdmin版本为9.2.4)获取备份并将其恢复到我的本地机器上(我有pgAdmin版本9.4)。我尝试通过右键单击数据库->备份来获取备份文件。如下图所示:
但是当我尝试还原备份文件时,出现了许多错误。
我还想知道在两个系统上有不同的端口是否也会在还原备份时创建问题。当我尝试还原同一系统的备份时没有问题。
备份数据库,您可以使用pg_dump.exe
:
打开 Powershell
进入 Postgres bin 文件夹。例如:
cd "C:\Program Files\PostgreSQL\9.6\bin"
输入转储数据库的命令。例如:
./pg_dump.exe -U postgres -d my_database_name -f D:\Backup\<backup-file-name>.sql
输入密码以使用您的Postgres用户
要还原数据库,可以使用psql.exe
。(请注意,以下内容摘自已删除但对我来说原因不明的Alexandr Omelchenko有用的答案。)
打开PowerShell
转到Postgres的bin文件夹。例如:
cd "C:\ProgramFiles\PostgreSQL\9.6\bin"
输入命令以恢复您的数据库。例如:
./psql.exe -U postgres -d my_database_name -f D:\Backup\<backup-file-name>.sql
为您的 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