Fork me on GitHub

分类 postgres 中的文章

数据库日志分析

数据库日志分析 整体架构 filebeat -> logstash -> elasticseach -> kibana filebeat 收集日志 logstash 中转及日志规则匹配过滤 elasticsearch 日志存储检索库 kibana 查看界面 postgresql log_destination = 'csvlog' logging_collector = 'on' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' log_rotation_age = '1d' log_rotation_size = '100MB' log_min_messages = 'info' log_min_duration_statement = '1000' log_statement = 'ddl' filebeat filebeat.inputs: - type: log enabled: true paths: - /var/lib/pgsql/***/postgresql-*.csv fields: log_topics: postgresql multiline.pattern: '^[[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3} [A-Z]{3}' multiline.negate: true multiline.match: after filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 1 tags: ["postgesql"] setup.kibana: output.logstash: hosts: ["*.*.*.*:5044"] processors: - add_host_metadata: ~ - add_cloud_metadata: ~ logstash # # this config is use for version logstash 7.3.1 # input { beats { port => 5044 } #sdtin{ # #} } #……

阅读全文

客户端故障转移

多主机连接 PostgreSQL libpq 是数据库的一个连接驱动,支持多主机配置,同时支持target_session_attrs 主机角色判断配置。 当配置了多个主机时,会按顺序尝试连接,之道获取到成功的连接为止。 利用libpq的这个特性,结合数据库自动HA的一些软件,可以实现在不引入VIP以及中间路由节点的……

阅读全文

Django CONN_MAX_AGE 对数据连接的影响

Django的数据库连接 Django对数据库的链接处理是这样的,Django程序接受到请求之后,在第一访问数据库的时候会创建一个数据库连接,直到请求结束,关闭连接。下次请求也是如此。因此,这种情况下,随着访问的并发数越来越高,就会产生大量的数据库连接 使用CONN_MAX_AGE减……

阅读全文

Backgroud Writer 进程

主要作用 负责将shared buffer 中的内容刷写到磁盘中,9.1版之后部分内容交给checkpoint完成。 参数配置 # - Background Writer - #bgwriter_delay = 200ms # 10-10000ms between rounds #bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round #bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round #bgwriter_flush_after = 512kB # measured in pages, 0 disables bgwriter_delay 两次写入任务之间的睡眠间隔时间 bgwriter_lru_maxpages 每次bgwriter任务写buffer的最大page数,一旦达……

阅读全文

数据库试图之 pg_stat_bgwriter

介绍 可查看 backgroud writer, checkpoint ,backend 进程刷写 Shared buffer 情况视图 pg数据库在写入时先在内存中更新shared buffer ,然后有checkpoint机制将脏数据刷写到磁盘。 视图 select * from pg_stat_bgwriter ; -[ RECORD 1 ]---------+------------------------------ checkpoints_timed | 64017 checkpoints_req | 458 checkpoint_write_time | 9608302902 checkpoint_sync_time | 1189286 buffers_checkpoint | 578367652 buffers_clean | 329022 maxwritten_clean | 2353 buffers_backend | 29802728 buffers_backend_fsync | 0 buffers_alloc | 83826180 stats_reset | 2020-08-20 19:41:20.491551+08 负责将shared buffer 中的内容……

阅读全文

数据库高可用设计分析

基本概念 集群: 一组多个同时对外提供相同服务的实体机组成一个集群。这里的集群为主从结构,可写节点为主节点,其他只读节点为从节点。 高可用: 在发生局部故障时对整体业务影响很低。即不可用的时间要尽量的短。 对外部应用的访问来说,无需关注如何实现,如同只访问一个节点。并能得到持续的服务能力。……

阅读全文

pg_rman 备份恢复数据库

适用场景 PG_RMAN 基于本地数据拷贝的方式,要求与数据库需要安装在同一个机器节点上。 适用于项目初期,对数据库的规划处于初级阶段。实体机不充分的情况是个很好的选择。 数据库使用ssd盘,备份磁盘采用企业sata大盘。或nfs网盘等。 PG_RMAN 支持全备份,增量备份,备份验证,保留策略等 应用软件包地址 https://github.com/ossc-db/pg_rman/releases 基……

阅读全文

Patroni 高可用管理进阶

完成目标 主从同步策略 异地多机房策略 failover 触发详情 访问认证 watch-dog 配置文件详情 fencing DCS 失效处理 加入节点复制数据限流 主从切换流量,避免重新拉取 级联复制 callback 日志&监控 主从同步策略 数据库主从之间同步类型 Synchronous state of this standby server. Possible values are: async: This standby server is asynchronous. potential: This standby server is now asynchronous, but can potentially become synchronous if one of current synchronous ones fails. sync: This standby server is synchronous. quorum: This standby server is considered as……

阅读全文

数据库优化思考-性能优化

为什么要优化 首先了解一个概念,什么是·熵增· 物理定义:熵增过程是一个自发的由有序向无序发展的过程(Bortz, 1986; Roth, 1993) 在一个孤立的系统里,如果没有外力做工,其总混乱度(即熵)会不断增大,直至系统彻底变得无序 从系统软件的角度: 从应用系统上线那一刻开始,随着用户量的增加、业务功能的持续……

阅读全文