HighGo DB之日常维护
本专栏主要介绍了瀚高数据库日常维护的相关内容。
瀚高PG实验室
瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。
展开
-
瀚高数据库中,对象不存在问题的处理思路及解决方案
使用瀚高数据库可能会遇到应用系统中报对象等不存在的问题,可参照本文处理。原创 2023-07-27 14:23:59 · 2283 阅读 · 1 评论 -
create database创建数据库失败
create database创建数据库失败原创 2023-07-19 17:59:45 · 1697 阅读 · 0 评论 -
一体机HDATA网络交换机用户密码修改
一体机HDATA网络交换机用户密码修改原创 2023-03-28 10:36:36 · 502 阅读 · 0 评论 -
一体机HDATA节点添加和删除
一体机可在线添加、删除数据库集群节点。原创 2023-03-06 17:03:55 · 525 阅读 · 0 评论 -
逻辑复制环境删除订阅报错 replication slot does not exist
逻辑复制环境删除订阅报错 replication slot does not exist原创 2023-01-13 10:23:34 · 649 阅读 · 0 评论 -
hgdb数据编辑
数据编辑(Data Redaction)功能是一种动态数据脱敏机制,针对数据查询时的敏感数据进行动态的安全保护,通过设置策略对表的字段进行动态查询时动态修订。原创 2022-11-30 10:34:33 · 1081 阅读 · 0 评论 -
db_ha集群日常维护命令
介绍db_ha集群日常操作维护命令原创 2022-10-17 14:01:26 · 942 阅读 · 0 评论 -
db_ha集群添加/删除节点
本文档用于指导db_ha集群添加/删除节点操作。原创 2022-10-14 16:42:30 · 497 阅读 · 0 评论 -
db_ha集群配置文件参数含义详解
本文章详细介绍了db_ha高可用集群各参数的含义。原创 2022-09-08 09:56:49 · 761 阅读 · 0 评论 -
瀚高数据库DML自动转发功能介绍(数据库层面)
本文用于介绍瀚高在数据库层面开发的数据库转发功能,通过示例演示DML自动转发功能。原创 2022-08-24 10:37:40 · 611 阅读 · 0 评论 -
db_backup与NAS/NFS备份路径结合使用的建议
本文旨在提供使用db_backup做备份并将备份文件直接存储在NAS上的挂载建议。原创 2022-08-18 09:51:57 · 384 阅读 · 0 评论 -
通用机环境下安全版单机数据库使用非root用户管理的解决方案
本文旨在提供通用机环境下瀚高数据库安全版单机场景使用非root用户管理的解决方案。原创 2022-07-22 11:01:54 · 255 阅读 · 0 评论 -
HAC集群修改为单机
本文档用于指导HAC集群修改为单机原创 2022-07-19 11:29:55 · 253 阅读 · 4 评论 -
HAC集群添加新节点
本文档用于指导HAC集群添加新节点原创 2022-07-14 16:26:24 · 230 阅读 · 0 评论 -
pg12中oid2name新增选项介绍
oid2name是一个帮助管理员检查PostgreSQL使用的文件结构的工具程序。本文主要用于介绍与pg10.5相比,pg12在oid2name命令中的新增选项。原创 2022-06-06 10:19:48 · 449 阅读 · 0 评论 -
HAC集群更改IP(单节点更改、全部节点更改)
瀚高数据库目录环境文档用途详细信息环境系统平台:Linux x86-64 Red Hat Enterprise Linux 7版本:4.5文档用途本文档用于指导HAC集群更改IP(单节点更改、全部节点更改)。详细信息一、停掉hghac服务1、按照先停备库,最后停主库原则停服务2、各个节点查询进程,有sender节点的是主库,有receiver节点的是备库ps -ef | grep senderroot 26418 3233 0 6月11 ? 00:00:22原创 2022-05-27 16:02:26 · 667 阅读 · 0 评论 -
postgresql根据执行计划优化SQL
目录环境文档用途详细信息环境系统平台:N/A版本:5.6.5文档用途postgresql根据执行计划优化SQL详细信息1、执行计划路径选择postgresql查询规划过程中,查询请求的不同执行方案是通过建立不同的路径来表达的,在生成许多符合条件的路径之后,要从中选择出代价最小的路径(基于成本运算),把它转化为一个计划,传递给执行器执...原创 2020-03-25 13:45:56 · 1195 阅读 · 2 评论 -
连接数据库失败提示hba.conf不符合的处理方法
瀚高数据库目录环境文档用途详细信息环境系统平台:N/A版本:6.0,5.6.5,5.6.4,5.6.3,5.6.1,4.5.2,4.5,4.3.4.9,4.3.4.8,4.3.4.7,4.3.4.6,4.3.4.5,4.3.4.4,4.3.4.3,4.3.4.2,4.3.4,4.7.8,4.7.7,4.7.6,4.7.5,4.3.2,4.1.1文档用途本文主要介绍如何对 hba.conf 进行合理的配置,以防止因hba.conf文件配置不合理从而连接不上数据库。详细信息1. 客户端认证原创 2022-05-10 15:31:42 · 1871 阅读 · 0 评论 -
HGDB中如何为大表增加新主键
瀚高数据库目录环境文档用途详细信息环境系统平台:N/A版本:4.5文档用途本文主要介绍在瀚高数据库中如何为大表增加新主键,便于业务改造和查询。详细信息可以根据数字类型来设计alter table 表名 add 新字段名 bigserial;alter table 表名 add constraint 约束名 unique (新字段名); 例如:alter table tt add zi bigserial;alter table tt add constraint原创 2022-04-25 10:27:09 · 1083 阅读 · 0 评论 -
HAC集群部署vip及相关操作
瀚高数据库目录文档用途详细信息文档用途本文档用于指导HAC集群vip部署及相关操作详细信息HAC集群支持用户配置在特定事件发生时触发的回调脚本,因此可以通过callback脚本实现vip的添加、漂移、删除1、vip的部署vip相关文件会在HAC集群安装包的同一目录下,其中loadvip.sh为vip脚本(见附件),vip.env为脚本的变量文件[root@host hghac]# lsetcd hghac hghac.service hghactl hghac-vip.ser原创 2022-04-13 10:24:46 · 1648 阅读 · 0 评论 -
HGHAC已保留的连接位置为执行非复制请求的超级用户预留
瀚高数据库目录环境症状问题原因解决方案环境系统平台:N/A版本:4.5症状HGHAC集群中报错:已保留的连接位置为执行非复制请求的超级用户预留应用报错:com.highgo.jdbc.util.PSQLException: 致命错误: 已保留的连接位置为执行非复制请求的超级用户预留问题原因HGHAC集群的连接数已满,且无法通过hghac-see.yaml文件或postgresql.auto.conf文件修改最大连接数生效。注意,数据库参数优先级由高到低依次排序如下:1、hg原创 2022-04-11 15:07:07 · 1426 阅读 · 0 评论 -
HAC集群中,计划重新初始化数据库使用原集群配置的操作方法
瀚高数据库目录环境文档用途详细信息环境系统平台:N/A版本:4.5文档用途HAC集群环境中,因某种特殊原因需要删除当前data目录并重建数据库,能够快速搭建集群;避免重新安装。详细信息1、所有节点停止hghac服务,删除原data目录,重新在主节点initdb(原配置的HAC集群文件不变)[root@db data]# systemctl stop hghac-vip[root@db data]# initdb -e sm4 -c "echo *******" -D /db/h原创 2022-04-08 11:33:29 · 530 阅读 · 1 评论 -
repmgr集群docker环境开启SQL转发功能报错
目录环境BUG/漏洞编码症状触发条件解决方案环境系统平台:中标麒麟(CPU龙芯)7版本:4.3.4.6BUG/漏洞编码症状连接数据库报错:FATAL: PostgresMain 4292 SQL-Fonward could not create connection with master node!!!触发条件V4.3.4.6 版本的 repmgr集群运行在docker环境下时,当集群发生切换后使用客户端连接数据库触发报错。解决方案该报错可通过修改备库recovery文件解原创 2022-02-14 14:25:05 · 554 阅读 · 0 评论 -
启动hghac服务报错:OSError: [Errno 98] Address already in use
目录环境症状问题原因解决方案环境系统平台:N/A版本:4.5症状启动hghac服务无法正常启动,检查服务状态报错:OSError: [Errno 98] Address already in use。查看patroni日志提示:ERROR: Couldn't start a service on '0.0.0.0:8008', please check your `restapi.listen` configuration问题原因端口被占用解决方案1.使用netstat -t原创 2022-02-14 14:18:07 · 700 阅读 · 0 评论 -
如何将瀚高数据库单机数据导入HGDW
目录文档用途详细信息本文档主要用于指导工程师将瀚高数据库单机数据导入到HGDW中。详细信息1、将瀚高数据库进行文本方式备份,备份格式如下:pg_dump -Fp -h IP地址 -p 端口号 -d 数据库名 -U 用户名 -f 导出文件绝对地址及名称2、将导出的备份文件上传至HGDW服务器。3、导入至HGDW中:(1)集群导入psql -U 用户名 -d 数据库名 -f 要导入的文件绝对地址(2)单节点导入PGOPTIONS="-c gp_session_role=utility"原创 2022-02-08 14:12:46 · 1293 阅读 · 0 评论 -
Excel导入null错误解决方式
目录环境文档用途详细信息环境系统平台:Microsoft Windows (64-bit) 10版本:5.6.5文档用途用hgdbdeveloper-2021-03-03进行Excel导入时报null错误的解决方式介绍详细信息1、HGDB表创建以及测试数据添加create table testtab(id int,name varchar(20));insert into testtab select generate_series(1,10),'N' || generate_se原创 2022-01-25 16:21:07 · 4462 阅读 · 0 评论 -
如何禁止数据库执行drop table的操作?
目录文档用途详细信息文档用途本文档旨在介绍如何在数据库中通过事件触发器禁止用户执行drop table的操作。详细信息创建触发器函数:CREATE OR REPLACE FUNCTION abort_DROP_TABLE()RETURNS event_triggerLANGUAGE plpgsqlAS $$BEGIN if tg_tag = 'DROP TABLE' THEN RAISE EXCEPTION 'command % is disabled', t原创 2022-01-25 15:31:19 · 633 阅读 · 0 评论 -
瀚高数据库块恢复示例
目录文档用途详细信息文档用途本文档旨在介绍瀚高数据库中的块恢复功能。详细信息1、配置归档开启归档alter system set archive_mode = 'on';配置归档目录alter system set archive_directory = '/opt/HighGo5.6.5-cluster/data/rman/rman_arch';2、配置块跟踪参数需要在配置文件postgresql.conf 中对如下配置项做出修改:# - Block change track原创 2022-01-18 11:20:53 · 800 阅读 · 0 评论 -
为什么停库可能会很慢?
目录文档用途详细信息文档用途在实际生产环境中,运维人员会遇到执行 pg_ctl stop 命令后需要等待一段时间后才能将数据库关闭。等待时间好像没有规律,有时只需一两秒,有时却需要几分钟。那么是什么原因导致该问题的出现呢?本文档旨在帮助理解为何某些情况下停库速度需要花费较长的时间。详细信息数据库有3种停库模式:“Smart”模式等待所有客户端断开连接以及任何在线备份结束。如果该服务器是热备,一旦所有的客户端已经断开连接,恢复和流复制将被终止。“Fast”模式(默认)不会等待客户端断开连接并且原创 2022-01-18 11:08:32 · 1311 阅读 · 0 评论 -
如何查看数据库当前连接数和最大连接数
目录环境文档用途详细信息环境系统平台:中标麒麟(CPU龙芯)7,中标麒麟(CPU申威)7,中标麒麟(CPU海光)7,Linux x86-64 Red Hat Enterprise Linux 7版本:6.0,5.6.5,4.5,4.5.2,4.3.4.9文档用途本文主要用于介绍查看数据库连接数方面的SQL语句。详细信息1、查看数据库当前连接数select count(*) from pg_stat_activity;[highgo@host1 ~]$ psqlType "help"原创 2022-01-07 16:44:35 · 8609 阅读 · 0 评论 -
REPMGR脑裂问题紧急处理步骤
目录环境症状问题原因解决方案环境系统平台:N/A版本:5.6.4,5.6.5症状Repmgr集群脑裂是指数据库集主节点和至少一个备节点均认为自己为主库导致集群状态混乱,此时数据库写入数据则只会写入到VIP所在节点,状态混乱节点无法正常同步数据。Repmgr集群脑裂状态通常如下所示:[highgo@hgdb ~]$ repmgr cluster showID | Name | Role | Status | Upstream | Locatio原创 2022-01-05 10:51:02 · 755 阅读 · 0 评论 -
重启数据库集群服务器( 主库服务器/备库服务器 )步骤
目录文档用途详细信息文档用途本文旨在指导工程师如何重启数据库集群服务器。详细信息集群种类:1、普通流复制集群(异步&同步)2、Repmgr集群(高可用类)3、Sharding集群(负载均衡类)4、ETCD集群(高可用类)集群重启顺序:1、关闭备库2、关闭主库3、启动主库4、启动备库注意点:①优先关闭备库的原因是防止集群误切换。②关闭数据库之前应检查是否有应用进程连接使用,是否有对应的守护进程,防止数据库无法关闭或被反复拉起。③优先启动主库的原因是主库是写入节点,原创 2022-01-05 10:45:27 · 1369 阅读 · 0 评论 -
repmgr 集群双主问题处理
目录环境症状问题原因解决方案环境系统平台:N/A版本:5.6.5症状本文档旨在介绍出现集群出现双主问题时如何处理。问题原因repmgr 出现切换后,原主库停止服务。手动启动原主库会导致数据库集群状态异常,变为双主。解决方案原主库(192.168.80.221)查询集群状态,发现备库1(192.168.80.222)已经成为新的主库,但是原主库(192.168.80.221)仍然以主库的模式启动,这时候集群就出现了双主的问题。检查后发现,备库2(192.168.80.236)已经连接原创 2022-01-05 10:12:06 · 1423 阅读 · 1 评论 -
表膨胀的查询方法
目录文档用途详细信息文档用途本文旨在介绍表膨胀的查询方法。详细信息可以通过如下sql语句定位膨胀的表。WITH constants AS( SELECT current_setting('block_size')::NUMERIC AS bs, 23 AS hdr, 4 AS ma),bloat_info AS( SELECT ma, bs, schemaname, tablename, ( datawidth +(原创 2022-01-04 16:09:41 · 587 阅读 · 0 评论 -
将瀚高数据库表内数据导出Excel格式
目录文档用途详细信息文档用途本文主要用于介绍如何使用copy或者\copy命令将瀚高数据库内表的数据导出为excel格式,方便用户查看。详细信息copy命令同\copy命令语法上相同,区别在于copy必须使用能够超级用户使用,copy … to file 中的文件都是数据库服务器所在的服务器上的文件,而\copy 一般用户即可执行且\copy 保存或者读取的文件是在客户端所在的服务器,本文主要以copy命令作为介绍重点,使用copy命令将表内数据倒为csv格式文件即为excel格式。1、cop原创 2021-12-29 16:59:14 · 812 阅读 · 0 评论 -
瀚高数据库企业版中的权限问题
目录文档用途详细信息文档用途企业版V6.0.1中,普通用户可以连接查询其他用户owner的数据库,并且可以在他的public模式下进行create、delete、update、drop自己的表等操作,存在安全隐患。详细信息问题highgo=# create user a with password 'xxxxxxxx'; --创建a用户CREATE ROLEhighgo=# create database db_a with owner a; --创建数据库db_a,owner为用原创 2021-12-29 15:48:54 · 935 阅读 · 0 评论 -
如何查看SQL的执行计划
目录环境文档用途详细信息环境系统平台:N/A版本:6.0,4.5.2,5.6.5,4.3.4.9文档用途本文主要用于介绍如何通过explain命令查看SQL的详细执行计划。详细信息一、explain命令详解1、语法EXPLAIN [ ( option [, ...] ) ] statementEXPLAIN [ ANALYZE ] [ VERBOSE ] statemen2、选项说明option可以有以下选项analyze:执行语句并显示真正的运行时间和其它统计信息,会真原创 2021-12-28 16:57:44 · 5890 阅读 · 0 评论 -
HighgoDB查询慢SQL和阻塞SQL
目录环境文档用途详细信息环境系统平台:N/A版本:6.0,5.6.5,5.6.4,5.6.3,5.6.1,4.5.2,4.5,4.3.4.9,4.3.4.8,4.3.4.7,4.3.4.6,4.3.4.5,4.3.4.4,4.3.4.3,4.3.4.2,4.3.4,4.7.8,4.7.7,4.7.6,4.7.5,4.3.2文档用途本文介绍了如何对数据库日志进行分析,并获取执行慢的SQL语句。并提供了查询阻塞会话的SQL语句。详细信息1.修改配置,记录SQL信息修改配置文件postgre原创 2021-12-20 09:32:47 · 933 阅读 · 0 评论 -
关于HGDB安全版初始化失败的常见原因列举(权限、用户)
目录环境症状问题原因解决方案环境系统平台:Linux x86-64 Red Hat Enterprise Linux 7版本:4.5.2,4.3.4.9症状当安装完安全版数据库,手动初始化数据库时提示失败。问题原因权限、用户、环境变量等因素都可能导致此问题发生。解决方案一、环境变量因素1、环境变量文件未配置[root@mode2 ~]# initdb -D $PGDATA -e sm4 -c "echo 12345678" > /opt/HighGo4.5.5-see/原创 2021-12-15 16:28:15 · 5005 阅读 · 0 评论 -
瀚高数据库集群切换后VIP丢失的处理方法
目录环境文档用途详细信息环境系统平台:Linux x86-64 Red Hat Enterprise Linux 7,中标麒麟(CPU申威)7,中标麒麟(CPU海光)7,中标麒麟(CPU龙芯)7,中标麒麟(CPU飞腾)7版本:5.6.5文档用途本文主要用于介绍当瀚高数据库集群切换后,出现VIP丢失情况的处理方法。详细信息对于此类情况,主要有两种处理方法。方法一、在新主节点重新注册主节点状态repmgr primary register -F方法二、手动执行IP绑定的操作系统命令原创 2021-12-15 15:49:09 · 1758 阅读 · 0 评论