Server IP : 127.0.0.2 / Your IP : 3.148.211.202 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/postgresql-common/ |
Upload File : |
# This file contains common functionality for all postgresql server # package init.d scripts. It is usually included by # /etc/init.d/postgresql init_functions=/lib/lsb/init-functions #redhat# init_functions=/usr/share/postgresql-common/init-functions-compat . $init_functions PGBINROOT="/usr/lib/postgresql/" #redhat# PGBINROOT="/usr/pgsql-" # do pg_ctlcluster action $1 to all clusters of version $2 with command # description $3; output according to Debian Policy for init scripts do_ctl_all() { [ "$1" ] || { echo "Error: invalid command '$1'" >&2; exit 1; } [ "$2" ] || { echo "Error: invalid version '$2'" >&2; exit 1; } [ -d "/etc/postgresql/$2" ] || return 0 [ "$(ls /etc/postgresql/$2)" ] || return 0 [ -x "$PGBINROOT$2/bin/postmaster" ] || return 0 status=0 log_daemon_msg "$3" for c in /etc/postgresql/"$2"/*; do [ -e "$c/postgresql.conf" ] || continue name=$(basename "$c") # evaluate start.conf if [ -e "$c/start.conf" ]; then start=$(sed 's/#.*$//; /^[[:space:]]*$/d; s/^\s*//; s/\s*$//' "$c/start.conf") else start=auto fi [ "$start" = "auto" ] || continue log_progress_msg "$name" set +e if [ "$1" = "stop" ] || [ "$1" = "restart" ]; then ERRMSG=$(pg_ctlcluster --force "$2" "$name" $1 2>&1) else ERRMSG=$(pg_ctlcluster "$2" "$name" $1 2>&1) fi res=$? set -e # Do not fail on success or if cluster is already/not running [ $res -eq 0 ] || [ $res -eq 2 ] || status=$(($status || $res)) done if [ $status -ne 0 -a -n "$ERRMSG" ]; then log_failure_msg "$ERRMSG" fi log_end_msg $status return $status } # create /var/run/postgresql create_socket_directory() { if [ -d /var/run/postgresql ]; then chmod 2775 /var/run/postgresql else install -d -m 2775 -o postgres -g postgres /var/run/postgresql [ -x /sbin/restorecon ] && restorecon -R /var/run/postgresql || true fi } # start all clusters of version $1 # output according to Debian Policy for init scripts start() { do_ctl_all start "$1" "Starting PostgreSQL $1 database server" } # stop all clusters of version $1 # output according to Debian Policy for init scripts stop() { do_ctl_all stop "$1" "Stopping PostgreSQL $1 database server" } # restart all clusters of version $1 # output according to Debian Policy for init scripts restart() { do_ctl_all restart "$1" "Restarting PostgreSQL $1 database server" } # reload all clusters of version $1 # output according to Debian Policy for init scripts reload() { do_ctl_all reload "$1" "Reloading PostgreSQL $1 database server" } status() { CLUSTERS=`pg_lsclusters -h | grep "^$1[[:space:]]"` # no clusters -> unknown status [ -n "$CLUSTERS" ] || exit 4 echo "$CLUSTERS" | awk 'BEGIN {rc=0; printf("Running clusters: ")} {if (match($4, "online")) printf ("%s/%s ", $1, $2); else rc=3} END { printf("\n"); exit rc }' } # return all installed versions which do not have their own init script get_versions() { versions='' local v dir skipinit skipinit=continue #redhat# skipinit=true # RedHat systems will have /etc/init.d/postgresql-* provided by the yum.pg.o package dir=$PGBINROOT #redhat# dir="-d /usr/pgsql-*" for v in `ls $dir 2>/dev/null`; do #redhat# v=${v#*-} [ -x /etc/init.d/postgresql-$v ] && $skipinit if [ -x $PGBINROOT$v/bin/pg_ctl ]; then versions="$versions $v" fi done }