PosgreSQL: Add version choice (#8103)

* Add version choice

* Update

* Update
This commit is contained in:
Slaviša Arežina 2025-10-04 18:45:02 +02:00 committed by GitHub
parent aded2cbd56
commit e39dd5ffa3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 22 additions and 13 deletions

View File

@ -46,6 +46,10 @@
{
"text": "Set a password after installation for postgres user by running `echo \"ALTER USER postgres with encrypted password 'your_password';\" | sudo -u postgres psql`",
"type": "info"
},
{
"text": "Debian script offers versions `15, 16, 17, 18`, while Alpine script offers versions `15, 16, 17`.",
"type": "info"
}
]
}

View File

@ -13,9 +13,12 @@ setting_up_container
network_check
update_os
msg_info "Installing PostgreSQL"
$STD apk add --no-cache postgresql16 postgresql16-contrib postgresql16-openrc sudo
msg_ok "Installed PostgreSQL"
read -r -p "${TAB3}Enter PostgreSQL version (15/16/17): " ver
[[ $ver =~ ^(15|16|17)$ ]] || { echo "Invalid version"; exit 1; }
msg_info "Installing PostgreSQL ${ver}"
$STD apk add --no-cache postgresql${ver} postgresql${ver}-contrib postgresql${ver}-openrc sudo
msg_ok "Installed PostgreSQL ${ver}"
msg_info "Enabling PostgreSQL Service"
$STD rc-update add postgresql default
@ -26,8 +29,8 @@ $STD rc-service postgresql start
msg_ok "Started PostgreSQL"
msg_info "Configuring PostgreSQL for External Access"
conf_file="/etc/postgresql16/postgresql.conf"
hba_file="/etc/postgresql16/pg_hba.conf"
conf_file="/etc/postgresql${ver}/postgresql.conf"
hba_file="/etc/postgresql${ver}/pg_hba.conf"
sed -i 's/^#listen_addresses =.*/listen_addresses = '\''*'\''/' "$conf_file"
sed -i '/^host\s\+all\s\+all\s\+127.0.0.1\/32\s\+md5/ s/.*/host all all 0.0.0.0\/0 md5/' "$hba_file"
$STD rc-service postgresql restart

View File

@ -13,9 +13,11 @@ setting_up_container
network_check
update_os
PG_VERSION="17" setup_postgresql
read -r -p "${TAB3}Enter PostgreSQL version (15/16/17/18): " ver
[[ $ver =~ ^(15|16|17|18)$ ]] || { echo "Invalid version"; exit 1; }
PG_VERSION=$ver setup_postgresql
cat <<EOF >/etc/postgresql/17/main/pg_hba.conf
cat <<EOF >/etc/postgresql/$ver/main/pg_hba.conf
# PostgreSQL Client Authentication Configuration File
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
@ -34,7 +36,7 @@ host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
EOF
cat <<EOF >/etc/postgresql/17/main/postgresql.conf
cat <<EOF >/etc/postgresql/$ver/main/postgresql.conf
# -----------------------------
# PostgreSQL configuration file
# -----------------------------
@ -43,10 +45,10 @@ cat <<EOF >/etc/postgresql/17/main/postgresql.conf
# FILE LOCATIONS
#------------------------------------------------------------------------------
data_directory = '/var/lib/postgresql/17/main'
hba_file = '/etc/postgresql/17/main/pg_hba.conf'
ident_file = '/etc/postgresql/17/main/pg_ident.conf'
external_pid_file = '/var/run/postgresql/17-main.pid'
data_directory = '/var/lib/postgresql/$ver/main'
hba_file = '/etc/postgresql/$ver/main/pg_hba.conf'
ident_file = '/etc/postgresql/$ver/main/pg_ident.conf'
external_pid_file = '/var/run/postgresql/$ver-main.pid'
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
@ -92,7 +94,7 @@ log_timezone = 'Etc/UTC'
# PROCESS TITLE
#------------------------------------------------------------------------------
cluster_name = '17/main'
cluster_name = '$ver/main'
#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS