模式级字符集和字符序
创建模式并指定默认字符集和字符序,创建模式请参见CREATE SCHEMA。
CREATE SCHEMA schema_name [ [DEFAULT] CHARACTER SET | CHARSET [ = ] default_charset ] [ [DEFAULT] COLLATE [ = ] default_collation ];
修改模式的默认字符集、字符序属性,修改模式请参见ALTER SCHEMA。
ALTER SCHEMA schema_name [ [DEFAULT] CHARACTER SET | CHARSET [ = ] default_charset ] [ [DEFAULT] COLLATE [ = ] default_collation ];
语法说明:
- schema_name
模式名称。
取值范围:字符串,要符合标识符的命名规范。
- default_charset
指定模式的默认字符集,单独指定时会将模式的默认字符序设置为指定的字符集的默认字符序。
- default_collation
指定模式的默认字符序,单独指定时会将模式的默认字符集设置为指定的字符序对应的字符集。
GaussDB通过以下方式选择模式的字符集和字符序:
-
如果同时指定了default_charset和default_collation,则使用字符集default_charset和字符序default_collation ,且default_charset和 default_collation需要对应,不对应会产生报错。
-
如果既不指定default_charset也不指定default_collation ,则该模式没有默认字符集和默认字符序。
示例:
1 2 3 4 5 6 7 8 9 10 11 |
-- 仅设置字符集,字符序为字符集的默认字符序。 gaussdb=# CREATE SCHEMA test CHARSET utf8; -- 仅设置字符序,字符集为字符序关联的字符集。 gaussdb=# CREATE SCHEMA test COLLATE utf8_bin; -- 同时设置字符集与字符序,字符集和字符序需对应。 gaussdb=# CREATE SCHEMA test CHARSET utf8 COLLATE utf8_bin; -- 将test的默认字符集修改为utf8mb4,默认字符序修改为utf8mb4_bin。 gaussdb=# ALTER SCHEMA test CHARSET utf8mb4 COLLATE utf8mb4_bin; |