Postgresql

為 PostgreSQL 打開一個 .backup 文件

  • December 3, 2021

我要警告你,無論誰解釋這件事,都需要像我五歲一樣跟我說話,因為這超出了我的專業水平。

簡而言之,我有一個我認為是某人發給我的 PostgreSQL 轉儲文件,我需要能夠打開它以提取資訊。我期待一個簡單的表格格式(例如 Excel 電子表格),但我得到了一些更複雜的東西(一個 .backup 文件)。我知道如何執行一些基本的 SQL 查詢,但我認為發送給我的人嚴重高估了我對數據庫程序的了解。有人能給我一個非常、非常、非常簡單、完全 110% 用勺子餵食的解釋如何打開這個嗎?

(順便說一句,我認識給我發這個的人,我知道文件的性質,所以我知道這不是完全不同的東西。)

您不能只是“打開”數據庫備份。您必須恢復數據庫。為此,您首先需要安裝 PostgreSQL。最新版本也應該能夠從舊版本中獲取備份。但是舊版本的備份中的新功能可能會出現問題。所以你的版本應該至少和源一樣新。

您如何安裝 PostgreSQL 取決於您巧妙地保密的作業系統。在 Debian 中,這基本上是一個問題:

apt-get install postgresql-8.4

(或者你從後端獲取 postgresql-9.1。)

根據格式(有多種格式),您可以恢復備份。如果備份包含一個完整的數據庫集群(使用pg_dumpall- 問你的朋友!),你可以簡單地:

psql postgres -f /path/tp/file.sql

要查看數據,您最好使用pgAdmin之類的 GUI 。或者您學習如何使用 SQL。:)

如需更多建議,您需要提供更多資訊。就像備份的簡短(!)樣本及其生成方式一樣。

有關 PostgreSQL 的更多資訊,請從閱讀手冊或網路上千頁中的一頁開始。

但實際上,您的朋友應該將相關數據導出為CSV文件,您可以在 Open Office Calc 或其他電子表格應用程序中打開該文件。甚至任何文本編輯器。

首先使用 pg_restore 命令檢查已發送文件的格式可能是最有用的。如果您的文件名為“mydata.backup”,則命令為:

pg_restore --list mydata.backup

(在 Windows 上,這將是 pg_restore.exe)

這將輸出一些文本以顯示文件的格式以及文件中的數據表。這將確認您確實收到了 PostgreSQL 備份文件,而不是其他類型的文件。

然後,如果您執行:

pg_restore mydata.backup

這將開始在螢幕上顯示備份文件中的文本(標準輸出)。存在三種不同的可能格式,但 pg_restore 將檢測使用了哪一種,並開始輸出文本。

如果您真的很想從此文件中獲取數據,並且無法訪問更方便的格式,那麼您可能會發現其中一些數據在備份文件中被整齊地排列在以空格分隔的列中。有可能將這些粘貼到文本編輯器中,保存到磁碟,然後載入到電子表格中。但這當然不是理想的。

不過,PostgreSQL 備份文件並不是真正的數據分發格式。它應該只是用於備份。

引用自:https://dba.stackexchange.com/questions/14817