数据库从 AWS postgres-9.6.6 数据库转储和恢复到 Google 云 SQL(还有 postgres-9.6)
Database dump and restore from AWS postgres-9.6.6 database to Google Cloud SQL (also postgres-9.6)
我已经按照 Exporting data from an externally-managed database server:
中的描述转储了我的数据库
pg_dump -U [USERNAME] --format=plain --no-owner \
--no-acl [DATABASE_NAME] \
| sed -E 's/(DROP|CREATE|COMMENT ON) EXTENSION/-- EXTENSION/g' > [SQL_FILE].sql
我从中转储的数据库是 运行 PostgreSQL 9.6.6。 Google 云 SQL 也使用 9.6.
然后我将 db-dump 复制到存储桶并尝试将其恢复为 described here。
从 cloud.google.com 的 Web 界面中生成此错误消息:
知道我该如何解决这个问题吗?
您缺少 pgcrypto 扩展。 sed post-processing 注释掉 SQL 转储文件中的所有扩展语句。您需要取消评论必要的和云 sql 支持的扩展,如 pgcrypto,只留下不支持的评论。您可以在 https://cloud.google.com/sql/docs/postgres/extensions.
找到有关支持者扩展的信息
我已经按照 Exporting data from an externally-managed database server:
中的描述转储了我的数据库pg_dump -U [USERNAME] --format=plain --no-owner \
--no-acl [DATABASE_NAME] \
| sed -E 's/(DROP|CREATE|COMMENT ON) EXTENSION/-- EXTENSION/g' > [SQL_FILE].sql
我从中转储的数据库是 运行 PostgreSQL 9.6.6。 Google 云 SQL 也使用 9.6.
然后我将 db-dump 复制到存储桶并尝试将其恢复为 described here。
从 cloud.google.com 的 Web 界面中生成此错误消息:
知道我该如何解决这个问题吗?
您缺少 pgcrypto 扩展。 sed post-processing 注释掉 SQL 转储文件中的所有扩展语句。您需要取消评论必要的和云 sql 支持的扩展,如 pgcrypto,只留下不支持的评论。您可以在 https://cloud.google.com/sql/docs/postgres/extensions.
找到有关支持者扩展的信息