由于 PostgreSQL 是大小写敏感的,并默认对SQL语句转化为小写。刚开始使用时我以为是不支持_
而修改表名来解决问题,然而在今天有个表没有_
还是不停提示对象 "xxx" 不存在
后来一通测试才发现好像是“不支持”大写的问题,一开始我是手动将表重命名为全部小写的来创建分片表的。但是这不太现实,不可能没个表都修改一遍,虽然可以通过代码转小写让后续创建的表直接小写。
最后经过一波搜索找不到Citus不支持大写的相关结果,但转眼一想可能是Postgresql大小写敏感的原因导致的。。。。。。
虽然搜索到了加双引号就可以解决问题了,一开始直接把单引号改成双引号会报错。后来使用骚操作单引号再加双引号给解决这个问题了,为了便于后续使用进行记录。
CREATE TABLE "public"."User_Name" ( "id" varchar(255) NOT NULL, "name" varchar(255), PRIMARY KEY ("id") ); SELECT create_distributed_table('"User_Name"', 'id');
为了给自己一个面子,在这之前的创建各种大小写下划线的过程就不记录在这上面了。
ChiuYut
2021年7月1日