gpt4 book ai didi

postgresql - 无法将 PostgreSQL10 转储导入 9.6 数据库

转载 作者:行者123 更新时间:2023-11-29 11:13:28 24 4
gpt4 key购买 nike

我需要以某种方式将 v10 转储文件转换为与 9.6 兼容的文件

Google 的 Cloud SQL 运行 PostgreSQL 版本 9.6,而我的数据库自创建以来一直在版本 10 上运行。

问题:尝试将数据库导入 Cloud SQL 时,我得到了 an unknown error has occurred.死亡讯息。

我已经尝试在导入到 Cloud SQL 时注释掉我的 postgis/其他扩展,但无济于事。

我试过使用 psql my_96_db < my_10.sql并得到大量这样的错误:

...
CREATE TABLE
ERROR: syntax error at or near "AS"
LINE 2: AS integer
^
ERROR: relation "authentication_phonecontact_id_seq" does not exist
CREATE TABLE
...

我已经尝试在我的 v10 上使用 postgres 9.6 的 pg_restore pg_dump -Fc命令,但它不会成功导入到 9.6 数据库中。输出中的许多失败之一的示例是

pg_restore: [archiver (db)] could not execute query: ERROR:  relation "public.authentication_referral_id_seq" does not exist
LINE 1: SELECT pg_catalog.setval('public.authentication_referral_id_...
^
Command was: SELECT pg_catalog.setval('public.authentication_referral_id_seq', 1, false);

最佳答案

从您显示的错误消息来看,您必须编辑 SQL 转储并删除所有出现的 AS integer来自所有CREATE SEQUENCE声明。

AS <em>data_type</em> CREATE SEQUENCE的条款是 PostgreSQL v10 中的新内容,旧的服务器版本将无法理解。

关于postgresql - 无法将 PostgreSQL10 转储导入 9.6 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49547602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com