devpi-github/fschulze-devpi-server7/: devpi-postgresql-4.0.0.dev0 metadata and description

devpi-postgresql: a PostgreSQL storage backend for devpi-server

Metadata
classifiers
  • Development Status :: 5 - Production/Stable
  • Environment :: Web Environment
  • Intended Audience :: Developers
  • Intended Audience :: System Administrators
  • Programming Language :: Python
  • Programming Language :: Python :: 3 :: Only
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Programming Language :: Python :: 3.13
  • Programming Language :: Python :: 3.14
  • Programming Language :: Python :: Implementation :: PyPy
  • Topic :: Internet :: WWW/HTTP :: WSGI :: Application
  • Topic :: Internet :: WWW/HTTP
description_content_type text/x-rst
license_expression MIT
maintainer_email Florian Schulze <[email protected]>
project_urls
  • Bug Tracker, https://github.com/devpi/devpi/issues
  • Changelog, https://github.com/devpi/devpi/blob/main/postgresql/CHANGELOG
  • Documentation, https://doc.devpi.net
  • Homepage, https://devpi.net
  • Source Code, https://github.com/devpi/devpi
requires_dist
  • devpi-server>=7dev
  • pg8000>=1.17.0
requires_python >=3.11
Files
File Tox results History
devpi_postgresql-4.0.0.dev0-py3-none-any.whl
Size
11 KB
Type
Python Wheel
Python
3
sha256
7df47d3e77a14a7819997c2f78f45704fa7759b95622e9f8ef83954332290302
devpi_postgresql-4.0.0.dev0.tar.gz
Size
14 KB
Type
Source
sha256
4fe2b89bbc93db0baeaf9a66b6999f7422e6134777ace93f7d9ce19b3132a184

devpi-postgresql: a PostgreSQL storage backend for devpi-server

This plugin adds a PostgreSQL storage backend for devpi-server.

Installation

devpi-postgresql needs to be installed alongside devpi-server.

You can install it with:

pip install devpi-postgresql

Usage

When using the PostgreSQL storage, devpi-server expects an empty database. You have to create one like this: createdb devpi Depending on your PostgreSQL setup you have to create a user and grant it permissions on the new database like this:

CREATE ROLE devpi WITH LOGIN;
GRANT CREATE, CONNECT ON DATABASE devpi TO devpi;

Upon first initialization of devpi-server use --storage sqla_pg8000 to select the PostgreSQL backend.

By default it’ll use the devpi database on localhost port 5432. To change that, use storage sqla_pg8000:host=example.com,port=5433,database=devpi_prod. The possible settings are: database, host, port, unix_sock, user, password, ssl_check_hostname, ssl_ca_certs, ssl_certfile and ssl_keyfile.

If any of the “ssl” settings is specified, a secure Postgres connection will be made. Typically, the name of a file containing a certificate authority certificate will need to be specified via ssl_ca_certs. By default, the server’s hostname will be checked against the certificate it presents. Optionally disable this behavior with the ssl_check_hostname setting. Use ssl_certfile and ssl_keyfile to enable certificate-based client authentication.

All user/index files and metadata of devpi-server are stored in the database. A few things and settings are still stored as files in the directory specified by --serverdir.

Plugins like devpi-web don’t or can’t use the storage backend. They still handle their own storage.

Support

If you find a bug, use the issue tracker at Github.

For general questions use GitHub Discussions or the [email protected] mailing list.

For support contracts and paid help contact mail at pyfidelity.com.

Changelog

4.0.0.dev0 (2026-08-10)

Deprecations and Removals

  • Require devpi-server 7.0.0.

  • Require at least Python 3.11.

3.0.1 (2022-04-25)

Bug Fixes

  • Fix #884: Error during startup of devpi-server.

3.0.0 (2022-03-18)

Deprecations and Removals

  • Require at least devpi-server 6.2.0.

Features

  • Support performance and memory optimizations enabled by devpi-server >= 6.2.0.

  • Support new storage interface from devpi-server 6.5.0 to keep files out of memory.

  • Files are stored in a temporary location and committed to the database in one shorter transaction block. This also reduces the time locks are held on the database.

  • Support memory optimizations enabled by devpi-server 6.5.0 to keep cache small.

  • Switch to native interface introduced in pg8000 1.17.0.

  • Stream files directly through database connection using COPY.

Bug Fixes

  • Reduce chances of conflicts by using a postgresql sequence for serials. This can cause serials with no changes due to gaps in the sequence in case of conflicts, but these are harmless.

2.0.0 (2020-04-14)

Deprecations and Removals

  • Python 3.4 isn’t supported anymore, Python 3.5 support will be dropped at its EOL in September 2020.

Features

  • Upgrade pg8000 to version 1.14.0 or newer and take advantage of its improved SSL interface.

1.1.0 (2020-01-31)

Features

  • fix #738: add ssl_cert_reqs, ssl_ca_certs, ssl_certfile and ssl_keyfile settings to the –storage=pg8000 option. Each setting corresponds to the similarly-named key (remove the initial ssl_) in the ssl parameter passed to pg8000.connect(). ssl_cert_reqs should be either “cert_optional” or “cert_required” and the other three settings are file names.