无法识别的配置参数“默认表访问方式”谷歌云
Posted
技术标签:
【中文标题】无法识别的配置参数“默认表访问方式”谷歌云【英文标题】:unrecognized configuration parameter "default table access method" google cloud 【发布时间】:2020-06-16 06:30:16 【问题描述】:我尝试将一些文件导入 PostgreSQL 数据库,但出现此错误:
Falha Importar:
SET
SET
SET
SET
SET
set_config ------------
(1 row)
SET
SET
SET
SET
SET
Import error: exit status 3 ERROR: unrecognized configuration parameter "default_table_access_method"
【问题讨论】:
您好,请问您是如何导出和导入数据库的? 【参考方案1】:您正在将 PostgreSQL v12 pg_dump
导入显然基于 PostgreSQL 早期版本的东西。
这个错误是无害的(参数default_table_access_method
是在 v12 中引入的),但您可能会遇到其他 v12 新功能更有趣的问题。如果导入的其余部分没有错误,您可能没问题,但请记住,不支持降级 PostgreSQL。
您最好始终使用相同的版本。如果您因为托管数据库是封闭源代码叉而无法在本地拥有它,那么最好不要使用它。
【讨论】:
例如我有一些初始数据集和表设置,我知道它们适用于多个 PSQL 版本 ->sed -i 's/SET default_table_access_method = heap;/-- SET default_table_access_method = heap;/' <DUMP>
是一个可行的解决方案。
@AdamKalisz ,这个问题还有另一个优雅的解决方案 - 只需使用 PSQL 元命令,因此您可以在将脚本导入旧版本时跳过脚本的某些部分。例如,要跳过 v12 中引入的语句,可以将它们包装在 \if :VERSION_NUM >= 120000 ... \endif
中(它应该是多行的)。参考postgresql.org/docs/10/app-psql.html【参考方案2】:
这是我的解决方法:
-
使用 pdAdmin 转储,设置为 SQL、Plain 和“仅模式”,并保存到本地文件夹。
编辑
SQL
文件,(文本格式)
注释掉“-- 来自 V 12 的错误:SET default_table_access_method = heap;”
使用 pgAdmin 或其他工具运行 SQL 脚本文件。
使用“仅数据”、“备份”选项再次转储源数据库
恢复仅数据转储文件。
它对我有用。
【讨论】:
以上是关于无法识别的配置参数“默认表访问方式”谷歌云的主要内容,如果未能解决你的问题,请参考以下文章