
Postgresql数据库
文章平均质量分 89
关系型开源数据库
king_harry
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
postgresql-14 高可用(pgpool)部署
然后,我们在PostgreSQL主服务器(server1)的数据库集群目录中创建recovery_1st_stage和pgpool_remote_start,并添加执行权限。#为了使用在线恢复功能,需要pgpool_recovery、pgpool_remote_start、pgpool_switch_xlog等功能,因此我们需要在PostgreSQL server server1的template1上安装pgpool_recovery,以后新建数据库将自动安装pgpool_recovery插件。原创 2025-05-22 23:29:17 · 1054 阅读 · 0 评论 -
PostgreSQL14 +patroni+etcd+haproxy+keepalived 集群部署指南
Patroni接管PostgreSQL数据库的启停,同时监控本地的PostgreSQL数据库,并将本地的PostgreSQL数据库信息写入DCS。Patroni的主备端是通过是否能获得 leader key 来控制的,获取到了leader key的Patroni为主节点,其它的为备节点。如果主库(Primary)故障,Patroni把一个从库(Standby)拉起来,作为新的主(Primary)数据库, 如果一个故障PostgreSQL被抢救过来了,能够重新自动或手动加入集群。原创 2025-05-22 23:22:36 · 1267 阅读 · 0 评论 -
Postgresql14+Repmgr部署
repmgr 构建在 PostgreSQL 基础上,负责主从拓扑管理、复制配置、故障转移(failover)、主备切换(switchover)等功能。⚠️ 要实现自动 failover,必须启用 repmgrd,并配置好 promote_command 与 follow_command。上述过程为配置3节点间的postgres的用户的互信。注意:切换前要查看各节点同步状态,保证LSN唯一且相同,否则切换会失败并导致主库宕机。因为备库要通过repmgr同步来自主库的数据,所以要事先删除备库数据。原创 2025-05-22 22:20:10 · 940 阅读 · 0 评论 -
PostgreSQL 14 pacemaker 高可用集群
二、配置pacemaker数据库集群 [any one host] (一个节点配置即可,会自动同步到另外一个节点,master节点执行)Web UI + CLI 集群管理组件,简化 pcs 工具使用,提供节点认证与配置同步。集群资源管理器,负责数据库服务、VIP 等资源的启停与主备切换。宕机启动时,需要删除临时锁文件方可进行集群角色转换。宕机启动时,需要删除临时锁文件方可进行集群角色转换。,只需重启服务,软件会自动把数据库拉起。,只需重启服务,软件会自动把数据库拉起。数据库核心,负责数据存储与复制。原创 2025-05-22 21:31:30 · 853 阅读 · 0 评论 -
psotgresql18 源码编译安装
PostgreSQL 18 已转向 DocBook XML 构建体系(SGML 未来将被弃用)。# 请先将 postgresql-18beta1.tar.gz 放在当前目录下,本脚本中上传至/root目录下。echo "PostgreSQL 18 安装完成。根据需要,修改postgresql.conf和pg_hba.conf,修改完成后,启动数据库。# 1. 创建 postgres 用户(如已存在则跳过)# 一键安装 PostgreSQL 18脚本。数据库:postgresql18beta1。原创 2025-05-19 21:43:12 · 741 阅读 · 0 评论 -
PostgreSQL pgrowlocks 扩展详解
pgrowlocks 是 PostgreSQL 官方提供的扩展模块,用于查看指定表中每一行当前的。加锁事务对应的后端进程 PID 数组(可结合 pg_stat_activity 使用)在template1模版数据库中安装扩展,随后新建数据库自带pgrowlocks。锁模式(如 'For Update'、'For Share' 等)持锁事务的Transaction ID(主事务)多事务下所有持锁事务的事务 ID 数组。是否是多事务锁(即多事务持有此行锁)支持显示多事务共持一行锁的情况。原创 2025-05-15 17:06:31 · 1012 阅读 · 0 评论 -
VACUUM FULL VS CLUSTER
在 PostgreSQL 中,VACUUM FULL 与 CLUSTER 都可以。查询结果可以发现,执行vacuum full回收表空间后,表没有重新进行排序。查询结果可以发现,执行cluster回收表空间后,表根据索引重新进行排序。,但它们的工作机制、排序方式、影响范围和使用场景有显著区别。✅ ACCESS EXCLUSIVE 锁,锁整个表。❌ 以上都不适用,可考虑 pg_repack。--执行cluster回收表空间。表数据不膨胀,仅优化访问路径。✅ 可以(但对大表不推荐)重写表,同时也回收空间。原创 2025-05-13 17:17:24 · 942 阅读 · 0 评论 -
PostgreSQL Patroni集群组件作用介绍:Patroni、etcd、HAProxy、Keepalived、Watchdog
在 PostgreSQL 高可用架构中,Keepalived 的主要作用是:通过 VRRP 协议提供高可用的虚拟IP(VIP)漂移机制,确保即使服务节点发生故障,客户端仍然能通过一个固定 IP 无缝访问数据库或中间件(如 HAProxy),实现 PostgreSQL 集群访问地址的高可用。它不是数据库本身,而是一个控制器,负责维护 PostgreSQL 的主从架构,并在主节点宕机时自动选择一个新主节点,保证服务连续性。+--- VIP 地址由 Watchdog 绑定在主 Pgpool 上 ---+原创 2025-04-30 13:03:44 · 1101 阅读 · 0 评论 -
PostgreSQL数据库版本升级
传统的把数据移动到新主版本的方法是先转储然后重新载入到数据库,不过这可能会很慢,所以使用 一种更快的方式pg_upgrade。查看已经编译的pg当时编译的编译选项, 可以使用 pg_config,这个工具特别有用于开发者和管理员,因为它能提供关于PostgreSQL如何编译、安装路径、编译时使用的选项以及库文件位置等信息。数据库升级分为两种,一种是小版本迭代升级,另一种是大版本升级。小版本升级很简单,你只需要简单地在服务器关闭时替换可执行文件并重启服务器,数据目录则保持不变,次要升级就这么简单。原创 2025-04-29 16:12:04 · 870 阅读 · 0 评论 -
表膨胀清理的常用工具
那么表和索引的膨胀会造成两个后果,第一是磁盘空间的占用,比如,某个几百G的大表delete删除后,并不会释放磁盘空间,并且在删除的过程中还会引发wal日志的膨胀,而数据库服务器的磁盘空间并不是无限的,第二个就是会使得表的查询和写入性能下降,也就是查询速度降低或者插入/更新速度明显下降。因此,我们在数据库的使用过程中,应该避免表膨胀,至少是将表膨胀控制在一个合理的,可接受的范围内,完全的避免表膨胀是确定无疑的不可能。第四,利用外部插件,例如pg_repack、是用Perl编写的,需要Perl DBI库。原创 2025-04-29 12:27:38 · 874 阅读 · 0 评论 -
PostgreSQL WAL 幂等性详解
PostgreSQL通过这些设计,确保即使在最坏情况下崩溃恢复,也能保证数据一致性和正确性。-> 如果 WAL LSN > Page LSN, 执行修改,更新Page LSN。恢复的核心流程就是不断**Replay(重做)**WAL记录,把数据库恢复到一致状态。-> 如果 WAL LSN <= Page LSN, 说明已经做过,跳过。恢复 -> 读取WAL record -> 找到要修改的Page ->CHECKPOINT;注:FPW是恢复的"大杀器",确保即使发生中间页损坏,也能恢复。原创 2025-04-27 11:21:11 · 933 阅读 · 0 评论 -
Zabbix 7.0下postgresql 16.6数据库监控配置
localectl set-locale zh_CN.utf8 #根据上条命令里显示的中文字符集的utf8设置。然后,回到浏览器,重新打开zabbix,在用户设置里,就可以看到里面的语言,中文选项就可以选择了。1、设置主机名称、选择模板:PostgreSQL by Zabbix agent2,选择主机群组。文件选择打开--选中zabbix-appliance-7.0.12.vmx文件,加载虚拟机。# cat /etc/locale.conf #这条同上,也可以看到区域。原创 2025-04-27 10:52:26 · 1390 阅读 · 1 评论