/[packages]/cauldron/postgresql9.1/current/SOURCES/postgresql.init
ViewVC logotype

Contents of /cauldron/postgresql9.1/current/SOURCES/postgresql.init

Parent Directory Parent Directory | Revision Log Revision Log


Revision 184278 - (show annotations) (download)
Mon Dec 19 13:14:28 2011 UTC (12 years, 4 months ago) by nanardon
File size: 3723 byte(s)
imported package postgresql9.1
1 #! /bin/sh
2 # postgresql This is the init script for starting up the PostgreSQL
3 # server
4 #
5 # chkconfig: 2345 85 15
6 # description: Starts and stops the PostgreSQL backend daemon that handles \
7 # all database requests.
8 # processname: postmaster
9 # pidfile: /var/lib/pgsql/data/postmaster.pid
10 ### BEGIN INIT INFO
11 # Provides: postgresql
12 # Required-Start: $local_fs $syslog
13 # Required-Stop:
14 # Default-Start: 3 4 5
15 # Default-Stop: 0 1 2 6
16 # Short-Description: PostgreSql server database
17 # Description: Starts and stops the PostgreSQL backend daemon that handles
18 # all database requests.
19 ### END INIT INFO
20
21 # Source function library.
22 . /etc/rc.d/init.d/functions
23
24 # Get config.
25 . /etc/sysconfig/network
26
27 # Find the name of the script
28 NAME=postgresql
29
30 # Set defaults for port and database directory
31 PG_CTL=/usr/bin/pg_ctl
32 POSTMASTER=/usr/bin/postmaster
33 LOG_FILE=/var/log/postgres/${NAME}
34 BASEBIN=$(basename ${POSTMASTER})
35 LOCK_FILE=/var/lock/subsys/${BASEBIN}
36
37 PGDATA=/var/lib/pgsql/data
38 STOP_MODE="fast"
39
40 [ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql
41 [ -f ~postgres/.profile ] && . ~postgres/.profile
42
43 # dependens on $PGDATA variable which might be overriden in sysconfig file
44 PID_FILE=${PGDATA}/postmaster.pid
45
46 # Override defaults from /etc/sysconfig/pgsql if file is present
47 export LC_ALL
48 export PGDATA
49 export PGOPTIONS
50
51 if [ ! -x "${POSTMASTER}" ]; then
52 [ "$1" = "stop" ] && exit 0
53 gprintf "%s needs to exist and be executable\n" "${POSTMASTER}"
54 exit 5
55 fi
56
57 RETVAL=0
58
59 initdb() {
60 # Check for the PGDATA structure
61 if [ ! -f ${PGDATA}/PG_VERSION ]; then
62 gprintf "Initializing database: "
63 if [ ! -d ${PGDATA} ]; then
64 mkdir -p ${PGDATA}
65 chown postgres.postgres ${PGDATA}
66 chmod go-rwx ${PGDATA}
67 fi
68 # Initialize the database
69 daemon --user postgres "LC_ALL=${LC_ALL} /usr/bin/initdb --pgdata=${PGDATA} &>> /var/log/postgres/postgresql && test -f ${PGDATA}/PG_VERSION"
70 RETVAL=$?
71 echo
72 fi
73 return $RETVAL
74 }
75
76 start() {
77 initdb
78 gprintf "Starting %s service: " "${NAME}"
79 daemon --check ${POSTMASTER} --pidfile ${PID_FILE} --user postgres "${PG_CTL} start -l ${LOG_FILE} -D ${PGDATA} -p ${POSTMASTER} ${PGOPTIONS} > /dev/null"
80 RETVAL=$?
81 echo
82 [ $RETVAL -eq 0 ] && touch ${LOCK_FILE}
83 return $RETVAL
84 }
85
86 stop(){
87 gprintf "Stopping %s service: " "${NAME}"
88 daemon --user postgres "${PG_CTL} stop -D ${PGDATA} -s -m ${STOP_MODE} > /dev/null"
89 RETVAL=$?
90 echo
91 [ $RETVAL -eq 0 ] && rm -f ${LOCK_FILE}
92 return $RETVAL
93 }
94
95 restart(){
96 gprintf "Restarting %s service: " "${NAME}"
97 daemon --user postgres "${PG_CTL} restart -l ${LOG_FILE} -D ${PGDATA} -s -m ${STOP_MODE} ${PGOPTIONS} > /dev/null"
98 RETVAL=$?
99 echo
100 [ $RETVAL -eq 0 ] && touch ${LOCK_FILE}
101 return $RETVAL
102 }
103
104 reload(){
105 gprintf "Reloading %s service: " "${NAME}"
106 daemon --user postgres "${PG_CTL} reload -D ${PGDATA} -s > /dev/null"
107 RETVAL=$?
108 echo
109 return $RETVAL
110 }
111
112 rh_status() {
113 status -p ${PID_FILE} ${POSTMASTER}
114 RETVAL=$?
115 return $RETVAL
116 }
117
118 rh_status_q() {
119 return $(rh_status >/dev/null 2>&1)
120 }
121
122 ACTION="$1"
123
124 while [ "$#" -ne 0 ]; do
125 shift
126 case "$1" in
127 smart|fast|immediate)
128 STOP_MODE="$1"
129 ;;
130 esac
131 done
132
133 # See how we were called.
134 case "$ACTION" in
135 start)
136 rh_status_q && exit 0
137 start
138 ;;
139 stop)
140 stop
141 ;;
142 status)
143 rh_status
144 ;;
145 restart)
146 rh_status_q && restart || start
147 ;;
148 reload|force-reload)
149 reload
150 ;;
151 condrestart|try-restart)
152 rh_status_q || exit 0
153 restart
154 ;;
155 condstop)
156 rh_status_q || exit 0
157 stop
158 ;;
159 init)
160 init
161 ;;
162 uninstall)
163 uninstall
164 ;;
165 *)
166 gprintf "Usage: %s {start|status|restart|condrestart|condstop|reload|force-reload}\n" $0
167 gprintf "Stop: %s {stop|restart|condrestart|condstop} [smart|fast|immediate]\n" $0
168 RETVAL=2
169 ;;
170 esac
171
172 exit $RETVAL
173

  ViewVC Help
Powered by ViewVC 1.1.30