Redshift集群如何全局修改参数默认值?downcase_delimited_identifier设置问题
关于Amazon Redshift全局配置
downcase_delimited_identifier的说明 集群参数组层面的配置限制
- 你执行CLI命令时遇到的“找不到名为
downcase_delimited_identifier的参数”报错,属于Redshift的正常接口逻辑:该参数并未纳入Redshift集群参数组的可配置范围,即便是自定义参数组也不支持新增该参数的配置项。 - Redshift参数组中可供修改的预置参数,就是官方全部开放的、支持集群级持久化调整的参数全集,本身不支持用户新增自定义参数条目。
可实现全局持久化的替代配置方案
在无法通过集群参数组修改默认值的前提下,可通过以下两个级别的配置,等效实现全局范围的参数生效:
- 数据库级持久化配置
连接目标Redshift集群后,对需要访问驼峰式SUPER字段的数据库执行如下SQL命令,所有连接该数据库的新建会话都会自动加载参数配置,永久生效无需手动调整:ALTER DATABASE 目标数据库名称 SET downcase_delimited_identifier TO false; - 用户级持久化配置
如果业务存在跨数据库访问SUPER驼峰字段的需求,可对所有涉及该场景的数据库账号执行用户级配置,对应用户发起的所有会话都会自动应用对应的参数值:ALTER USER 目标用户名 SET downcase_delimited_identifier TO false;
生效规则说明
- 上述数据库级、用户级的配置优先级高于Redshift集群默认参数,配置完成后不需要重启集群,新创建的会话即可自动加载对应参数值。
- 如需达到完全覆盖全集群的效果,可对集群内所有业务数据库执行数据库级配置,搭配所有业务用户的用户级配置,即可实现业务侧无感知的全局参数生效。
内容的提问来源于stack exchange,提问作者dstandish
相关产品推荐
相关产品推荐

