![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dba
文章平均质量分 80
许给你的爱
从事互联网工作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最后的救命稻草 — pg_resetwal
事务ID epoch实际上并没有保存在数据库中的任何位置,除非存储在由pg_resetwal设置的字段中,因此就数据库本身而言,任何值都是有效的。请注意,文件名是十六进制的,因此最简单的方法是以十六进制指定选项值并附加五个零。xid2:相反,可以通过在同一目录中查找数值最大的文件名来确定可以检索提交时间的最新事务ID的安全值。目录中查找数值最大的文件名,+1,然后乘以52352(0xCC80)来确定。若找到最大值0000,+1,乘以 52352 (0xCC80),这个需要进行计算,没有简单的加0的方法。转载 2024-03-25 15:18:19 · 305 阅读 · 0 评论 -
关于postgres数据checkpoints are occurring too frequently解决思路
今天日常巡检发现postgres数据库的后台日志有出现checkpoints are occurring too frequently (11 seconds apart)",,"Consider increasing the configuration parameter ""max_wal_size"".",,,,,,,""的提示,根据提示说明:检查点发生频率过高(间隔11秒)”,,“请考虑增加配置参数”“max_wal_size”“。原创 2024-03-22 14:42:15 · 1261 阅读 · 0 评论 -
PostgresSQL中的死锁和锁等待
postgres 关于死锁、等待事件讲解,并对deadlock_timeout lock_timeout statement_timeout参数解释和详细说明原创 2024-03-21 11:41:50 · 1279 阅读 · 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 评论 -
postgres数据库字符集讲解
在一个UTF-8字符集的postgres数据库中一个汉字占用1个字符.原创 2024-01-26 11:58:48 · 1241 阅读 · 1 评论 -
关于postgres数据库用户修改其他用户表结构权限问题,报ERROR: must be owner of table tablename错误?
上图标记部分,讲到关于对象权限问题,大概意识为创建对象时,会为其指定一个所有者。所有者通常是执行创建语句的角色。对于大多数类型的对象,初始状态是只有所有者(或超级用户)可以对对象执行任何操作。若要允许其他角色使用它,必须授予特权。关于这里的特权没有给出更为详细说明,我从国外帖子上找到一部分相关这的解释为superuser权限。原创 2024-01-18 16:53:24 · 1917 阅读 · 1 评论 -
关于postgres数据库流复制原理详细解说
1.流复制三节点架构能保证数据库高可用,保证数据库备节点异常,不影响主库持续对外提供服务。再配合高可用中间件使用,完全能保证数据库对外提供服务。例如patroni+etcd架构、pgpool+wacthdog架构等2.如果流复制应用参数设置为remote_apply,可以保证主备数据具有强一致特征,主备数据实时保持一致状态;但带来的危害就是主库事务提交时间变的更长,导致前端业务等待时间比较长。3.一般数据库流复制应用参数默认为on级别,不能完全保证主备数据具有强一致特征,主备数据可能会有不一致情况;原创 2024-01-17 10:07:51 · 1333 阅读 · 0 评论 -
浅谈postgres数据库删除用户报ERROR: role “username“ cannot be dropped because some objects depend on it错误
这种命令格式,不同于mysql和oracle数据库来说,只要你确认并核实用户对象删除正确,就可以使用使用drop user username cascade直接删除。//这里的username指的是你要删除的用户名,other_name指数据库其他用户;2)在postgres数据库中,我们建议使用角色授权用户的方式来给用户授权,这种授权方式能有效解决方法二带来的这种困扰;缺点:不能很好了解哪些对象被删除,哪些对象被赋权给other_name,到时候使用还得重新排查梳理。注意:我们看到对应对象。原创 2024-01-16 16:56:59 · 1633 阅读 · 1 评论 -
浅谈postgres数据库-explain执行计划
浅谈postgres数据库-explain执行计划详细解读原创 2024-01-11 17:56:37 · 528 阅读 · 1 评论