diff --git a/9.2/alpine/docker-entrypoint.sh b/9.2/alpine/docker-entrypoint.sh index 0ec0bdd54e..bd2f521a96 100755 --- a/9.2/alpine/docker-entrypoint.sh +++ b/9.2/alpine/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.2/docker-entrypoint.sh b/9.2/docker-entrypoint.sh index 66ea0f1d94..53c18a756d 100755 --- a/9.2/docker-entrypoint.sh +++ b/9.2/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.3/alpine/docker-entrypoint.sh b/9.3/alpine/docker-entrypoint.sh index 0ec0bdd54e..bd2f521a96 100755 --- a/9.3/alpine/docker-entrypoint.sh +++ b/9.3/alpine/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.3/docker-entrypoint.sh b/9.3/docker-entrypoint.sh index 66ea0f1d94..53c18a756d 100755 --- a/9.3/docker-entrypoint.sh +++ b/9.3/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.4/alpine/docker-entrypoint.sh b/9.4/alpine/docker-entrypoint.sh index 0ec0bdd54e..bd2f521a96 100755 --- a/9.4/alpine/docker-entrypoint.sh +++ b/9.4/alpine/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.4/docker-entrypoint.sh b/9.4/docker-entrypoint.sh index 66ea0f1d94..53c18a756d 100755 --- a/9.4/docker-entrypoint.sh +++ b/9.4/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.5/alpine/docker-entrypoint.sh b/9.5/alpine/docker-entrypoint.sh index 0ec0bdd54e..bd2f521a96 100755 --- a/9.5/alpine/docker-entrypoint.sh +++ b/9.5/alpine/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.5/docker-entrypoint.sh b/9.5/docker-entrypoint.sh index 66ea0f1d94..53c18a756d 100755 --- a/9.5/docker-entrypoint.sh +++ b/9.5/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.6/alpine/docker-entrypoint.sh b/9.6/alpine/docker-entrypoint.sh index 0ec0bdd54e..bd2f521a96 100755 --- a/9.6/alpine/docker-entrypoint.sh +++ b/9.6/alpine/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/9.6/docker-entrypoint.sh b/9.6/docker-entrypoint.sh index 66ea0f1d94..53c18a756d 100755 --- a/9.6/docker-entrypoint.sh +++ b/9.6/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@" diff --git a/README.md b/README.md index 3b0fa322ce..f8ae41008d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +# About Cliix Fork + +This fork aims to customize Postgres' docker container for our needs. For now the changes +made to this include: + +* Enable logging during application start (docker-entrypoint.sh) + # About this Repo This is the Git repo of the Docker [official image](https://docs.docker.com/docker-hub/official_repos/) for [postgres](https://registry.hub.docker.com/_/postgres/). See [the Docker Hub page](https://registry.hub.docker.com/_/postgres/) for the full readme on how to use this Docker image and for information regarding contributing and issues. diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 66ea0f1d94..53c18a756d 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,6 +1,33 @@ #!/bin/bash set -e +## +# Cliix specific functions +## +configure_log() { + CONF_FILE="${PGDATA}/postgresql.conf" + if [ -f ${CONF_FILE} ]; then + cp ${CONF_FILE} /tmp/postgresql.conf + sed -i 's/#log_min_duration_statement = -1/log_min_duration_statement = 150/g; + s/#log_connections = off/log_connections = on/g; + s/#log_disconnections = off/log_disconnections = on/g; + s/#log_lock_waits = off/log_lock_waits = on/g' /tmp/postgresql.conf + if [ $(cmp -s /tmp/postgresql.conf ${CONF_FILE} && echo 0 || echo 1) -eq 1 ]; then + echo "Configuration file changed." + cp ${CONF_FILE} ${CONF_FILE}.ori + mv /tmp/postgresql.conf ${CONF_FILE} + else + echo "No configuration changed this time." + fi + else + echo "Oops! Config file not available." + fi +} + + +### +# Original +### # usage: file_env VAR [DEFAULT] # ie: file_env 'XYZ_DB_PASSWORD' 'example' # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of @@ -78,7 +105,7 @@ if [ "$1" = 'postgres' ]; then { echo; echo "host all all all $authMethod"; } | tee -a "$PGDATA/pg_hba.conf" > /dev/null - # internal start of server in order to allow set-up using psql-client + # internal start of server in order to allow set-up using psql-client # does not listen on external TCP/IP and waits until start finishes PGUSER="${PGUSER:-postgres}" \ pg_ctl -D "$PGDATA" \ @@ -129,4 +156,6 @@ if [ "$1" = 'postgres' ]; then fi fi +configure_log + exec "$@"