跳转到主要内容

LAZR postgresql特定支持代码。

项目描述

版权所有 (c) 2011-2018, Canonical Ltd

本程序是自由软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,版本3。

本程序按“希望有用”的原则提供,但没有任何保证;甚至不提供适销性或适用于特定用途的暗示保证。有关详细信息,请参阅GNU通用公共许可证。

您应该已经随本程序收到GNU通用公共许可证的一份副本。如果没有,请参阅 <https://gnu.ac.cn/licenses/>。GNU通用公共许可证版本3(请参阅LICENSE文件)。

lazr.postgresql 包含Launchpad用于PostgreSQL支持的多种辅助工具。其中最重要的是Slony意识数据库迁移功能。

依赖项

  • Python 2.7+

测试依赖项

使用方法

数据库迁移

升级工具将数据迁移应用于PostgreSQL或Slony环境。

每个迁移是一个名为 patch-$major-$minor-$point-$type.sql 的SQL文件。主版本、次版本和点都是整数,它们提供了修补程序应用的序列。类型告诉迁移应用器迁移是否应该以正常事务方式应用,直接在集群的所有节点中应用事务,或直接在集群的所有节点外的事务中应用。这些是通过‘std’、‘direct’和‘concurrent’表示的。

如果修补程序应用在除‘标准’模式之外的任何模式下中断,可能需要进行手动清理(例如,因为某些节点上可能存在半构建的索引)。

例如,一个名为 patch-1-2-3-concurrent.sql 的文件将在非Slony环境中按以下方式应用

  • 在主节点上打开一个事务,并将行 1-2-3 添加到已应用修补程序列表中。这可以防止其他迁移同时尝试。

  • 然后执行修补程序文件的全部内容。

  • 将更新1-2-3行的结束时间戳。

  • 最后提交事务。

在Slony环境中,将发生以下情况

  • 在主节点上打开一个事务,并将行 1-2-3 添加到已应用修补程序列表中。这可以防止其他迁移同时尝试。

  • 在所有节点上,修补程序文件的全部内容将在事务外部分连接中执行。

  • 将更新1-2-3行的结束时间戳。

  • 最后提交事务。

除非提供 –all 参数,否则单个 upgrade.py 调用只会应用 std 或直接 + concurrent 修补程序。当提供 –all 参数时,它将循环直到所有修补程序都应用。

更多内容即将推出。

安装

在所有依赖项都可用的环境中运行 setup.py,或将工作目录添加到您的 PYTHONPATH。

开发

上游开发在 https://launchpad.net/lazr-postgresql 进行。要设置开发工作区,如果依赖项不可立即获得,您可以使用 ./bootstrap.py 创建 bin/buildout,然后使用 bin/py 获取一个具有依赖项的python解释器。

要运行测试,请使用您选择的运行器,测试套件是 lazr.postgresql.tests.test_suite。

例如

$ PYTHONPATH=src bin/py -m testtools.run lazr.postgresql.tests.test_suite

如果您有 testrepository,可以与它一起运行测试

$ testr run

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

lazr_postgresql-0.0.4.tar.gz (14.7 kB 查看哈希值)

上传时间

构建分布

lazr_postgresql-0.0.4-py2.py3-none-any.whl (23.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由...

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面