数据库使用 如何调整 通过 select version(); 语句查询当前数据库版本号,版本号不同,调整的方式不同: 8.0.x及以前版本,通过重建表来调整 : 1.通过Data Studio或者Linux下使用gsql访问数据库。 2.创建新表。 说明 以下步骤语句中,table1为原表名,table1new为新表名,column1和column2为分布列名称。 CREATE TABLE IF NOT EXISTS table1new ( LIKE table1 INCLUDING ALL EXCLUDING DISTRIBUTION) DISTRIBUTE BY HASH (column1, column2); 3.迁移数据到新表。 START TRANSACTION; LOCK TABLE table1 IN ACCESS EXCLUSIVE MODE; INSERT INTO table1new SELECT FROM table1; COMMIT; 4.查看表数据是否迁移成功,删除原表。 SELECT COUNT() FROM table1new; DROP TABLE table1; 5.替换原表。 ALTER TABLE table1new RENAME TO table1; 8.1.0及以后版本后 ,通过ALTER TABLE语法进行调整,以下为示例。 1.查询当前表定义,回显发现该表分布列为clastname。 select pggettabledef('customert1'); 2.尝试执行更新分布列中的数据提示错误信息。 update customert1 set clastname 'Jimy' where ccustomersk 6885; 3.将该表的分布列修改为不会更新的列,例如ccustomersk。 alter table customert1 DISTRIBUTE BY hash (ccustomersk); 4.重新执行更新旧的分布列的数据。更新成功。 update customert1 set clastname 'Jimy' where ccustomersk 6885;