devpi-postgresql:为devpi-server提供的PostgreSQL存储后端
项目描述
devpi-postgresql:为devpi-server提供的PostgreSQL存储后端
此插件为devpi-server添加了PostgreSQL存储后端。
安装
devpi-postgresql需要与devpi-server一起安装。
您可以使用以下方式安装它:
pip install devpi-postgresql
需求
至少需要PostgreSQL 9.5以支持ON CONFLICT。
用法
使用PostgreSQL存储时,devpi-server期望一个空数据库。您必须创建一个,例如: createdb devpi 根据您的PostgreSQL设置,您必须创建一个用户,并授予它在新数据库上的权限,例如
CREATE ROLE devpi WITH LOGIN; GRANT CREATE, CONNECT ON DATABASE devpi TO devpi;
在首次初始化 devpi-server 时,使用 --storage pg8000 来选择 PostgreSQL 后端。
默认情况下,它将使用 localhost 的 5432 端口的 devpi 数据库。要更改,请使用 storage pg8000:host=example.com,port=5433,database=devpi_prod。可能的设置包括:database、host、port、unix_sock、user、password、ssl_check_hostname、ssl_ca_certs、ssl_certfile 和 ssl_keyfile。
如果指定了任何“ssl”设置,则将建立安全的 Postgres 连接。通常,需要通过 ssl_ca_certs 指定包含证书颁发机构证书的文件的名称。默认情况下,服务器的主机名将与它提供的证书进行核对。可以通过 ssl_check_hostname 设置禁用此行为。使用 ssl_certfile 和 ssl_keyfile 启用基于证书的客户机身份验证。
devpi-server 的所有用户/索引文件和元数据都存储在数据库中。一些事物和设置仍然存储在由 --serverdir 指定的目录中的文件中。
如 devpi-web 之类的插件不使用或无法使用存储后端。它们仍然处理自己的存储。
支持
如果您发现了一个错误,请使用 GitHub 上的问题跟踪器。
对于一般问题,请使用 GitHub 讨论 或 devpi-dev@python.org 邮件列表。
有关支持合同和付费帮助,请联系 mail at pyfidelity.com。
变更日志
3.0.1 (2022-04-25)
错误修复
修复 #884:devpi-server 启动时的错误。
3.0.0 (2022-03-18)
弃用和删除
至少需要 devpi-server 6.2.0。
功能
支持由 devpi-server >= 6.2.0 启用的性能和内存优化。
支持从 devpi-server 6.5.0 开始的新存储接口,以将文件保持在内存之外。
文件存储在临时位置,并在一个更短的交易块中提交到数据库。这也会减少在数据库上持有的锁定时间。
支持由 devpi-server 6.5.0 启用的内存优化,以保持缓存大小。
切换到 pg8000 1.17.0 中引入的本地接口。
使用 COPY 通过数据库连接直接流文件。
错误修复
通过使用 postgresql 序列来减少冲突的可能性。在冲突的情况下,由于序列中的差距,这可能导致没有变化的序列,但这些是无害的。
2.0.0 (2020-04-14)
弃用和删除
不再支持 Python 3.4,Python 3.5 的支持将在 2020 年 9 月的 EOL 时取消。
功能
升级 pg8000 到 1.14.0 或更高版本,利用其改进的 SSL 接口。
1.1.0 (2020-01-31)
功能
修复 #738:将 ssl_cert_reqs、ssl_ca_certs、ssl_certfile 和 ssl_keyfile 设置添加到 –storage=pg8000 选项。每个设置对应于传递给 pg8000.connect() 的 ssl 参数中同名的键(删除初始 ssl_)。ssl_cert_reqs 应为“cert_optional”或“cert_required”,其他三个设置是文件名。
1.0.0 (2019-04-26)
弃用和删除
对于 ON CONFLICT 支持,需要至少 PostgreSQL 9.5。
取消对 Python 2.x 和 PyPy2 的支持。
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。