SkyTools

来自 PostgreSQL Wiki
(从 Skytools 重定向)
跳转到导航跳转到搜索

这是一个在 Skype 中用于复制和故障转移的工具包。它包括一个通用的排队机制 PgQ 和用于 Python 脚本的实用程序库。

源代码托管在 Pgfoundry (存档) 和之后的 GitHub 上,技术负责人是 Marko Kreen

可以在此处找到一般概述演示文稿:File:Moskva DB Tools.v3.pdf,而 PGQ 详细演示文稿位于 http://www.pgcon.org/2008/schedule/events/79.en.html

PgQ

这是我们使用的排队机制。它由数据库中的 PL/pgsql 和 C 代码以及顶部的 Python 框架组成。它源自 Slony-I 中基于快照的事件处理思想,并被重新编写以供更广泛的使用。

特性

  • 一个数据库可以拥有多个队列。
  • 生产者可以插入任何队列。
  • 任何给定队列都可以有多个消费者,并且所有消费者都会看到所有事件。

文档

监控

一个 PGQ Munin 插件 可用。

另请参阅

PGQ 可以是实现 BASE 解决方案(基本上可用、软状态、最终一致)或更一般地实现 最终一致 系统的基础解决方案。

Kristo 的博客托管了 Python PGQ 消费者的详细示例,该消费者在用户注册后发送确认电子邮件:http://kaiv.wordpress.com/2007/10/19/skytools-database-scripting-framework-pgq/

Londiste

使用 PgQ 作为事件传输的用 Python 编写的复制工具,可在 Github 上获得。 GitHub

特性

  • 可以将表逐个添加到复制集中。
  • 一个表的初始 COPY 不会阻塞其他表的事件重放。
  • 可以比较两边的表格。

文档

监控

Londiste “仅仅”是一个 PGQ 消费者,因此请参阅有关如何使用 PGQ_Munin_Plugin 等监控队列本身的方法。

walmgr

此脚本设置 WAL 存档,进行初始备份以及运行时 WAL 存档和还原。

查看其 文档

提供的特定消费者

一些基于 Skytools 框架的工具可用于处理特定作业

每个文档页面都以一个描述部分开头,但为了方便您浏览,它们都位于此页面上:Skytools 特定消费者