![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IT
文章平均质量分 78
许给你的爱
从事互联网工作8年
展开
-
基于Patroni的Citus高可用环境部署
Citus是一个非常实用的能够使PostgreSQL具有进行水平扩展能力的插件,或者说是一款以PostgreSQL插件形式部署的基于PostgreSQL的分布式HTAP数据库。本文简单说明Citus的高可用技术方案,并实际演示基于Patroni搭建Citus HA环境的步骤。原创 2024-06-27 16:38:14 · 822 阅读 · 0 评论 -
如何在PostgreSQL故障切换后找回丢失的数据
如何在PostgreSQL故障切换后找回丢失的数据原创 2024-06-27 16:07:41 · 791 阅读 · 0 评论 -
PostgresQL-丢失各种数据文件如何恢复
1.索引文件丢失或者损坏,可以靠重建索引恢复2.fsm以及mv文件的丢失,重启数据库会自动恢复3.单个表文件丢失,不会影响数据库启动,但是访问表的时候就会出现问题,这种物理删除文件是没法恢复的,不会记录日志,只能做好备份4.pg_wal和pg_xact日志丢失可以恢复,但是可能会丢失部分数据5.系统表pg_authid数据丢失后可以重新创建超级管理员,依靠备份恢复。原创 2024-04-29 11:06:15 · 569 阅读 · 0 评论 -
PostgreSQL 锁机制
我会告诉你精通 Postgres 的锁机制需要知道的一切,要知道对锁了解的越多,解决与锁相关的问题就会越快。不同于标准的锁请求,会话层级的劝告锁请求并不遵守事务语义:事务被回滚后锁也会随着回滚保持着,同样地即使调用锁的事务之后失败了,解锁请求仍然是有效的。例如,如果事务 1 在表 A 上获得一个排他锁,同时试图获取一个在表 B 上的排他锁, 而事务 2 已经持有表 B 的排他锁,同时却正在请求表 A 上的一个排他锁,那么两个事务就都不能进行下去。因此,事务一被事务二阻塞,而事务二也被事务一阻塞:一个死锁。原创 2024-03-18 18:10:28 · 1032 阅读 · 0 评论 -
使用 pg_profile 在 Postgres 中生成性能分析报告
postgres数据库中拥有大量的辅助插件用于帮助DBA更好的分析数据库性能或整个集群,包括索引、I/O、CPU和内存等,pg_profile是基于PostgreSQL标准统计信息视图的诊断工具,它类似于Oracle AWR架构,和Oracle一样,它在指定时间生成快照,并且提供html格式来解释快照之间的统计数据;今天我们就来聊聊pg_profile这款性能分析工具有哪些功能和优点。原创 2024-03-13 17:25:26 · 599 阅读 · 0 评论 -
关于postgres安装pg_cron 定时任务插件
pg_cron它作为扩展运行在数据库内部。它使用与常规cron相同的语法,但是它允许你直接从数据库调度PostgreSQL命令。pg_cron可以并行运行多个作业,但是一次最多只能运行一个作业实例。如果第二轮运行在第一轮运行完成之前开始,则第二轮运行将排队,并在第一轮运行完成后立即开始。这里有一个需要特别注意的点,pg_cron始终使用GMT时区!!如果你的数据库使用的是CST时区,定时任务的时间需要减去8小时。原创 2024-03-11 11:54:44 · 601 阅读 · 0 评论 -
浅谈postgresql数据库索引
索引的使用是为了提升对表的读能力,而不是写操作;如果不合理构建索引或是表中建立大量索引效果适得其反,表的读和写性能都会出现很大程度的下降,从而影响数据库业务。索引的设计需要去平衡业务规则和评估表,如果对一个经常写入的大表,但是读取又相对较少,我们完全可以通过分区表+主键 (主键也是一种特殊的索引)完成;如果没有主键,我们根据分区键值来创建索引来实现高效的读。总而言之,索引设计需要考虑整体业务场景和对表的实际操作,还需要考虑索引的个数和索引的效率,索引不是越多越好,也不是字段越多越好。原创 2024-02-22 15:51:45 · 820 阅读 · 1 评论 -
关于postgresql数据库单独设置某个用户日志级别(日志审计)
关于postgresql数据库单独设置某个用户日志级别原创 2024-02-21 18:00:40 · 697 阅读 · 0 评论 -
聊聊关于Postgresql数据库日志参数配置
如果log_duration为on并且log_min_duration_statement为正值,所有持续时间都将被记录,但是只有超过阈值的语句才会被记录查询文本。log_line_prefix:设置日志输出格式(能够记录时间,用户名称,数据库名称,客户端IP和端口,方便定位问题)默认值是’%m [%p] ',它记录时间戳和进程ID。log_min_duration_statement:相当于mysql的long_query_time,记录慢SQL,超过这个时间的SQL将会被记录到日志里。原创 2024-02-21 11:44:45 · 1305 阅读 · 0 评论