PG_VIRTUALENV(1)       Debian PostgreSQL infrastructure       PG_VIRTUALENV(1)



NAME
       pg_virtualenv - Create a throw-away PostgreSQL environment for running
       regression tests

SYNOPSIS
       pg_virtualenv [-ash -v 'version ...'] [command]

DESCRIPTION
       pg_virtualenv creates a virtual PostgreSQL server environment, and sets
       environment variables such that command can access the PostgreSQL
       database server(s). The servers are destroyed when command exits.

       The environment variables PGHOST, PGDATABASE, PGUSER, and PGPASSWORD
       will be set. Per default, a single new cluster is created on port 5432,
       using the newest PostgreSQL server version installed. When more
       clusters are created for other versions, they will use other port
       numbers.

       pg_createcluster is used to create the database clusters. The clusters
       are named version/regress. To access a cluster, set
       PGCLUSTER=version/regress. For ease of access, the clusters are also
       registered in /etc/postgresql-common/pg_service.conf, with the version
       number as cluster name. Clusters can be accessed by passing the
       connection string "service=version", e.g. psql service=9.2.

       When invoked as root user, the servers and command are run in an
       unshared mount and network namespace; the servers are created on
       tmpfses, so actions caused by command in the database do not affect the
       running system.  command can drop privileges as needed, provided the
       environment variables are passed.

       When invoked as non-root user, PG_CLUSTER_CONF_ROOT and PGSYSCONFDIR
       are set to a temporary directory where all files belonging to the
       clusters are created.

OPTIONS
       -a  Use all PostgreSQL server versions installed.

       -v version ...
           Use these versions (space-separated list).

       -c pg_createcluster options
           Extra options to pass to pg_createcluster.

       -i initdb options
           Extra initdb options to pass to pg_createcluster.

       -o guc=value
           Configuration option to set in the postgresql.conf file, passed to
           pg_createcluster.

       -s  Launch a shell inside the virtual environment when command fails.

       -h  Show program help.

EXAMPLE
         # pg_virtualenv make check

NOTES
       When run with fakeroot(1), pg_virtualenv will fall back to the non-root
       mode of operation. Running "fakeroot pg_virtualenv" as root will fail,
       though.

SEE ALSO
       initdb(1), pg_createcluster(1), unshare(1).

AUTHOR
       Christoph Berg <myon@debian.org>



Debian                            2016-03-27                  PG_VIRTUALENV(1)
