从9.1后,提供了同步流复制的架构。同步复制要求在数据写入standby数据库后,事务的commit才返回,所以standby库出现问题时,会导致主库hang住。可以启动两个standby数据库,只要有一个是正常的,主库就不会hang住。但是因为资源限制,这里只配置一个standby库。 环境: 主机名 IP地址 角色 数据目录 pg 186.168.100.14 主库 /PostgreSQL/

pg同步流复制的standby数据库  

pg9.6.1 在搭建同步流复制的standby库时,启动备库时,报错: [postgres@pghs ~]$ psql psql: FATAL: the database system is starting up 后经检查,是postgresql.conf中hot_standby没有设置: hot_standby = on 成功: [postgres@pghs ~]$ psql psq

psql FATAL the data  

配置环境: 主机名 IP地址 角色 数据目录 pg 186.168.100.14 主库 /PostgreSQL/9.6.1/datan pghs 186.168.100.24 standby /PostgreSQL/9.6.1/datahs 主数据库的配置: 允许主库接受流复制的连接pg_hba.conf中: host replication postgres 186

pg异步流复制Hot Standby的示  

内存配置优化: PG中与内存有关的配置参数: shared_buffers:共享缓存区的大小,相当于Oracle中的SGA,推荐为内存的1/4,不超过总内存的1/2。从PG9.3开始,共享内存已从System V方式改为了Posix方式和mmap方式,因此在pg9.3以后不需要配置Linux的shmmax和shmall参数,之前的版本还需要配置。shmmax:表示单个共享内存段可以创建的最大值,s

pg数据库配置优化  

数据库性能视图 以pg_stat开头。是否产生这些统计数据,由一下参数决定: track_counts:是否收集表和索引上的统计信息,默认为on track_functions:可以取all、pl和all,如果是pl则只收集pl/pgsql写的函数的统计信息;all表示收集所有类型的函数,包括C语言和SQL写的函数。默认为none track_activities:是否收集当前正在执行的SQL,默

pg性能监控  

SQL/MED是sql语言中管理外部数据的一个扩展标准。MED:management of external data。它通过定义一个外部数据包装器和数据连接类型来管理外部数据。9.1开始提供对SQL/MED的支持,通过SQL/MED可以连接到各种异构数据库或其他PostgreSQL数据库。其相当于一套连接其他数据源的框架和标准。 在SQL/MED标准中,实现了一下四类数据库对象来访问外部数据源:

SQLMED  

PostgreSQL提供了client端之间通过服务器端进行消息通信的机制。这种机制是通过listen和notify命令来完成的。 session1: postgres=# listen postgres; LISTEN postgres=# listen liming postgres-# ; LISTEN session2: postgres=# notify postgres,'hell

listen与notify  

PgStat子进程是PostgreSQL中专门的统计信息收集器进程。表和索引的行数、块数等统计信息记录在系统表pg_class中,其他的统计信息主要收集在系统表pg_statistic中。 统计信息收集器的配置项: #------------------------------------------------------------------------------ # RUNTIME

pg统计信息的收集  

PostgreSQL中explain的语法: explain [option] statement explain [analyze] [verboase] statement 命令的可选选项option为: analyze verbose costs buffers format(text|xml|json|yaml) analyze选项通过实际执行的sql来获得相应的执行计划。(实际执行)

PG执行计划  

1) stop extract GGSCI (rac1) 38> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING D

改变ogg抽取进程检查点文件中的检查点  
1 2 3 4 5 6 7 8 9