Amazon SQL错误[500310]:DISTRIBUTED语法错误排查求助
解决DISTRIBUTED BY语法错误问题
问题根源
DISTRIBUTED BY是Amazon Redshift专属的表分布配置语法,若你在不支持该语法的数据库(比如Amazon RDS PostgreSQL、标准PostgreSQL)中执行这段SQL,就会触发语法错误。
针对性修复方案
根据你实际使用的数据库类型,选择对应的修改方式:
情况1:使用Amazon Redshift
你的SQL语法本身是正确的,报错大概率是因为执行环境错误(比如误连接到了非Redshift数据库)。请确认数据库连接目标,重新执行原SQL即可。
情况2:使用PostgreSQL(含Amazon RDS PostgreSQL)
直接移除DISTRIBUTED BY子句,标准PostgreSQL不支持该语法。修改后的SQL如下:
Create table kwh_blocks_740 ( KWH_BLOCKS smallint NOT NULL, DESCRIPTION character varying(100) not null );
情况3:需在PostgreSQL中实现类似数据分布/分区逻辑
如果你的需求是对数据进行分区管理,可以使用PostgreSQL原生的PARTITION BY语法,示例如下:
Create table kwh_blocks_740 ( KWH_BLOCKS smallint NOT NULL, DESCRIPTION character varying(100) not null ) PARTITION BY RANGE (KWH_BLOCKS);
内容的提问来源于stack exchange,提问作者Bhumika
相关产品推荐
相关产品推荐

