diff options
author | Palle Girgensohn <girgen@FreeBSD.org> | 2025-05-08 21:46:50 +0200 |
---|---|---|
committer | Palle Girgensohn <girgen@FreeBSD.org> | 2025-05-08 22:00:15 +0200 |
commit | a9608d62ae7125d78cd9f16748f786c8581699ad (patch) | |
tree | 9833dbf6dd32223613494e0fe506bc285c995dc3 /databases/postgresql18-server/files/postgresql.in | |
parent | security/vuxml: Add information about PostgreSQL overflow issue (diff) |
databases/postgresql??-*: Update to latest version
PostgreSQL 17.5, 16.9, 15.13, 14.18, and 13.21 Released!
The PostgreSQL Global Development Group has released an update to all
supported versions of PostgreSQL, including 17.5, 16.9, 15.13, 14.18,
and 13.21. This release fixes 1 security vulnerability and over 60 bugs
reported over the last several months.
Security: 78b8e808-2c45-11f0-9a65-6cc21735f730
Release notes: https://www.postgresql.org/about/news/postgresql-175-169-1513-1418-and-1321-released-3072/
Diffstat (limited to 'databases/postgresql18-server/files/postgresql.in')
-rw-r--r-- | databases/postgresql18-server/files/postgresql.in | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/databases/postgresql18-server/files/postgresql.in b/databases/postgresql18-server/files/postgresql.in new file mode 100644 index 000000000000..073d3a64c004 --- /dev/null +++ b/databases/postgresql18-server/files/postgresql.in @@ -0,0 +1,125 @@ +#!/bin/sh + +# PROVIDE: postgresql +# REQUIRE: DAEMON mountlate +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf to enable PostgreSQL: +# +# postgresql_enable="YES" +# # optional +# postgresql_data="/var/db/%%PG_USER%%/data%%PG_VERSION%%" +# postgresql_flags="-w -s -m fast" +# postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C" +# # leave empty to use the login class set in in /etc/passwd: +# postgresql_login_class="my_custom_login_class" +# postgresql_profiles="" +# +# See %%PREFIX%%/share/doc/postgresql/README-server for more info +# +# This scripts takes one of the following commands: +# +# start stop restart reload status initdb +# +# For postmaster startup options, edit ${postgresql_data}/postgresql.conf + +command=%%PREFIX%%/bin/pg_ctl + +. /etc/rc.subr + +load_rc_config postgresql + +# set defaults +: ${postgresql_enable:="NO"} +: ${postgresql_flags:="-w -s -m fast"} +: ${postgresql_user:="%%PG_USER%%"} +eval _pgdir="~${postgresql_user}/data%%PG_VERSION%%" +: ${postgresql_data:="${_pgdir}"} +: ${postgresql_login_class:=""} +: ${postgresql_initdb_flags:="--encoding=utf-8 --lc-collate=C"} +: ${postgresql_svcj_options:="net_basic"} + +name=postgresql +rcvar=postgresql_enable +extra_commands="reload initdb" + +start_cmd="postgresql_command start" +stop_cmd="postgresql_command stop" +restart_cmd="postgresql_command restart" +reload_cmd="postgresql_command reload" +status_cmd="postgresql_command status" +promote_cmd="postgresql_command promote" + +initdb_cmd="postgresql_initdb" + +su_cmd="/usr/bin/su" + +if [ -n "$2" ]; then + profile="$2" + if [ "x${postgresql_profiles}" != "x" ]; then + eval postgresql_data="\${postgresql_${profile}_data:-}" + if [ "x${postgresql_data}" = "x" ]; then + echo "You must define a data directory (postgresql_${profile}_data)" + exit 1 + fi + eval postgresql_enable="\${postgresql_${profile}_enable:-${postgresql_enable}}" + eval postgresql_data="\${postgresql_${profile}_data:-${postgresql_data}}" + eval postgresql_flags="\${postgresql_${profile}_flags:-${postgresql_flags}}" + eval postgresql_login_class="\${postgresql_${profile}_login_class:-${postgresql_login_class}}" + eval postgresql_initdb_flags="\${postgresql_${profile}_initdb_flags:-${postgresql_initdb_flags}}" + fi +else + if [ "x${postgresql_profiles}" != "x" -a "x$1" != "x" ]; then + for profile in ${postgresql_profiles}; do + eval _enable="\${postgresql_${profile}_enable}" + case "x${_enable:-${postgresql_enable}}" in + x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee]) + continue + ;; + x[Yy][Ee][Ss]) + ;; + *) + if test -z "$_enable"; then + _var=postgresql_enable + else + _var=postgresql_"${profile}"_enable + fi + echo "Bad value" \ + "'${_enable:-${postgresql_enable}}'" \ + "for ${_var}. " \ + "Profile ${profile} skipped." + continue + ;; + esac + echo "===> postgresql profile: ${profile}" + %%PREFIX%%/etc/rc.d/postgresql $1 ${profile} + retcode="$?" + if [ "0${retcode}" -ne 0 ]; then + failed="${profile} (${retcode}) ${failed:-}" + else + success="${profile} ${success:-}" + fi + done + exit 0 + fi +fi + +command_args="-l /dev/null -D ${postgresql_data} ${postgresql_flags}" + +postgresql_command() +{ + echo "${rc_arg} ${name}" + ${su_cmd} ${postgresql_login_class:+-c ${postgresql_login_class}} \ + -l ${postgresql_user} \ + -c "exec ${command} ${command_args} ${rc_arg}" +} + +postgresql_initdb() +{ + echo "${rc_arg} ${name}" + ${su_cmd} ${postgresql_login_class:+-c ${postgresql_login_class}} \ + -l ${postgresql_user} \ + -c "exec %%PREFIX%%/bin/initdb ${postgresql_initdb_flags} -D ${postgresql_data} -U ${postgresql_user}" +} + +run_rc_command "$1" |