#!/bin/sh -e . /usr/share/debconf/confmodule db_stop SSL_ROOT=/etc/postgresql-common/root.crt if [ "$1" = configure ]; then # Make sure the administrative user exists if ! getent passwd postgres > /dev/null; then adduser --system --quiet --home /var/lib/postgresql --no-create-home \ --shell /bin/bash --group --gecos "PostgreSQL administrator" postgres fi # check validity of postgres user and group if [ "`id -u postgres`" -eq 0 ]; then echo "The postgres system user must not have uid 0 (root). Please fix this and reinstall this package." >&2 exit 1 fi if [ "`id -g postgres`" -eq 0 ]; then echo "The postgres system user must not have root as primary group. Please fix this and reinstall this package." >&2 exit 1 fi # ensure home directory ownership mkdir -p /var/lib/postgresql chown postgres:postgres /var/lib/postgresql # nicer log directory permissions mkdir -p /var/log/postgresql chmod 1775 /var/log/postgresql chown root:postgres /var/log/postgresql # create socket directory [ -d /var/run/postgresql ] || \ install -d -m 2775 -o postgres -g postgres /var/run/postgresql # create default dummy root.crt if not present if ! [ -e "$SSL_ROOT" ]; then cat > "$SSL_ROOT" </dev/null; then adduser --quiet postgres ssl-cert fi fi # Clean up junk from the Sarge->Etch postgresql transition; needs to be # kept until Lenny's release if dpkg --compare-versions "$2" lt "77"; then if [ -d /usr/lib/postgresql/dumpall/ ]; then rm -rf /usr/lib/postgresql/dumpall/ fi fi # restart all servers if dpkg --compare-versions "$2" lt-nl 53; then if [ -d /usr/lib/postgresql/ ]; then for v in $(ls /usr/lib/postgresql/); do if [ -x "/etc/init.d/postgresql-$v" ]; then if [ -x /usr/sbin/invoke-rc.d ]; then invoke-rc.d postgresql-$v restart else /etc/init.d/postgresql-$v restart fi fi done fi fi # clean /usr/share/postgresql/*/tsearch_data/system_* stuff if dpkg --compare-versions "$2" lt-nl 105; then find /usr/share/postgresql/*/tsearch_data -type l \( -name 'system_*.dict' -o -name 'system_*.affix' \) -exec rm '{}' \; && pg_updatedicts || true fi if [ "$2" ]; then /usr/share/postgresql-common/run-upgrade-scripts "$2" || true fi /usr/share/postgresql-common/pg_checksystem || true if dpkg --compare-versions "$2" lt 94; then pg_updatedicts || true fi fi if [ "$1" = triggered ]; then pg_updatedicts || true fi