簡體   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