无法识别的配置参数“默认表访问方式”谷歌云

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 脚本文件。 使用“仅数据”、“备份”选项再次转储源数据库 恢复仅数据转储文件。

它对我有用。

【讨论】:

以上是关于无法识别的配置参数“默认表访问方式”谷歌云的主要内容,如果未能解决你的问题,请参考以下文章

谷歌云平台服务帐号无法访问项目

REACT APP 无法访问谷歌云运行环境变量

Redshift ODBC 连接 - 无法识别的配置参数

自定义配置集合 - 无法识别的元素“addService”

Angular 混合应用程序中降级组件中无法识别的驼峰式参数

授权谷歌云平台服务账号只访问一个谷歌云存储桶