 实现PostgreSQL逻辑复制实战LOGICAL • understandably • application Slot • APPLY • Other SQL/tuple 逻辑解码 持久化WAL解析成便于理解的格式 不必知道内部细节 一个槽表示一个更改流 这些流可以根据需要更改成用户需要的状态 用户可以根据需要的状态 进行需要的操作 2016Postgres中国用户大会 Postgres 函数意义 复制槽初始化会调用 startup_cb 之前活跃的复制槽不再使用,就会调用 可选的 shutdown_cb 开始动作被解码,就会调用begin_cb回调。 被中止的事务及其内容不会被解码。 已提交事务的提交动作被解码,就会调 用必须提供的 commit_cb回调。在此之前, 如果有任何被修改 的行,将为所有被修 改的行调用change_cb回调。 一个事务中的每一个行修改,都将调用0 码力 | 17 页 | 1.90 MB | 1 年前3 实现PostgreSQL逻辑复制实战LOGICAL • understandably • application Slot • APPLY • Other SQL/tuple 逻辑解码 持久化WAL解析成便于理解的格式 不必知道内部细节 一个槽表示一个更改流 这些流可以根据需要更改成用户需要的状态 用户可以根据需要的状态 进行需要的操作 2016Postgres中国用户大会 Postgres 函数意义 复制槽初始化会调用 startup_cb 之前活跃的复制槽不再使用,就会调用 可选的 shutdown_cb 开始动作被解码,就会调用begin_cb回调。 被中止的事务及其内容不会被解码。 已提交事务的提交动作被解码,就会调 用必须提供的 commit_cb回调。在此之前, 如果有任何被修改 的行,将为所有被修 改的行调用change_cb回调。 一个事务中的每一个行修改,都将调用0 码力 | 17 页 | 1.90 MB | 1 年前3
 PostgresChina 2018 张启程 为什么我们抛弃MongoDB和MySQL,选择PgSQLMySQL,选择PgSQL 张启程 qc@aochuang.cn 奥创软件研究院(上海)研发中心 2018年PostgreSQL中国技术大会 任何数据库都很好用 • 我不是一个专业的DBA ,对数据库的理解不够深入,也不 一定准确,在此抛砖引玉,只是结合我们团队业务场景来 分享下我们选择数据库的过程。 • 不是数据库不好用, • 而是我们不会用, • 是我们用的姿势不对! 2018年PostgreSQL中国技术大会0 码力 | 9 页 | 563.82 KB | 1 年前3 PostgresChina 2018 张启程 为什么我们抛弃MongoDB和MySQL,选择PgSQLMySQL,选择PgSQL 张启程 qc@aochuang.cn 奥创软件研究院(上海)研发中心 2018年PostgreSQL中国技术大会 任何数据库都很好用 • 我不是一个专业的DBA ,对数据库的理解不够深入,也不 一定准确,在此抛砖引玉,只是结合我们团队业务场景来 分享下我们选择数据库的过程。 • 不是数据库不好用, • 而是我们不会用, • 是我们用的姿势不对! 2018年PostgreSQL中国技术大会0 码力 | 9 页 | 563.82 KB | 1 年前3
 postgresql操作手册绿色字体表示注释,有时注释太多就不用绿色表示了 3.注意:本文档的所有操作请先在测试机里进行实践,请不要直接在真实的服 务器中操作! 版权声明: 本文档以开源的形式发布,所有条款如下: (1)无担保:作者不保证文档内容的准确无误,亦不承担由于使用此文档所导致的任何后果 (2)自由使用:任何人可以出于任何目的而自由地 阅读/链接/打印/转载/引用/分发/再创作 此文档,无 需任何附加条件 若您 阅读/链接/打印/转载/引用/分发/再创作 postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat- repo-latest.noarch.rpm #或者直接创建repo文件,内容如下 [pgdg13] name=PostgreSQL 13 for RHEL / Rocky $releasever - $basearch baseurl=h�ps://download.postgresql data_directory = '/data_pg/data/' # mv /var/lib/pgsql/13/* /data_pg/ #将原数据目录下所有内容移动到新 数据目录下 # vi /usr/lib/systemd/system/postgresql-13.service #pg-13版本,修改systemd服 务文件,指定数据目录0 码力 | 17 页 | 445.84 KB | 1 年前3 postgresql操作手册绿色字体表示注释,有时注释太多就不用绿色表示了 3.注意:本文档的所有操作请先在测试机里进行实践,请不要直接在真实的服 务器中操作! 版权声明: 本文档以开源的形式发布,所有条款如下: (1)无担保:作者不保证文档内容的准确无误,亦不承担由于使用此文档所导致的任何后果 (2)自由使用:任何人可以出于任何目的而自由地 阅读/链接/打印/转载/引用/分发/再创作 此文档,无 需任何附加条件 若您 阅读/链接/打印/转载/引用/分发/再创作 postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat- repo-latest.noarch.rpm #或者直接创建repo文件,内容如下 [pgdg13] name=PostgreSQL 13 for RHEL / Rocky $releasever - $basearch baseurl=h�ps://download.postgresql data_directory = '/data_pg/data/' # mv /var/lib/pgsql/13/* /data_pg/ #将原数据目录下所有内容移动到新 数据目录下 # vi /usr/lib/systemd/system/postgresql-13.service #pg-13版本,修改systemd服 务文件,指定数据目录0 码力 | 17 页 | 445.84 KB | 1 年前3
 PostgreSQL WAL日志解析与应用保证给出位置上的XLOG日志数据被写(flush)到了磁盘 上。 • XLogInsert 把xlog日志中的内容写出内存 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会  Locks of WAL • WALInsertLock 此锁用于将事务日志记录内容插入事务日志内存缓冲区内。 首先,加锁,然后将包括整个缓冲区(full_page_writes打开状态)的内 e_writes打开状态)的内 容复制到日志缓冲区内。 在日志缓冲区刷新期间检查日志缓冲区是否有新内容添加,因为这 关系到设置日志缓冲区的刷新点。 确定检查点重做位置在联机备份期间强制执行完整页写入,直到备 份完成。 从内置函数获取当前WAL插入位置。 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会0 码力 | 16 页 | 705.31 KB | 1 年前3 PostgreSQL WAL日志解析与应用保证给出位置上的XLOG日志数据被写(flush)到了磁盘 上。 • XLogInsert 把xlog日志中的内容写出内存 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会  Locks of WAL • WALInsertLock 此锁用于将事务日志记录内容插入事务日志内存缓冲区内。 首先,加锁,然后将包括整个缓冲区(full_page_writes打开状态)的内 e_writes打开状态)的内 容复制到日志缓冲区内。 在日志缓冲区刷新期间检查日志缓冲区是否有新内容添加,因为这 关系到设置日志缓冲区的刷新点。 确定检查点重做位置在联机备份期间强制执行完整页写入,直到备 份完成。 从内置函数获取当前WAL插入位置。 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会0 码力 | 16 页 | 705.31 KB | 1 年前3
共 4 条
- 1














