随笔分类 - PostgreSQL
摘要:PostgreSQL 数据库提供预编译rpm/deb 包以及源码包 2种安装方式,不像mysql 提供了通用linux 平台二进制自定义压缩包,由于rpm、deb 等安装包不能自定义安装路径适合测试环境部署,生产环境建议选择源码包手动编译二进制文件安装方式,下面介绍手动编译安装方式: 1、Postg
阅读全文
摘要:max_connections 系统支持的最大连接数 shared_buffers共享缓冲区大小,建议为服务器内总的1/4大小 effective_cache_size postgresql能使用的最大缓存,会被优化器用于使用索引的成本考量,值越大使用索引扫描的可能性越大,反之使用表扫描的可能性越大
阅读全文
摘要:数据库运维过程中,一个常见而又紧急的问题就是突发的CPU使用率100%,造成业务停顿,下面是一些主要的分析、诊断方法: 一、查看连接数变化,结合监控,查看出现问题时的活动连接数变化 select count(*) from pg_stat_activity where state not like
阅读全文
摘要:1、物理备份 pg_basebackup:数据库内置,支持完整备份,利用流复制协议pg_rman:第三方插件,支持完整备份、差异备份,利用pg_start_backup()、pg_stop_backup()、copy方式pg_probackup:第三方插件,支持完整备份、差异备份,支持并行备份、压缩
阅读全文
摘要:1、支持分区表 内置分区表支持范围、列表分区,无需通过继承、约束、触发器实现,减少了分区表的创建、维护工作量 2、逻辑复制 内置逻辑流复制功能,无需第三方插件,性能更高 3、并行查询 并行索引扫描(index scan) 并行索引全扫描(index-only scan) 并行位图扫描(bitmap
阅读全文
摘要:1、分区增强 支持哈希分区 支持分区表上的主键、外键、索引以及触发器 支持创建默认分区 支持分区键更新 增强了查询语句处理和执行时的分区裁剪(分区排除),进而提高了SELECT查询语句的性能 2、并行 并行创建 B-tree 索引 并行执行CREATE TABLE .. AS、CREATE MATE
阅读全文
摘要:1、新增视图、函数:pg_stat_progress_create_index 查看当前正在创建的索引进度,已经执行的数据块数量,已经执行的行数量,使用/等待锁的情况 pg_stat_progress_cluster 查看当前vacuum full/cluster进度,数据块读写数量,数据条目读写数
阅读全文
摘要:1、pg_repack、pgcompacttable 在线清理表空间,空间回收,不影响dml 作业 2、pg_stat_statements 提供一种方法追踪服务器执行的所有SQL语句的执行统计信息,分析、优化 top sql 3、pg_hint_paln 通过特殊的注释语句提示,使PostgreS
阅读全文
摘要:postgresql 建议设置shared_buffers 大小为服务器内存的25%~40%,postgresql 依赖于操作系统缓存,存在双缓存问题,也就是shared_buffers 中的数据也会在os page cache 中保存,存在重复缓存的可能,过大的 shared_buffers 会导
阅读全文
摘要:新特性逻辑复制支持分区表PostgreSQL 从版本10开始支持逻辑复制,在版本12前逻辑复制仅支持普通表,不支持分区表,如果需要对分区表进行逻辑复制,需单独对所有分区进行逻辑复制。PostgreSQL 13 版本开始,逻辑复制新增了对分区表的支持,具体包括:1. 可以显式地发布分区表,自动发布所有
阅读全文
摘要:PostgreSQL小版本升级:相同的大版本下的次要版本升级,可以直接安装新的次要版本数据库软件,启动原来的数据库方式升级。 PostgreSQL 大版本升级主要有3种方式: 1、 pg_dumpall/pg_restore: pg_dumpall 通过逻辑导出旧版本数据库结构、数据在新版本数据库上
阅读全文
摘要:1、表级锁: 2、表级锁冲突矩阵(X表示冲突): 3、表级锁观测以及解锁: 通过pg_locks,pg_class关联获取表上的锁: select a.locktype,a.database,a.pid,a.mode,a.relation,b.relnamefrom pg_locks ajoin p
阅读全文