Skip to content

Commit

Permalink
Merge pull request #143 from sameersbn/pg-12
Browse files Browse the repository at this point in the history
release 12-20200524
  • Loading branch information
sameersbn authored May 24, 2020
2 parents 848c73a + 59a034a commit 00a6392
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 23 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ FROM ubuntu:bionic-20200403
LABEL maintainer="[email protected]"

ENV PG_APP_HOME="/etc/docker-postgresql" \
PG_VERSION=11 \
PG_VERSION=12 \
PG_USER=postgres \
PG_HOME=/var/lib/postgresql \
PG_RUNDIR=/run/postgresql \
Expand Down
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![Circle CI](https://circleci.com/gh/sameersbn/docker-postgresql.svg?style=shield)](https://circleci.com/gh/sameersbn/docker-postgresql) [![Docker Repository on Quay.io](https://quay.io/repository/sameersbn/postgresql/status "Docker Repository on Quay.io")](https://quay.io/repository/sameersbn/postgresql) [![](https://badge.imagelayers.io/sameersbn/postgresql.svg)](https://imagelayers.io/?images=sameersbn/postgresql:latest 'Get your own badge on imagelayers.io')

# sameersbn/postgresql:11-20200524
# sameersbn/postgresql:12-20200524

- [Introduction](#introduction)
- [Contributing](#contributing)
Expand Down Expand Up @@ -61,7 +61,7 @@ Automated builds of the image are available on [Dockerhub](https://hub.docker.co
> **Note**: Builds are also available on [Quay.io](https://quay.io/repository/sameersbn/postgresql)
```bash
docker pull sameersbn/postgresql:11-20200524
docker pull sameersbn/postgresql:12-20200524
```

Alternatively you can build the image yourself.
Expand All @@ -78,7 +78,7 @@ Start PostgreSQL using:
docker run --name postgresql -itd --restart always \
--publish 5432:5432 \
--volume postgresql:/var/lib/postgresql \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

Login to the PostgreSQL server using:
Expand Down Expand Up @@ -109,7 +109,7 @@ By default connections to the PostgreSQL server need to authenticated using a pa
```bash
docker run --name postgresql -itd --restart always \
--env 'PG_TRUST_LOCALNET=true' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

> **Note**
Expand All @@ -123,7 +123,7 @@ By default the `postgres` user is not assigned a password and as a result you ca
```bash
docker run --name postgresql -itd --restart always \
--env 'PG_PASSWORD=passw0rd' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```


Expand All @@ -139,7 +139,7 @@ A new PostgreSQL database user can be created by specifying the `DB_USER` and `D
```bash
docker run --name postgresql -itd --restart always \
--env 'DB_USER=dbuser' --env 'DB_PASS=dbuserpass' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

> **Notes**
Expand All @@ -156,7 +156,7 @@ A new PostgreSQL database can be created by specifying the `DB_NAME` variable wh
```bash
docker run --name postgresql -itd --restart always \
--env 'DB_NAME=dbname' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

By default databases are created by copying the standard system database named `template1`. You can specify a different template for your database using the `DB_TEMPLATE` parameter. Refer to [Template Databases](http://www.postgresql.org/docs/9.4/static/manage-ag-templatedbs.html) for further information.
Expand All @@ -168,7 +168,7 @@ Additionally, more than one database can be created by specifying a comma separa
```bash
docker run --name postgresql -itd --restart always \
--env 'DB_NAME=dbname1,dbname2' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

## Granting user access to a database
Expand All @@ -179,7 +179,7 @@ If the `DB_USER` and `DB_PASS` variables are specified along with the `DB_NAME`
docker run --name postgresql -itd --restart always \
--env 'DB_USER=dbuser' --env 'DB_PASS=dbuserpass' \
--env 'DB_NAME=dbname1,dbname2' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

In the above example `dbuser` with be granted access to both the `dbname1` and `dbname2` databases.
Expand All @@ -191,7 +191,7 @@ The image also packages the [postgres contrib module](http://www.postgresql.org/
```bash
docker run --name postgresql -itd \
--env 'DB_NAME=db1,db2' --env 'DB_EXTENSION=unaccent,pg_trgm' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

The above command enables the `unaccent` and `pg_trgm` modules on the databases listed in `DB_NAME`, namely `db1` and `db2`.
Expand All @@ -207,7 +207,7 @@ Similar to the creation of a database user, a new PostgreSQL replication user ca
```bash
docker run --name postgresql -itd --restart always \
--env 'REPLICATION_USER=repluser' --env 'REPLICATION_PASS=repluserpass' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

> **Notes**
Expand All @@ -229,7 +229,7 @@ Begin by creating the master node of our cluster:
docker run --name postgresql-master -itd --restart always \
--env 'DB_USER=dbuser' --env 'DB_PASS=dbuserpass' --env 'DB_NAME=dbname' \
--env 'REPLICATION_USER=repluser' --env 'REPLICATION_PASS=repluserpass' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

Notice that no additional arguments are specified while starting the master node of the cluster.
Expand All @@ -244,7 +244,7 @@ docker run --name postgresql-slave01 -itd --restart always \
--env 'REPLICATION_MODE=slave' --env 'REPLICATION_SSLMODE=prefer' \
--env 'REPLICATION_HOST=master' --env 'REPLICATION_PORT=5432' \
--env 'REPLICATION_USER=repluser' --env 'REPLICATION_PASS=repluserpass' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

*In the above command, we used docker links so that we can address the master node using the `master` alias in `REPLICATION_HOST`.*
Expand Down Expand Up @@ -276,7 +276,7 @@ docker run --name postgresql-snapshot -itd --restart always \
--env 'REPLICATION_MODE=snapshot' --env 'REPLICATION_SSLMODE=prefer' \
--env 'REPLICATION_HOST=master' --env 'REPLICATION_PORT=5432' \
--env 'REPLICATION_USER=repluser' --env 'REPLICATION_PASS=repluserpass' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

The difference between a slave and a snapshot is that a slave is read-only and updated whenever the master data is updated (streaming replication), while a snapshot is read-write and is not updated after the initial snapshot of the data from the master.
Expand All @@ -298,7 +298,7 @@ docker run --name postgresql-backup -it --rm \
--env 'REPLICATION_HOST=master' --env 'REPLICATION_PORT=5432' \
--env 'REPLICATION_USER=repluser' --env 'REPLICATION_PASS=repluserpass' \
--volume /srv/docker/backups/postgresql.$(date +%Y%m%d%H%M%S):/var/lib/postgresql \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

Once the backup is generated, the container will exit and the backup of the master data will be available at `/srv/docker/backups/postgresql.XXXXXXXXXXXX/`. Restoring the backup involves starting a container with the data in `/srv/docker/backups/postgresql.XXXXXXXXXXXX`.
Expand All @@ -309,7 +309,7 @@ You can customize the launch command of PostgreSQL server by specifying argument

```bash
docker run --name postgresql -itd --restart always \
sameersbn/postgresql:11-20200524 -c log_connections=on
sameersbn/postgresql:12-20200524 -c log_connections=on
```

Please refer to the documentation of [postgres](http://www.postgresql.org/docs/9.4/static/app-postgres.html) for the complete list of available options.
Expand All @@ -320,7 +320,7 @@ By default the PostgreSQL server logs are sent to the standard output. Using the

```bash
docker run --name postgresql -itd --restart always \
sameersbn/postgresql:11-20200524 -c logging_collector=on
sameersbn/postgresql:12-20200524 -c logging_collector=on
```

To access the PostgreSQL logs you can use `docker exec`. For example:
Expand All @@ -342,7 +342,7 @@ For example, if you want to assign the `postgres` user of the container the UID
```bash
docker run --name postgresql -itd --restart always \
--env 'USERMAP_UID=999' --env 'USERMAP_GID=999' \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

# Maintenance
Expand All @@ -354,7 +354,7 @@ To upgrade to newer releases:
1. Download the updated Docker image:

```bash
docker pull sameersbn/postgresql:11-20200524
docker pull sameersbn/postgresql:12-20200524
```

2. Stop the currently running image:
Expand All @@ -374,7 +374,7 @@ To upgrade to newer releases:
```bash
docker run --name postgresql -itd \
[OPTIONS] \
sameersbn/postgresql:11-20200524
sameersbn/postgresql:12-20200524
```

## Shell Access
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
11-20200524
12-20200524
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
PostgreSQL:
restart: always
image: sameersbn/postgresql:11-20200524
image: sameersbn/postgresql:12-20200524
ports:
- "5432:5432"
environment:
Expand Down

0 comments on commit 00a6392

Please sign in to comment.