簡體   English   中英

如何使用 pg_restore 在 cloudsql 中導入轉儲文件?

[英]How to use pg_restore to import dump file in cloudsql?

我想將使用 pg_dump 創建的 .sql 文件導入到 cloudsql 中。

console 和 gcloud 命令都是自定義類型的轉儲文件,所以它們被告知使用 pg_restore。

在我的本地機器上

pg_restore -h cloud_sql_ip -U postgres -d database sqlfile.sql

當我使用該命令時,出現以下錯誤:

pg_restore: error: connection to database "database" failed: could not connect to server: Operation timed out
        Is the server running on host "cloud_sql_ip" and accepting
        TCP/IP connections on port 5432?

如果我使用 gcloud sql 連接命令,它將毫無問題地連接。

我不知道為什么會收到錯誤消息。

謝謝您的幫助。

要使用 PostgreSQL 的 pg_restore 和-d ,它需要能夠連接到數據庫,顯然它不能,可能是由於防火牆問題。

也許您可以更改配置以讓您從自己的計算機連接(我不知道,我不是 Google Clouse 用戶。)

另一種選擇是使用不帶-d的 pg_restore 將自定義轉儲文件轉換為真正的 sql 文件,然后使用您已經嘗試過但由於格式錯誤而失敗的其他方法之一加載該真正的 sql 文件。

pg_restore -f real_sql.sql sqlfile.sql

或者你可以重新運行 pg_dump,這次選擇普通格式而不是自定義格式。

來自本地(在我的本地計算機上)的 PostgreSQL 的 pg_restore -d 要求您首先授權您的公共 IP,然后允許您的計算機連接到您的 cloudsql 實例...

根據 GCP

您尚未授權任何 external.networks 連接到您的 Cloud SQL 實例。

如果您單擊左側導航欄上的“連接”鏈接,在“網絡”選項卡下,您將看到以上消息...您需要添加您的 pubic IP(單擊“添加網絡”)

在此處輸入圖像描述

希望這有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM