如何使用pg_restore在cloudsql中导入dump文件?
How to use pg_restore to import dump file in cloudsql?
我想将使用 pg_dump 创建的 .sql 文件导入云sql。
控制台和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 从你的本地(在我的本地机器上)要求你首先授权 你的 public IP,然后允许你的机器连接到您的 cloudsql 实例...
根据 GCP
You have not authorised any external networks to connect to your Cloud
SQL instance.
如果您单击左侧导航栏中的“连接”link,在“网络”选项卡下,您将看到以上消息...您需要添加您的公共 IP(单击“添加网络”)
希望这对您有所帮助
我想将使用 pg_dump 创建的 .sql 文件导入云sql。
控制台和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 从你的本地(在我的本地机器上)要求你首先授权 你的 public IP,然后允许你的机器连接到您的 cloudsql 实例...
根据 GCP
You have not authorised any external networks to connect to your Cloud SQL instance.
如果您单击左侧导航栏中的“连接”link,在“网络”选项卡下,您将看到以上消息...您需要添加您的公共 IP(单击“添加网络”)
希望这对您有所帮助