作者小头像 Lv.1
0 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
0
0
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2025/04/14 17:05:04 最后回复 叶剑宇 2025/04/21 10:39:24 版块 GaussDB
24 2 0
他的回复:
扩展功能为内部使用功能,不建议用户使用。注意事项•在使用CREATE EXTENSION载入扩展到数据库中之前,必须先安装好该扩展的支持文件。•CREATE EXTENSION命令安装一个新的扩展到一个数据库中,必须保证没有同名的扩展已经被安装。•安装一个扩展意味着执行一个扩展的脚本文件,这个脚本会创建一个新的SQL实体,例如函数、数据类型、操作符和索引支持的方法。•安装扩展需要有和创建他的组件对象相同的权限。对于大多数扩展这意味着需要超户或者数据库所有者的权限,对于后续的权限检查和该扩展脚本所创建的实体,运行CREATE EXTENSION命令的角色将变为扩展的所有者。•CREATE EXTENSION时如果数据库中存在与EXTENSION内同名的同义词、操作符、目录、函数、存储过程、视图、表这些数据库对象,将会导致CREATE EXTENSION失败。•数据库禁止直接创建扩展,因为扩展可能会引起非预期的错误,且在升级后面临不兼容的问题。如果需要创建扩展,需要设置enable_extension为true才能够创建。•创建扩展时,如果enable_object_special_character为off,且扩展的脚本文件中使用"@extschema@",那么扩展的支持文件中schema参数的值不能包含["$'\]中任意特殊字符。语法格式CREATE EXTENSION [ IF NOT EXISTS ] extension_name[ WITH ] [ SCHEMA schema_name ][ VERSION version ][ FROM old_version ];参数说明•IF NOT EXISTS如果系统已经存在一个同名的扩展,不会报错。这种情况下会给出一个提示。请注意该参数不保证系统存在的扩展和现在脚本创建的扩展相同。•extension_name将被安装扩展的名字,数据库将使用文件SHAREDIR/extension/extension_name.control中的详细信息创建扩展。•schema_name扩展的实例被安装在该模式下,扩展的内容可以被重新安装。指定的模式必须已经存在,如果没有指定,扩展的控制文件也不指定一个模式,这样将使用默认模式。扩展不属于任何模式,扩展在一个数据库范围内的名字是不受限制的,但是一个扩展的实例是属于一个模式的。•version安装扩展的版本,可以作为一个标识符或者字符串,默认的版本在扩展的控制文件中指定。•old_version当需要升级安装"old style" 模块中没有的内容时,需要指定FROM old_version。通过CREATE EXTENSION运行一个安装脚本将新的内容安装到扩展中,而不是创建一个新的实体。注意:SCHEMA指定了包括这些已存在实体的模式。示例--安装扩展之前需要设置enable_extension为true才能够创建。gaussdb=# SET enable_extension = true;--安装扩展。gaussdb=# CREATE EXTENSION IF NOT EXISTS security_plugin;--删除扩展。gaussdb=# DROP EXTENSION security_plugin;
发布时间 2025/04/08 10:24:33 最后回复 Jack20 2025/04/15 10:48:18 版块 GaussDB
101 3 0
发布时间 2025/04/15 10:36:56 最后回复 liubao68 2025/04/16 16:04:45 版块 GaussDB
101 3 0
他的回复:
出现以上报错:1、首先需要确定数据库DN节点的haPort(分布式存在dn和cn,集中式只有dn节点),可以通过cm_ctl query -Cpvid 查看数据库对应dn节点的haPort,[  Datanode State   ]下面展示的即为各个DN节点的node node_ip instance state其中就包含haPort使用逻辑复制功能连接时,连接串中的端口为haPort,通常默认是所连接DN的port+1端口。如:jdbc:postgresql://xxx.xxx.xxx.xxx:8001/postgres2、确保开启了白名单,在连接dn节点的时候,确保开启了连接白名单,否则会有以下报错FATAL: no gs_hba.conf entry for replication connection from host "X.X.X.X", user "Ruby", SSL off处理方法•针对用户没有解码权限场景:为解码用户(如下以Ruby为例)赋予解码角色权限,执行以下SQL语句:GRANT gs_role_replication TO Ruby;•针对连接CN解码白名单未配置场景:使用gs_guc工具,为用户名(以Ruby为例)和用户所在机器IP(如下用X.X.X.X指代,实际使用时需替换为正确IP)在数据库解码节点上配置白名单:gs_guc reload -Z coordinator -N all -I all -h 'host replication Ruby  X.X.X.X/32 sha256'•针对直连DN解码白名单未配置场景:使用gs_guc工具,为用户名(以Ruby为例)和用户所在机器IP(如下用X.X.X.X指代,实际使用时需替换为正确IP)在数据库解码节点上配置白名单:gs_guc reload -Z datanode -N all -I all -h 'host replication Ruby  X.X.X.X/32 sha256'•针对连接CN解码时,指定用户未在主DN上配置来自CN连接的白名单:使用gs_guc工具,为用户名(以Ruby为例)和解码连接CN所在机器IP(如下用X.X.X.X指代,实际使用时需替换为正确IP)在主DN节点上配置白名单:gs_guc reload -Z datanode -N all -I all -h 'host replication Ruby  X.X.X.X/32 trust'
发布时间 2025/04/14 17:11:43 最后回复 叶剑宇 2025/04/15 10:47:35 版块 GaussDB
29 2 0
发布时间 2025/03/26 18:02:19 最后回复 林欣 2025/03/31 12:04:39 版块 GaussDB
103 6 0
他的回复:
首先需要确定以下两点:检查服务器端的SSL配置文件,确保其包含正确的证书路径和密钥信息。如果您使用的是自签名证书,可能需要在客户端上手动信任该证书。要生成用于GaussDB的SSL证书,请遵循以下步骤:1. **搭建CA环境**:   ```bash   mkdir test   cd test   cp /etc/pki/tls/openssl.cnf ./   mkdir ./demoCA ./demoCA/newcerts ./demoCA/private   chmod 700 ./demoCA/private   echo '01' > ./demoCA/serial   touch ./demoCA/index.txt      # 修改openssl.cnf配置文件中的参数dir和default_md为当前目录和sha256。2. 生成根私钥:# RSA私钥:openssl genrsa -aes256 -out demoCA/private/cakey.pem 2048# 或者ECDSA私钥:openssl ecparam -name prime256v1 -genkey -out demoCA/private/cakey.pem3. 生成根证书请求文件:openssl req \    -config openssl.cnf \    -new \    -key demoCA/private/cakey.pem \    -out demoCA/careq.pem \    -subj "/C=CN/ST=Beijing/O=huawei/OU=gauss/CN=root"# 在openssl.cnf配置文件中设置[basicConstraints] CA:TRUE。# 生成根自签名证书:openssl ca \    -config openssl.cnf \    -out demoCA/cacert.pem \    -keyfile demoCA/private/cakey.pem \    selfsign infiles demoCA/careq.pem     4. 服务端证书私钥:```bash# RSA服务端私钥:openssl genrsa aes256 out server.key 2048# 或者ECDSA服务端私钥:openssl ecparam name prime256v1 genkey out server.key# 对ECDSA服务端私钥进行加密保护,并根据提示输入加密密码:openssl ec in server.key aes256 out server.key# 根据提示输入服务端私钥的密码,加密后会生成server.key.cipher,server.key.rand两个私钥密码保护文件。gs_guc encrypt M server D .5. 服务端证书请求文件:# 生成服务器证书请求文件server.req:openssl req config openssl.cnf new key server.key out server.req subj C CN ST Beijing O huawei OU gauss CN server# 在openssl.cnf配置文件中设置[basicConstraints] CA:FALSE。# 修改demoCA/index.txt.attr中属性为no。# 对服务器证书请求进行签发,签发后将产生正式的服务端证书server.crt:openssl ca config openssl cnf in server.req out server.crt days 7300 md sha256