/postgresql-container

PostgreSQL container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.

Primary LanguageShellApache License 2.0Apache-2.0

PostgreSQL container images

This repository contains Dockerfiles for PostgreSQL images for OpenShift. Users can choose between RHEL, Fedora and CentOS based images.

For more information about using these images with OpenShift, please see the official OpenShift Documentation.

For more information about contributing, see the Contribution Guidelines. For more information about concepts used in these container images, see the Landing page.

Versions

PostgreSQL versions currently provided are:

RHEL versions currently supported are:

  • RHEL7

CentOS versions currently supported are:

  • CentOS7

Installation

Choose either the CentOS7 or RHEL7 based image:

  • RHEL7 based image

    These images are available in the Red Hat Container Catalog. To download it run:

    docker pull registry.access.redhat.com/rhscl/postgresql-96-rhel7
    

    To build a RHEL7 based image, you need to run Docker build on a properly subscribed RHEL machine.

    $ git clone --recursive https://github.com/sclorg/postgresql-container.git
    $ cd postgresql
    $ make build TARGET=rhel7 VERSIONS=9.6
    
  • CentOS7 based image

    These images are available on DockerHub. To download it run:

    $ docker pull centos/postgresql-96-centos7
    

    To build a PostgreSQL image from scratch run:

    $ git clone --recursive https://github.com/sclorg/postgresql-container.git
    $ cd postgresql
    $ make build TARGET=centos7 VERSIONS=9.6
    

Notice: By omitting the VERSIONS parameter, the build/test action will be performed on all provided versions of PostgreSQL.

Contributing

In this repository distgen is used for generating Dockerfiles. If you'd like update a Dockerfile, please make changes in specs/multispec.yml and/or Dockerfile.template (or other distgen file) and run make generate_dockerfiles.

Usage

For information about usage of Dockerfile for PostgreSQL 9.4, see usage documentation.

For information about usage of Dockerfile for PostgreSQL 9.5, see usage documentation.

For information about usage of Dockerfile for PostgreSQL 9.6, see usage documentation.

Test

This repository also provides a test framework, which checks basic functionality of the PostgreSQL image.

Users can choose between testing PostgreSQL based on a RHEL or CentOS image.

  • RHEL based image

    To test a RHEL7 based PostgreSQL image, you need to run the test on a properly subscribed RHEL machine.

    $ cd postgresql
    $ make test TARGET=rhel7 VERSIONS=9.6
    
  • CentOS based image

    $ cd postgresql
    $ make test TARGET=centos7 VERSIONS=9.6
    

+By using the TEST_CASE parameter you can choose a test case subset to be run against the image, eg:

$ cd postgresql
$ make test VERSIONS=9.6 TEST_CASE="run_general_tests run_replication_test"

Notice: By omitting the VERSIONS parameter, the build/test action will be performed on all provided versions of PostgreSQL.