commit:     c6a2c131bb245a1c4920b8538f7134edcacb2aba
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  8 07:53:17 2025 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Mon Sep  8 07:53:41 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6a2c131

dev-db/postgresql: drop 13.21, 14.18, 15.13, 16.9, 17.5

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 dev-db/postgresql/Manifest                |   5 -
 dev-db/postgresql/postgresql-13.21.ebuild | 460 ----------------------------
 dev-db/postgresql/postgresql-14.18.ebuild | 460 ----------------------------
 dev-db/postgresql/postgresql-15.13.ebuild | 462 ----------------------------
 dev-db/postgresql/postgresql-16.9.ebuild  | 463 ----------------------------
 dev-db/postgresql/postgresql-17.5.ebuild  | 480 ------------------------------
 6 files changed, 2330 deletions(-)

diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index c163992b52b0..5b5c4b1c31bf 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -1,11 +1,6 @@
-DIST postgresql-13.21.tar.bz2 21759813 BLAKE2B 
9cd2185e9361dcf0cd9d092904675465635684d3763369fcff5ad447eb14a41f236054adf0ca0de5d8d3e545c526ad21b5da0d2462d284427c586a945c34cc80
 SHA512 
800f58b7651babafcca43411d6215474422e57ed16e5af246bf8beb72afaf844ca325d5d02443089fb9848d0b42872f0251aaa873a79f5094806fcdd2e10ed4b
 DIST postgresql-13.22.tar.bz2 21783034 BLAKE2B 
f8bcef336728ead06037aaaebea2329add3882b80f9c81c8cc682304d92d646ff44e29088690d89ad35248e95b0d2333c8203fee0e25ea126b382c049f566a31
 SHA512 
0f578526aad852285de001369dd1c8308f03479c8f4f6c1a1d066b6b77103e340df95b9ab41df3f959c4e17d4fb0c0441b02a04d3e6c01cfcd40a2632c3ac7eb
-DIST postgresql-14.18.tar.bz2 22503241 BLAKE2B 
2af90004cd7a7bd9df6684f2a7e49ee7fff1592f5dffa6b3711a3fd76bba3ac6d909a7c61eb957a5054fe7692272adcc32422d4061ff38ea2841fae76eec0585
 SHA512 
fe40ba9fcc001f8c7eb3557c6248fa42af82b487ea4f31b8b20f5fa7ab930246659a4c8cf0bfa9a52f5143c766c0660d36b092474d2909020114ea3a1810adfd
 DIST postgresql-14.19.tar.bz2 22517457 BLAKE2B 
dffb76d753eefd89ba47708797d7d672eb90ea0f843891507fd0f8106ae6998be298049511b28ec3e06422f8fd2a3c702e883de44903f580e03a4c81d5feff5a
 SHA512 
8f7f49c439b954fc1091c32d857d16e25db0b6f3687d44a6a2360a6c72002545eb2f9d09f2b460aeed3371aeabbe7abf599d92ff60baa2d1e4882a106ad14139
-DIST postgresql-15.13.tar.bz2 23190593 BLAKE2B 
a53280103ff3b9d77e7da85c70e0296c7d111b15ca4775f938242055e3004cb2e1affbd0cd8f21655934c7a0375790f6bb1eb718a8342dc7f7b2d06c00eb5747
 SHA512 
dd16bc331f6e33cd8ba7a6f19582d4e94d66e4cf4b89b8fe1872f16854401b9f7caf0900478b64a05047d22d2ca07aea5ba71fd5c96fa04bd45713235acdd686
 DIST postgresql-15.14.tar.bz2 23229854 BLAKE2B 
182b0e87b871b9046b57710899fb013d3c74a81db4bc85494e806a171d53ccc746acf3f9f4cd017d980e9249f00ecbdb6867fc16c1d256f4d8d2dd6e8f65e028
 SHA512 
6bef254af257eb79a6b4ec1fd09a996351848561a493e529b7e44b053b368753d56cd76de74b07fff6d637606773963e83e4c3bb321682774b12d24dfa1ca8f4
 DIST postgresql-16.10.tar.bz2 24977722 BLAKE2B 
0b07df6cdd92159ca464dec9fc3f86a806a0a5d9829937f1084e914cac55deff4c3f63b8d9ff1dcac01086b1c1d83ed726c00b007ccd57490bef15194181ddd7
 SHA512 
b6de80d522f863b0d9dd8c2bf4f71bea309bd07586859e309a9821e7f6fd5839557dc396351e7b61aebf492bf8c8a053a324f059a1dee621ac1a6d5e8eccea22
-DIST postgresql-16.9.tar.bz2 24936316 BLAKE2B 
1a4e7f2bc4350d579ca900313745a6527a0b2c744ec92b4b57987aa0196210618bcff7406203b8149730b4eab9ce669e190b9e9fad05e34285ba0dfce26bfd06
 SHA512 
23a3d983c5be49c3daabbbde35db2920bd2e2ba8d9baba805e7908da1f43153ff438c76c253ea8ee8ac6f8a9313fbf0348a1e9b45ef530c5e156fee0daceb814
-DIST postgresql-17.5.tar.bz2 21595174 BLAKE2B 
56166737be1125eb0312ae212c86a430610a27ce4f5fbca56aeb46fd5e022a9ee1d7095c3a28bee60623f222f54152eb44f755df074dcf1caf6cb8fa78fc7ffd
 SHA512 
deae865e6c8e2ef5bb622288f790c5b83d22235496513e60351354970ff193eb885fb632c2d1321b8311c88c05b76a370d8d838473936c8438dbb569086b139f
 DIST postgresql-17.6.tar.bz2 21623975 BLAKE2B 
9287eab85e17a65333d970bf7d4d254e25295615b4787072ff2a6c705cb66b7775dbe3a0c6b6fa3e2ab37c3278d204ccfdd3e587226d4c1d6363868569149216
 SHA512 
d377ed208b3fd1bf9611f148f4286e8c655374218cc3b12cd766917063001750f7dede140065874b7c8bdc2f2b3ecaf15c18cc6cd341929b2c3a574a7797a67e
 DIST postgresql-18beta3.tar.bz2 22326308 BLAKE2B 
da55c6b03c875ac9c085ce7f6c707b3a57126b0741b1117eff3aaaf717f9776de3a42c22c3db48138c5903e862f56fc0a535eab9412801679241265f3967980f
 SHA512 
c04c34e7665bd83e85ee314658b47ef93f37c16b0fb885864eda851e2933cd25c84e58fe7e1dbacb71850281f3c2e53ffdd73cae1bba64adaf2f5b4fff7bd962

diff --git a/dev-db/postgresql/postgresql-13.21.ebuild 
b/dev-db/postgresql/postgresql-13.21.ebuild
deleted file mode 100644
index 9ecc47cd2b4a..000000000000
--- a/dev-db/postgresql/postgresql-13.21.ebuild
+++ /dev/null
@@ -1,460 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..14} )
-LLVM_COMPAT=( {15..20} )
-LLVM_OPTIONAL=1
-
-inherit dot-a flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd 
tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2";
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/";
-
-IUSE="debug doc icu kerberos ldap llvm nls pam perl python +readline
-         selinux +server systemd ssl static-libs tcl uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-acct-group/postgres
-acct-user/postgres
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap:= )
-llvm? ( $(llvm_gen_dep '
-       llvm-core/clang:${LLVM_SLOT}
-       llvm-core/llvm:${LLVM_SLOT}
-       ') )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-sys-devel/bison
-app-alternatives/lex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use llvm && llvm-r1_pkg_setup
-
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       eapply "${FILESDIR}"/${PN}-13.3-riscv-spinlocks.patch
-
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-13.8-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       lto-guarantee-fat
-
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       local myconf="\
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable debug) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls)"
-       if use alpha; then
-               myconf+=" --disable-spinlocks"
-       else
-               # Should be the default but just in case
-               myconf+=" --enable-spinlocks"
-       fi
-       econf ${myconf}
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       
pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man 
dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die 
"pushd failed"
-
-               for f in 
"${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > 
${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > 
${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
-                        -delete
-       strip-lto-bytecode "${ED}"
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - 
${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e 
"s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir 
${PN}-${SLOT}-check-db-dir
-                       newtmpfiles "${FILESDIR}"/${PN}.tmpfiles 
${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account 
session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL";
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html";
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit 
PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial 
database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and 
you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that 
you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database 
cluster?"
-               ewarn 
"\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL";
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by 
editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found 
at:"
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html";
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html";
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent 
dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't 
chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su - postgres -c 
"${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" 
${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U 
postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf 
"${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       einfo "The autovacuum function, which was in contrib, has been moved to 
the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is 
now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} 
--data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to 
run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the 
'${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the 
same. We set
-               # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by 
Portage.
-               local old_ctype=${LC_CTYPE}
-               export LC_CTYPE=${LC_COLLATE}
-               emake check
-               export LC_CTYPE=${old_ctype}
-               einfo "If you think other tests besides the regression tests 
are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable 
them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use 
flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" 
in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}

diff --git a/dev-db/postgresql/postgresql-14.18.ebuild 
b/dev-db/postgresql/postgresql-14.18.ebuild
deleted file mode 100644
index e0f3d5f6752a..000000000000
--- a/dev-db/postgresql/postgresql-14.18.ebuild
+++ /dev/null
@@ -1,460 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..14} )
-LLVM_COMPAT=( {15..20} )
-LLVM_OPTIONAL=1
-
-inherit dot-a flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd 
tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2";
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/";
-
-IUSE="debug doc icu kerberos ldap llvm +lz4 nls pam perl python +readline
-         selinux +server systemd ssl static-libs tcl uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-acct-group/postgres
-acct-user/postgres
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap:= )
-llvm? ( $(llvm_gen_dep '
-       llvm-core/clang:${LLVM_SLOT}
-       llvm-core/llvm:${LLVM_SLOT}
-       ') )
-lz4? ( app-arch/lz4 )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-sys-devel/bison
-app-alternatives/lex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use llvm && llvm-r1_pkg_setup
-
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-14.5-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       lto-guarantee-fat
-
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       local myconf="\
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable debug) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with lz4) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls)"
-       if use alpha; then
-               myconf+=" --disable-spinlocks"
-       else
-               # Should be the default but just in case
-               myconf+=" --enable-spinlocks"
-       fi
-       econf ${myconf}
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       
pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man 
dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die 
"pushd failed"
-
-               for f in 
"${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > 
${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > 
${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
-                        -delete
-       strip-lto-bytecode "${ED}"
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - 
${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e 
"s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir 
${PN}-${SLOT}-check-db-dir
-                       newtmpfiles "${FILESDIR}"/${PN}.tmpfiles 
${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account 
session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL";
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html";
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit 
PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial 
database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and 
you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that 
you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database 
cluster?"
-               ewarn 
"\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL";
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by 
editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found 
at:"
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html";
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html";
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent 
dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't 
chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su - postgres -c 
"${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" 
${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U 
postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf 
"${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       einfo "The autovacuum function, which was in contrib, has been moved to 
the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is 
now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} 
--data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to 
run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the 
'${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the 
same. We set
-               # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by 
Portage.
-               local old_ctype=${LC_CTYPE}
-               export LC_CTYPE=${LC_COLLATE}
-               emake check
-               export LC_CTYPE=${old_ctype}
-               einfo "If you think other tests besides the regression tests 
are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable 
them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use 
flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" 
in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}

diff --git a/dev-db/postgresql/postgresql-15.13.ebuild 
b/dev-db/postgresql/postgresql-15.13.ebuild
deleted file mode 100644
index c87381ff3006..000000000000
--- a/dev-db/postgresql/postgresql-15.13.ebuild
+++ /dev/null
@@ -1,462 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..14} )
-LLVM_COMPAT=( {15..20} )
-LLVM_OPTIONAL=1
-
-inherit dot-a flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd 
tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 
~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2";
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/";
-
-IUSE="debug doc icu kerberos ldap llvm +lz4 nls pam perl python +readline
-         selinux +server systemd ssl static-libs tcl uuid xml zlib +zstd"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-acct-group/postgres
-acct-user/postgres
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap:= )
-llvm? ( $(llvm_gen_dep '
-       llvm-core/clang:${LLVM_SLOT}
-       llvm-core/llvm:${LLVM_SLOT}
-       ') )
-lz4? ( app-arch/lz4 )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-zstd? ( app-arch/zstd )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-sys-devel/bison
-app-alternatives/lex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use llvm && llvm-r1_pkg_setup
-
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-15_beta3-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       lto-guarantee-fat
-
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       local myconf="\
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable debug) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with lz4) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_with zstd) \
-               $(use_enable nls)"
-       if use alpha; then
-               myconf+=" --disable-spinlocks"
-       else
-               # Should be the default but just in case
-               myconf+=" --enable-spinlocks"
-       fi
-       econf ${myconf}
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       
pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man 
dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die 
"pushd failed"
-
-               for f in 
"${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > 
${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > 
${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
-                        -delete
-       strip-lto-bytecode "${ED}"
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - 
${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e 
"s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir 
${PN}-${SLOT}-check-db-dir
-                       newtmpfiles "${FILESDIR}"/${PN}.tmpfiles 
${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account 
session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL";
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html";
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit 
PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial 
database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and 
you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that 
you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database 
cluster?"
-               ewarn 
"\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL";
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by 
editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found 
at:"
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html";
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html";
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent 
dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't 
chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su - postgres -c 
"${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" 
${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U 
postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf 
"${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       einfo "The autovacuum function, which was in contrib, has been moved to 
the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is 
now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} 
--data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to 
run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the 
'${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the 
same. We set
-               # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by 
Portage.
-               local old_ctype=${LC_CTYPE}
-               export LC_CTYPE=${LC_COLLATE}
-               emake check
-               export LC_CTYPE=${old_ctype}
-               einfo "If you think other tests besides the regression tests 
are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable 
them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use 
flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" 
in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}

diff --git a/dev-db/postgresql/postgresql-16.9.ebuild 
b/dev-db/postgresql/postgresql-16.9.ebuild
deleted file mode 100644
index 877651a41ead..000000000000
--- a/dev-db/postgresql/postgresql-16.9.ebuild
+++ /dev/null
@@ -1,463 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..14} )
-LLVM_COMPAT=( {15..20} )
-LLVM_OPTIONAL=1
-
-inherit dot-a flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd 
tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 
~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2";
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/";
-
-IUSE="debug doc +icu kerberos ldap llvm +lz4 nls pam perl python
-         +readline selinux +server systemd ssl static-libs tcl uuid xml
-         zlib +zstd"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-acct-group/postgres
-acct-user/postgres
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( app-crypt/mit-krb5 )
-ldap? ( net-nds/openldap:= )
-llvm? ( $(llvm_gen_dep '
-       llvm-core/clang:${LLVM_SLOT}
-       llvm-core/llvm:${LLVM_SLOT}
-       ') )
-lz4? ( app-arch/lz4 )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-zstd? ( app-arch/zstd )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-sys-devel/bison
-app-alternatives/lex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use llvm && llvm-r1_pkg_setup
-
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-15_beta3-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       lto-guarantee-fat
-
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       local myconf="\
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable debug) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with lz4) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_with zstd) \
-               $(use_enable nls)"
-       if use alpha; then
-               myconf+=" --disable-spinlocks"
-       else
-               # Should be the default but just in case
-               myconf+=" --enable-spinlocks"
-       fi
-       econf ${myconf}
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       
pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man 
dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die 
"pushd failed"
-
-               for f in 
"${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > 
${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > 
${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
-                        -delete
-       strip-lto-bytecode "${ED}"
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - 
${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e 
"s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir 
${PN}-${SLOT}-check-db-dir
-                       newtmpfiles "${FILESDIR}"/${PN}.tmpfiles 
${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account 
session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL";
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html";
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit 
PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial 
database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and 
you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that 
you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database 
cluster?"
-               ewarn 
"\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL";
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by 
editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found 
at:"
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html";
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html";
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent 
dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't 
chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su - postgres -c 
"${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" 
${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U 
postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf 
"${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       einfo "The autovacuum function, which was in contrib, has been moved to 
the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is 
now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} 
--data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to 
run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the 
'${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the 
same. We set
-               # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by 
Portage.
-               local old_ctype=${LC_CTYPE}
-               export LC_CTYPE=${LC_COLLATE}
-               emake check
-               export LC_CTYPE=${old_ctype}
-               einfo "If you think other tests besides the regression tests 
are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable 
them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use 
flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" 
in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}

diff --git a/dev-db/postgresql/postgresql-17.5.ebuild 
b/dev-db/postgresql/postgresql-17.5.ebuild
deleted file mode 100644
index ec2c1e3ad9d1..000000000000
--- a/dev-db/postgresql/postgresql-17.5.ebuild
+++ /dev/null
@@ -1,480 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..14} )
-LLVM_COMPAT=( {15..20} )
-LLVM_OPTIONAL=1
-
-inherit dot-a flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd 
tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 
~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2";
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/";
-
-IUSE="debug doc +icu kerberos ldap llvm +lz4 nls pam perl python
-         +readline selinux +server systemd ssl static-libs tcl uuid xml
-         zlib +zstd"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-acct-group/postgres
-acct-user/postgres
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( app-crypt/mit-krb5 )
-ldap? ( net-nds/openldap:= )
-llvm? ( $(llvm_gen_dep '
-       llvm-core/clang:${LLVM_SLOT}
-       llvm-core/llvm:${LLVM_SLOT}
-       ') )
-lz4? ( app-arch/lz4 )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-zstd? ( app-arch/zstd )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-sys-devel/bison
-app-alternatives/lex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-# Openjade, docbook, XML, and XSLT are needed to generate manpages and
-# any documentation that may be elected.
-BDEPEND="
-app-text/openjade
-app-text/docbook-dsssl-stylesheets
-app-text/docbook-sgml-dtd:4.5
-app-text/docbook-xml-dtd:4.5
-app-text/docbook-xsl-stylesheets
-dev-libs/libxml2
-dev-libs/libxslt
-"
-
-pkg_setup() {
-       use llvm && llvm-r1_pkg_setup
-
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-17.0-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       lto-guarantee-fat
-
-       # Fails to build with C23, fallback to the old default in < GCC 15
-       # for now: https://marc.info/?l=pgsql-bugs&m=173185132906874&w=2
-       append-cflags -std=gnu17
-
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       local myconf="\
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable debug) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with lz4) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_with zstd) \
-               $(use_enable nls)"
-       if use alpha; then
-               myconf+=" --disable-spinlocks"
-       else
-               # Should be the default but just in case
-               myconf+=" --enable-spinlocks"
-       fi
-       econf ${myconf}
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-       emake -C doc
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc HISTORY
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       
pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man 
dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die 
"pushd failed"
-
-               for f in 
"${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > 
${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > 
${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
-                        -delete
-       strip-lto-bytecode "${ED}"
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - 
${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e 
"s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir 
${PN}-${SLOT}-check-db-dir
-                       newtmpfiles "${FILESDIR}"/${PN}.tmpfiles 
${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account 
session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL";
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html";
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit 
PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial 
database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and 
you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that 
you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database 
cluster?"
-               ewarn 
"\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL";
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by 
editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found 
at:"
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html";
-       einfo "    
https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html";
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent 
dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't 
chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su - postgres -c 
"${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" 
${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U 
postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf 
"${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       einfo "The autovacuum function, which was in contrib, has been moved to 
the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is 
now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} 
--data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to 
run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the 
'${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the 
same. We set
-               # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by 
Portage.
-               local old_ctype=${LC_CTYPE}
-               export LC_CTYPE=${LC_COLLATE}
-               emake check
-               export LC_CTYPE=${old_ctype}
-               einfo "If you think other tests besides the regression tests 
are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable 
them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use 
flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" 
in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}

Reply via email to