diff options
author | Miroslav Šulc <fordfrog@gentoo.org> | 2019-10-29 11:02:03 +0100 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2019-10-29 11:02:03 +0100 |
commit | 452e5829fd5a4c8d54ad1cf587dbb1ba1efc02de (patch) | |
tree | a7158768a271333ea828bfabe441d5e819fcf2dc /dev-db/postgresql | |
parent | dev-db/postgresql-9.3.25: restored (diff) | |
download | fordfrog-452e5829fd5a4c8d54ad1cf587dbb1ba1efc02de.tar.gz fordfrog-452e5829fd5a4c8d54ad1cf587dbb1ba1efc02de.tar.bz2 fordfrog-452e5829fd5a4c8d54ad1cf587dbb1ba1efc02de.zip |
dev-db/postgresql-9.3.25: added missing files
Package-Manager: Portage-2.3.78, Repoman-2.3.17
RepoMan-Options: --force
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'dev-db/postgresql')
-rw-r--r-- | dev-db/postgresql/Manifest | 2 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql.confd-9.3 | 65 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql.init-9.3-r1 | 157 |
3 files changed, 224 insertions, 0 deletions
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index ac51b1864..7772376c6 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -1,3 +1,5 @@ AUX postgresql-9.3-no-server.patch 3809 BLAKE2B 9022fe8000bff070ee5a4752fcbf9db06e6f83fec9451e5b3a391336a50a9a394a3ab2bfcde21f9462126973e83451e684110c1a1446dc0d6fb4ad7016c90df6 SHA512 5a8e6c5989f27e6b9a55ccc696578b109bc7d2b6c39f8364ceffed07add13f741d21803fa8eebfa6814eb7f997740c1831201b688487710d9275e212c3760d21 +AUX postgresql.confd-9.3 2477 BLAKE2B 0d42eedb99c951c8c60ed02abb5d4526bc288e8dd50b048cb3ab374239f1929aa80d10306037e45188a81593163121c029b91f9149365bff02ff7bfd0fe52ac4 SHA512 6c9e7c2de31eace2b3ce771a29eb354b143ea81f85d9d7ef601f302b7ae71c1c3badde8765fb7757dadcf0c49dcfa1116977e8b7f1e238350d3732962267147f +AUX postgresql.init-9.3-r1 4996 BLAKE2B 60a3669a8566700babaa7ffa3e45a6954017a71da9d587814c6b5312c3596c1e2d4ecb3e83b67016292ed72ec3ed3366048c22df3988b82ff335765debddb7e8 SHA512 16c6d88b695575f5ca8f708abb0706845901f2445600cf4e28315add9c3e819df42e1112859e9f9529bc22fe0b2d1bdcff0ab6f9c39ce29d1fbaca1a91a065d1 DIST postgresql-9.3.25.tar.bz2 17067593 BLAKE2B fd9ca5685e5511dcaa72da882b674846dcd5a16227e5b33ae06701fe7881df71847666c37925033c6cb01c916111a8f76df134491645f4d1e1dd48a008bd2831 SHA512 319e12b73853b74f5ef2c520d64795bb586ffd495ceab6518f7844de6e0a054aea821976c470108d346f8090c7d3949920d9c435432e33004b7caa7a77a5cdca EBUILD postgresql-9.3.25.ebuild 13451 BLAKE2B 573d06539dad736d15054002eac2678db6097e4216069ea1ae91c7f9dcdfd80f148d5b57a238e4b241a2ae68af1bb76b1924175b8186fe1a69b630b0934875fc SHA512 941bcccb671e25230184c7655442ae23e8e88435006b55ed88e8db0753ee372be73819d108f3c46480d270aa4f7dfb4fca1103c6e5933ad9d6d9b7e7f093e2f8 diff --git a/dev-db/postgresql/files/postgresql.confd-9.3 b/dev-db/postgresql/files/postgresql.confd-9.3 new file mode 100644 index 000000000..38bf113d3 --- /dev/null +++ b/dev-db/postgresql/files/postgresql.confd-9.3 @@ -0,0 +1,65 @@ +# Comma-separated list of directories that contain a unix +# socket. Created and controlled by the related initscript. The +# directories created will be owned root:postgres with mode 1775. +# +# /run/postgresql is the default directory. +PG_SOCKET_DIRECTORIES="/run/postgresql" + +# Which port and socket to bind PostgreSQL +PGPORT="5432" + +# How long to wait for server to start in seconds +START_TIMEOUT=10 + +# NICE_QUIT ignores new connections and wait for clients to disconnect from +# server before shutting down. NICE_TIMEOUT in seconds determines how long to +# wait for this to succeed. +NICE_TIMEOUT=60 + +# Forcefully disconnect clients from server and shut down. This is performed +# after NICE_QUIT. Terminated client connections have their open transactions +# rolled back. +# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds. +RUDE_QUIT="YES" +RUDE_TIMEOUT=30 + +# If the server still fails to shutdown, you can force it to quit by setting +# this to YES and a recover-run will execute on the next startup. +# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds. +FORCE_QUIT="NO" +FORCE_TIMEOUT=2 + +# Extra options to run postmaster with, e.g.: +# -N is the maximal number of client connections +# -B is the number of shared buffers and has to be at least 2x the value for -N +# Please read the man-page to postmaster for more options. Many of these +# options can be set directly in the configuration file. +#PGOPTS="-N 512 -B 1024" + +# Pass extra environment variables. If you have to export environment variables +# for the database process, this can be done here. +# Don't forget to escape quotes. +#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\"" + +############################################################################## +# +# The following values should not be arbitrarily changed. +# +# `emerge --config dev-db/postgresql:@SLOT@' uses these values to +# determine where to create the data directory, where to place the +# configuration files, and any additional options to pass to initdb. +# +# The initscript also uses these variables to inform PostgreSQL where to find +# its data directory and configuration files. +# +############################################################################## + +# Location of configuration files +PGDATA="/etc/postgresql-@SLOT@/" + +# Where the data directory is located/to be created +DATA_DIR="/var/lib/postgresql/@SLOT@/data" + +# Additional options to pass to initdb. +# See `man initdb' for available options. +PG_INITDB_OPTS="--encoding=UTF8" diff --git a/dev-db/postgresql/files/postgresql.init-9.3-r1 b/dev-db/postgresql/files/postgresql.init-9.3-r1 new file mode 100644 index 000000000..9d145f68d --- /dev/null +++ b/dev-db/postgresql/files/postgresql.init-9.3-r1 @@ -0,0 +1,157 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="reload promote" + +PG_CTL="/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl" + +description="PostgreSQL @SLOT@ -- the world's most advanced open source database -- +${RC_SERVICE} is a wrapper around pg_ctl with additional administrative checks +and convenience" + +get_config() { + [ -f "${PGDATA%/}/postgresql.conf" ] || return 1 + + eval echo $(sed -e 's:#.*::' "${PGDATA%/}/postgresql.conf" \ + | awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }') +} + +depend() { + use net + provide postgresql + + if [ "$(get_config log_destination)" = "syslog" ]; then + use logger + fi +} + +configured_port=$(get_config port) +: ${configured_port:=${PGPORT}} + +checkconfig() { + # Check that DATA_DIR has been set + if [ -z "${DATA_DIR}" ] ; then + eerror "DATA_DIR not set" + eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@" + return 1 + fi + + # Check that DATA_DIR exists + if [ ! -d "${DATA_DIR}" ] ; then + eerror "Directory not found: ${DATA_DIR}" + eerror "HINT: Ensure that DATA_DIR points to the right path." + eerror "HINT: Or perhaps you need to create the database cluster:" + eerror " emerge --config dev-db/postgresql:@SLOT@" + return 1 + fi + + # Check for the existence of PostgreSQL's config files, and set the + # proper mode and ownership. + # Only three files should be checked as potentially other files + # may be in PGDATA that should not be touched. + local file + for file in postgresql pg_hba pg_ident ; do + file="${PGDATA%/}/${file}.conf" + if [ -f "${file}" ] ; then + checkpath -f -m 0600 -o postgres:postgres "${file}" + else + eerror "${file} not found" + eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}" + return 1 + fi + done + + # Set the proper permission for the socket paths and create it if + # it doesn't exist. + set -f; IFS=',' + local s + for s in ${PG_SOCKET_DIRECTORIES}; do + checkpath -d -m 1775 -o root:postgres "${s}" + if [ -e "${s%/}/.s.PGSQL.${configured_port}" ] ; then + eerror "Socket conflict." + eerror "A server is already listening on:" + eerror " ${s%/}/.s.PGSQL.${configured_port}" + eerror "HINT: Change PGPORT to listen on a different socket." + return 1 + fi + done + set +f; unset IFS +} + +start() { + checkconfig || return 1 + + ebegin "Starting PostgreSQL @SLOT@" + + rm -f "${DATA_DIR%/}/postmaster.pid" + + su - postgres -c \ + "PGPORT=${configured_port} ${PG_EXTRA_ENV} ${PG_CTL} start \ + -s -w -t ${START_TIMEOUT} -l ${DATA_DIR%/}/postmaster.log \ + -D ${PGDATA} \ + -o '--data-directory=${DATA_DIR} \ + --unix-socket-directories=${PG_SOCKET_DIRECTORIES} \ + ${PGOPTS}'" + + local retval=$? + + if [ $retval -ne 0 ] ; then + eerror "Check the log for a possible explanation of the above error." + eerror "The log may be located at:" + eerror " ${DATA_DIR%/}/postmaster.log" + eerror "Or wherever you configured PostgreSQL @SLOT@ to log." + fi + + eend $retval +} + +stop() { + local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} )) + ebegin "Stopping PostgreSQL @SLOT@ (this can take up to ${seconds} seconds)" + + su - postgres -c \ + "${PG_CTL} stop -t ${NICE_TIMEOUT} -s -D ${DATA_DIR} -m smart" + local retval=$? + + if [ "${RUDE_QUIT}" != "NO" -a ${retval} -ne 0 ] ; then + einfo "Previous attempt failed. Trying RUDE_QUIT." + su - postgres -c \ + "${PG_CTL} stop -t ${RUDE_TIMEOUT} -s -D ${DATA_DIR} -m fast" + retval=$? + fi + + if [ "${FORCE_QUIT}" = "YES" -a ${retval} -ne 0 ] ; then + einfo "Previous step failed. Trying FORCE_QUIT." + ewarn "A recover-run might be executed on next startup." + su - postgres -c \ + "${PG_CTL} stop -t ${FORCE_TIMEOUT} -s -D ${DATA_DIR} -m immediate" + retval=$? + fi + + eend ${retval} +} + +status() { + ebegin "Checking PostgreSQL @SLOT@ status" + su - postgres -c "${PG_CTL} status -D ${DATA_DIR}" + eend $? +} + +description_reload="Simply sends the postgres process a SIGHUP signal, causing + it to reread its configuration files (postgresql.conf, pg_hba.conf, + etc.). This allows changing of configuration-file options that do not + require a complete restart to take effect." +reload() { + ebegin "Reloading PostgreSQL @SLOT@ configuration" + su - postgres -c "${PG_CTL} reload -s -D ${DATA_DIR}" + eend $? +} + +description_promote="If the server is in standby, it is commanded to exit + recovery and begin read-write operations." +promote() { + ebegin "Promoting PostgreSQL @SLOT@" + su - postgres -c "${PG_CTL} promote -s -D ${DATA_DIR}" + eend $? +} |