云数据库 GaussDB-ALTER TABLE:修改表示例

时间:2025-01-26 10:48:21

修改表示例

  • 重命名表
    gaussdb=# CREATE TABLE aa(c1 int, c2 int);gaussdb=# ALTER TABLE IF EXISTS aa RENAME TO test_alt1;
  • 修改表所属模式
    --创建模式test_schema。gaussdb=# CREATE SCHEMA test_schema;--把表test_alt1的所属模式修改为test_schema。gaussdb=# ALTER TABLE test_alt1 SET SCHEMA test_schema;--查询表信息。gaussdb=# SELECT schemaname,tablename FROM pg_tables WHERE tablename = 'test_alt1'; schemaname  | tablename -------------+----------- test_schema | test_alt1(1 row)
  • 修改表的所有者
    --创建用户test_user。gaussdb=# CREATE USER test_user PASSWORD '********';--修改test_alt1表的所有者为test_user。gaussdb=# ALTER TABLE IF EXISTS test_schema.test_alt1 OWNER TO test_user;--查看。gaussdb=# SELECT tablename, schemaname, tableowner FROM pg_tables WHERE tablename = 'test_alt1'; tablename | schemaname  | tableowner -----------+-------------+------------ test_alt1 | test_schema | test_user(1 row)
  • 修改表的表空间
    --创建表空间tbs_data1。gaussdb=# CREATE TABLESPACE tbs_data1 RELATIVE LOCATION 'tablespace1/tbs_data1';--修改test_alt1表的空间为tbs_data1。gaussdb=# ALTER TABLE test_schema.test_alt1 SET TABLESPACE tbs_data1;--查看。gaussdb=# SELECT tablename, tablespace FROM pg_tables WHERE tablename = 'test_alt1'; tablename | tablespace -----------+------------ test_alt1 | tbs_data1(1 row)--创建表gaussdb=# CREATE TABLE test(c1 int, c2 int);--在线修改test表的空间为tbs_data1。gaussdb=# ALTER TABLE ONLINE test SET TABLESPACE tbs_data1;--查看。gaussdb=# SELECT tablename, tablespace FROM pg_tables WHERE tablename = 'test'; tablename | tablespace -----------+------------ test| tbs_data1(1 row)--删除。gaussdb=# DROP TABLE test ; gaussdb=# DROP TABLE test_schema.test_alt1; gaussdb=# DROP TABLESPACE tbs_data1; gaussdb=# DROP SCHEMA test_schema; gaussdb=# DROP USER test_user;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0509.html