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

时间:2024-04-26 16:15:51

修改表示例

  • 重命名表
    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 'XXXXXXXXXX';
    
    --修改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=# 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-v3-gaussdb/gaussdb-12-0487.html