【FAQ合集贴】GaussDB "常见问题" 及 "解决方案"(1 —— 30)
https://bbs.huaweicloud.com/forum/thread-0220112886099489058-1-1.html
接上篇 【FAQ合集贴】GaussDB "常见问题" 及 "解决方案"(31 —— 40)
https://bbs.huaweicloud.com/forum/thread-0245115388736257001-1-1.html
接上篇 【FAQ合集贴】GaussDB "常见问题" 及 "解决方案"(41 —— 50)
https://bbs.huaweicloud.com/forum/thread-0258117729928632017-1-1.html
51. 高斯数据库varchar能兼容中文吗?
create table t (name varchar(1));
insert into t values('a');
insert into t values('中');
答:postgres中:字符集是UTF8,varchar中文和字符数字一样占用1个字符 但是GaussDB不一样,Gaussdb中,中文占3个字符,英文占1个字符。 因此,可以修改下数据类型,使用nvarchar2来代替
- 高斯数据库报错怎么处理 错误为:
duplicate key value violates unique constraint "pk_p"
答:不要在一个事务里DELETE + insert同一条记录 ,直接用insert on duplicate do nothing
- GaussDB删除存储过程的的语法是啥?
答:语法格式
DROP PROCEDURE [ IF EXISTS ] [schema_name.]procedure_name;
参数说明
- IF EXISTS 使用IF EXISTS时,如果要删除的存储过程不存在,删除操作能够执行成功,不会报错。
- schema_name 存储过程所有者。
- procedure_name 要删除的存储过程的名称。
示例:
DROP PROCEDURE IF EXISTS p_no_param;
- 高斯支持gin索引不
答:astore支持gin索引,ustore目前只支持btree索引
GIN(Generalized Inverted Index)通用倒排索引。设计为处理索引项为组合值的情况,查询时需要通过索引搜索出出现在组合值中的特定元素值。例如,文档是由多个单词组成,需要查询出文档中包含的特定单词。 使用item表示索引的组合值,key表示一个元素值。GIN用来存储和搜索key,而不是item。 GIN索引存储一系列(key,posting list)键值对,这里的posting list是一组出现key的行ID。由于每个item都可能包含多个key,同一个行ID可能会出现在多个posting list中,而每个key值只被存储一次,所以在相同的key在item中出现多次的情况下,GIN索引是非常简洁的。 因为GIN索引的访问方式不需要了解他的运行方式,所以GIN索引是通用的。GIN索引使用为特殊数据类型定义的策略。策略定义了如何从索引选项和查询条件中抽出key,以及如何确定在查询中包含某些key值的行是否实际满足查询条件。 官方文档:https://www.bookstack.cn/read/opengauss-1.0-zh/57f4d9a2d384e7b2.md
- opengauss支不支持逻辑复制槽failover
答:gaussdb 是支持逻辑复制槽failover,但是物理复制槽好像是不支持的。 openGauss除了流复制主备双机外,还支持逻辑复制。在逻辑复制中把主库称为源端库,备库称为目标端数据库。源端数据库根据预先指定好的逻辑解析规则对WAL文件进行解析,把DML操作解析成一定的格式的逻辑日志(例如可以解析成标准SQL语句)。源端数据库把逻辑日志发给目标端数据库,目标端数据库收到后进行回放,从而实现数据同步。逻辑复制只有DML操作。逻辑复制可以实现跨版本复制、异构数据库复制、双写数据库复制、表级别复制等。




