Skip to main content

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

Project description

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

Requirements

At least PostgreSQL 9.5 is required for ON CONFLICT support.

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 pg8000 to select the PostgreSQL backend.

By default it’ll use the devpi database on localhost port 5432. To change that, use storage pg8000:host=example.com,port=5433,database=devpi_prod. The possible settings are: database, host, port, unix_sock, user, password, ssl_cert_reqs, ssl_ca_certs, ssl_certfile and ssl_keyfile. Each settings starting with “ssl” 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.

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 the #devpi IRC channel on freenode.net or the devpi-dev@python.org mailing list.

For support contracts and paid help contact merlinux.eu.

Changelog

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.

1.0.0 (2019-04-26)

Deprecations and Removals

  • Requires at least PostgreSQL 9.5 for ON CONFLICT support.

  • Dropped support for Python 2.x and PyPy2.

0.3.0 (2018-09-08)

Bug Fixes

  • Fixes required for bug fixes devpi-server 4.7.0.

0.2.0 (2018-01-17)

Bug Fixes

  • Use advisory locks to serialize writes.

0.1.1 (2017-12-12)

  • Add unix_sock, user and password to possible connection options. Thanks to Szabolcs Rumi for the patch.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devpi-postgresql-1.1.0.tar.gz (9.1 kB view hashes)

Uploaded Source

Built Distribution

devpi_postgresql-1.1.0-py3-none-any.whl (8.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page