PostgreSQL pg_rewind 报错分析
本文介绍pg_rewind执行过程中,执行失败的原因。
PostgreSQL逻辑备份pg_dump使用及其原理解析
一、原理分析1、循环调用getopt_long解析命令行参数,将参数保存到static DumpOptions dopt;中2、判断参数是否相容,不相容则退出: options -s/--schema-only and -a/--data-only cannot be used together options -
PostgreSQL逻辑备份恢复--pg_dump导出及psql导入案例
数据库导入导出是最常用的功能之一。PostgreSQL的备份工具可以使用pg_dump及pg_dumpall。可以通过pg_dump --help获取其使用方法。 这里不对其做过多介绍。主要介绍在使用pg_dump及恢复过程中遇到的一个问题。
PostgreSQL用户密码如何通过md5加密存储,是否加了salt
PG用户通过md5加密时,加了salt,而这个salt是用户名字符串。
PostgreSQL pg_ctl start超时分析
pg_ctl start启动时报错退出:pg_ctl:server did not start in time。超时时间是多少?从什么时候到哪个阶段算超时? 本文主要解决这两个问题。
PostgreSQL pg_rewind原理
常见的高可用架构中,如果master挂了且有数据没有同步到备,高可用系统会提升备为主对外服务。对于老主有可能再以备的身份加入集群时,可能搭建流复制关系失败。可以用pg_rewind工具使主备的数据一致。
PostgreSQL存储引擎之heap tuple结构
本小节主要介绍heap tuple的物理结构,并说明各个字段的意义。具体什么作用,之后详细介绍。
PostgreSQL存储引擎之page结构
下图就是page的结构图,8K的空间包括一个头部Page Header,若干个Item,每个Item指向一条记录(Tuple),有些Page在初始化的时候,就page的末尾,预留出空间作为Special用,Btree索引页使用,heap page没有这部分,直接就是tuple。当然了,有些Page不需要Special空间,就没有预留。
PostgreSQL插件hook机制
介绍了插件hook机制,及相关加载调用流程,供以后开发插件使用。
PostgreSQL server端接收连接后fork进程
main->PostmasterMain->ServerLoop: for(;;){ ... //会阻塞在这,监视文件描述符的变化 selres = select(nSockets, &rmask, NULL, NULL, &timeout); if (selres&nbs
PostgreSQL状态变迁
typedef enum DBState { DB_STARTUP = 0, DB_SHUTDOWNED, DB_SHUTDOWNED_IN_RECOVERY, DB_SHUTDOWNING, DB_IN_CRASH_RECOVERY, DB_IN_ARCHIVE_RECOVERY, DB_IN_PRODUCTION }&nb
PostgreSQL启动恢复通过checkpoint open wal文件
StartupLOG:: ->record = ReadCheckpointRecord(xlogreader, ControlFile->checkPoint, 1, true) ->record = ReadRecord(xlogreader, ControlFile->checkPoi
PG启动流程StartupXlog函数回放日志前处理
启动恢复函数是StartupXLOG,该函数从pg_control文件中读取checkpoint记录,然后从checkpoint记录的redo点开始进行恢复。本章节先列个框架,后续详细解析。
PostgreSQL的几个概念
其逻辑结构最上层是实例,