如何为 PostgresQL 创建 GCP Cloud SQL 导出的本地克隆
How to create local clone of a GCP Cloud SQL export for PostgresQL
我已经使用他们的 GUI 向导在 Google Cloud Platform Cloud SQL Postgres 数据库中将数据库导出为 SQL 文件。我想将转储中的数据导入我本地的 PostgresQL 安装。我尝试将 PgAdmin4 与各种设置一起使用,但一直失败。然后我尝试了以下检索数据的命令,但大多数关系都消失了。
psql -f "SQLFile.sql" --host "localhost" --port "5432" --username "dbusername" "myDBName"
如何创建我的 Cloud SQL 数据库的本地克隆?
为其他需要此答案的人发布答案。以下是在 Windows 10 机器上执行的。
使用 GCP 控制台 GUI 从云端导出 SQL。这会将其保存到云存储桶中,您可以从 GCS 桶中下载它。
在本地计算机上 - 删除任何与要导入的数据库同名的数据库。然后创建一个与要导入的数据库同名的新数据库。 (就我而言,这就是问题所在)
在终端中转到您的 PostgreSQL bin
文件夹。示例:
cd “C:\Program Files\PostgreSQL\bin
- 然后 运行 以下命令 - 根据您的需要替换值。
psql -f "<full-path-to-downloaded-sql-file>" --host "localhost" --port "5432" --username "<local-postgres-username>" "<db-name-to-import>”
- 您可能需要授予用户对表的权限。这可以使用 pgAdmin 4 or as described in this answer.
中的授权向导来完成
我已经使用他们的 GUI 向导在 Google Cloud Platform Cloud SQL Postgres 数据库中将数据库导出为 SQL 文件。我想将转储中的数据导入我本地的 PostgresQL 安装。我尝试将 PgAdmin4 与各种设置一起使用,但一直失败。然后我尝试了以下检索数据的命令,但大多数关系都消失了。
psql -f "SQLFile.sql" --host "localhost" --port "5432" --username "dbusername" "myDBName"
如何创建我的 Cloud SQL 数据库的本地克隆?
为其他需要此答案的人发布答案。以下是在 Windows 10 机器上执行的。
使用 GCP 控制台 GUI 从云端导出 SQL。这会将其保存到云存储桶中,您可以从 GCS 桶中下载它。
在本地计算机上 - 删除任何与要导入的数据库同名的数据库。然后创建一个与要导入的数据库同名的新数据库。 (就我而言,这就是问题所在)
在终端中转到您的 PostgreSQL
bin
文件夹。示例:
cd “C:\Program Files\PostgreSQL\bin
- 然后 运行 以下命令 - 根据您的需要替换值。
psql -f "<full-path-to-downloaded-sql-file>" --host "localhost" --port "5432" --username "<local-postgres-username>" "<db-name-to-import>”
- 您可能需要授予用户对表的权限。这可以使用 pgAdmin 4 or as described in this answer. 中的授权向导来完成