Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
35965289
Commit
35965289
authored
Jan 09, 2000
by
Tatsuo Ishii
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add more portability to echo -n (code stolen from createlang)
Do not start postmaster if postgres is running
parent
bd62e062
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
62 additions
and
36 deletions
+62
-36
src/bin/pg_ctl/pg_ctl.sh
src/bin/pg_ctl/pg_ctl.sh
+62
-36
No files found.
src/bin/pg_ctl/pg_ctl.sh
View file @
35965289
...
@@ -8,21 +8,33 @@
...
@@ -8,21 +8,33 @@
#
#
#
#
# IDENTIFICATION
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.
5 1999/12/22 04:41:17
ishii Exp $
# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.
6 2000/01/09 12:06:52
ishii Exp $
#
#
#-------------------------------------------------------------------------
#-------------------------------------------------------------------------
CMDNAME
=
`
basename
$0
`
CMDNAME
=
`
basename
$0
`
# Check for echo -n vs echo \c
ECHO
=
echo
if
echo
'\c'
|
grep
-s
c
>
/dev/null 2>&1
then
ECHO_N
=
"echo -n"
ECHO_C
=
""
else
ECHO_N
=
"echo"
ECHO_C
=
'\c'
fi
#
#
# Find out where we're located
# Find out where we're located
#
#
if
echo
"
$0
"
|
grep
'/'
>
/dev/null 2>&1
if
$ECHO
"
$0
"
|
grep
'/'
>
/dev/null 2>&1
then
then
# explicit dir name given
# explicit dir name given
PGPATH
=
`
echo
$0
|
sed
's,/[^/]*$,,'
`
# (dirname command is not portable)
PGPATH
=
`
$ECHO
$0
|
sed
's,/[^/]*$,,'
`
# (dirname command is not portable)
else
else
# look for it in PATH ('which' command is not portable)
# look for it in PATH ('which' command is not portable)
for
dir
in
`
echo
"
$PATH
"
|
sed
's/:/ /g'
`
for
dir
in
`
$ECHO
"
$PATH
"
|
sed
's/:/ /g'
`
do
do
# empty entry in path means current dir
# empty entry in path means current dir
[
-z
"
$dir
"
]
&&
dir
=
'.'
[
-z
"
$dir
"
]
&&
dir
=
'.'
...
@@ -39,12 +51,12 @@ for prog in postmaster
...
@@ -39,12 +51,12 @@ for prog in postmaster
do
do
if
[
!
-x
"
$PGPATH
/
$prog
"
]
if
[
!
-x
"
$PGPATH
/
$prog
"
]
then
then
echo
"The program
$prog
needed by
$CMDNAME
could not be found. It was"
$ECHO
"The program
$prog
needed by
$CMDNAME
could not be found. It was"
echo
"expected at:"
$ECHO
"expected at:"
echo
"
$PGPATH
/
$prog
"
$ECHO
"
$PGPATH
/
$prog
"
echo
"If this is not the correct directory, please start
$CMDNAME
"
$ECHO
"If this is not the correct directory, please start
$CMDNAME
"
echo
"with a full search path. Otherwise make sure that the program"
$ECHO
"with a full search path. Otherwise make sure that the program"
echo
"was installed successfully."
$ECHO
"was installed successfully."
exit
1
exit
1
fi
fi
done
done
...
@@ -79,7 +91,7 @@ do
...
@@ -79,7 +91,7 @@ do
sig
=
"-QUIT"
sig
=
"-QUIT"
;;
;;
*
)
*
)
echo
"
$CMDNAME
: Wrong shutdown mode
$sigopt
"
$ECHO
"
$CMDNAME
: Wrong shutdown mode
$sigopt
"
usage
=
1
usage
=
1
;;
;;
esac
esac
...
@@ -112,15 +124,15 @@ do
...
@@ -112,15 +124,15 @@ do
done
done
if
[
"
$usage
"
=
1
-o
"
$op
"
=
""
]
;
then
if
[
"
$usage
"
=
1
-o
"
$op
"
=
""
]
;
then
echo
"Usage:
$CMDNAME
[-w][-D database_dir][-p path_to_postmaster][-o
\"
postmaster_opts
\"
] start"
$ECHO
"Usage:
$CMDNAME
[-w][-D database_dir][-p path_to_postmaster][-o
\"
postmaster_opts
\"
] start"
echo
"
$CMDNAME
[-w][-D database_dir][-m s[mart]|f[ast]|i[mmediate]] stop"
$ECHO
"
$CMDNAME
[-w][-D database_dir][-m s[mart]|f[ast]|i[mmediate]] stop"
echo
"
$CMDNAME
[-w][-D database_dir][-m s[mart]|f[ast]|i[mmediate]][-o
\"
postmaster_opts
\"
] restart"
$ECHO
"
$CMDNAME
[-w][-D database_dir][-m s[mart]|f[ast]|i[mmediate]][-o
\"
postmaster_opts
\"
] restart"
echo
"
$CMDNAME
[-D database_dir] status"
$ECHO
"
$CMDNAME
[-D database_dir] status"
exit
1
exit
1
fi
fi
if
[
-z
"
$PGDATA
"
]
;
then
if
[
-z
"
$PGDATA
"
]
;
then
echo
"
$CMDNAME
: No database directory or environment variable
\$
PGDATA is specified"
$ECHO
"
$CMDNAME
: No database directory or environment variable
\$
PGDATA is specified"
exit
1
exit
1
fi
fi
...
@@ -130,32 +142,46 @@ PIDFILE=$PGDATA/postmaster.pid
...
@@ -130,32 +142,46 @@ PIDFILE=$PGDATA/postmaster.pid
if
[
$op
=
"status"
]
;
then
if
[
$op
=
"status"
]
;
then
if
[
-f
$PIDFILE
]
;
then
if
[
-f
$PIDFILE
]
;
then
echo
"
$CMDNAME
: postmaster is running (pid:
`
cat
$PIDFILE
`
)"
PID
=
`
cat
$PIDFILE
`
echo
"options are:"
if
[
$PID
-lt
0
]
;
then
echo
"
`
cat
$POSTOPTSFILE
`
"
PID
=
`
expr
0 -
$PID
`
$ECHO
"
$CMDNAME
: postgres is running (pid:
$PID
)"
else
$ECHO
"
$CMDNAME
: postmaster is running (pid:
$PID
)"
$ECHO
"options are:"
$ECHO
"
`
cat
$POSTOPTSFILE
`
"
fi
exit
0
exit
0
else
else
echo
"
$CMDNAME
: postmaster
is not running"
$ECHO
"
$CMDNAME
: postmaster or postgres
is not running"
exit
1
exit
1
fi
fi
fi
fi
if
[
$op
=
"stop"
-o
$op
=
"restart"
]
;
then
if
[
$op
=
"stop"
-o
$op
=
"restart"
]
;
then
if
[
-f
$PIDFILE
]
;
then
if
[
-f
$PIDFILE
]
;
then
PID
=
`
cat
$PIDFILE
`
if
[
$PID
-lt
0
]
;
then
PID
=
`
expr
0 -
$PID
`
$ECHO
"
$CMDNAME
: Cannot restart postmaster. postgres is running (pid:
$PID
)"
$ECHO
"Please terminate postgres and try again"
exit
1
fi
kill
$sig
`
cat
$PIDFILE
`
kill
$sig
`
cat
$PIDFILE
`
# wait for postmaster shutting down
# wait for postmaster shutting down
if
[
"
$wait
"
=
1
-o
$op
=
"restart"
]
;
then
if
[
"
$wait
"
=
1
-o
$op
=
"restart"
]
;
then
cnt
=
0
cnt
=
0
echo
-n
"Waiting for postmaster shutting down.."
$ECHO_N
"Waiting for postmaster shutting down.."
$ECHO_C
while
:
while
:
do
do
if
[
-f
$PIDFILE
]
;
then
if
[
-f
$PIDFILE
]
;
then
echo
-n
"."
$ECHO_N
"."
$ECHO_C
cnt
=
`
expr
$cnt
+ 1
`
cnt
=
`
expr
$cnt
+ 1
`
if
[
$cnt
-gt
60
]
;
then
if
[
$cnt
-gt
60
]
;
then
echo
"
$CMDNAME
: postmaster does not shut down"
$ECHO
"
$CMDNAME
: postmaster does not shut down"
exit
1
exit
1
fi
fi
else
else
...
@@ -163,16 +189,16 @@ if [ $op = "stop" -o $op = "restart" ];then
...
@@ -163,16 +189,16 @@ if [ $op = "stop" -o $op = "restart" ];then
fi
fi
sleep
1
sleep
1
done
done
echo
"done."
$ECHO
"done."
fi
fi
echo
"postmaster successfully shut down."
$ECHO
"postmaster successfully shut down."
else
else
echo
"
$CMDNAME
: Can't find
$PIDFILE
."
$ECHO
"
$CMDNAME
: Can't find
$PIDFILE
."
echo
"Is postmaster running?"
$ECHO
"Is postmaster running?"
if
[
$op
=
"restart"
]
;
then
if
[
$op
=
"restart"
]
;
then
echo
"Anyway, I'm going to start up postmaster..."
$ECHO
"Anyway, I'm going to start up postmaster..."
else
else
exit
1
exit
1
fi
fi
...
@@ -181,7 +207,7 @@ fi
...
@@ -181,7 +207,7 @@ fi
if
[
$op
=
"start"
-o
$op
=
"restart"
]
;
then
if
[
$op
=
"start"
-o
$op
=
"restart"
]
;
then
if
[
-f
$PIDFILE
]
;
then
if
[
-f
$PIDFILE
]
;
then
echo
"
$CMDNAME
: It seems another postmaster is running. Try to start postmaster anyway."
$ECHO
"
$CMDNAME
: It seems another postmaster is running. Try to start postmaster anyway."
pid
=
`
cat
$PIDFILE
`
pid
=
`
cat
$PIDFILE
`
fi
fi
...
@@ -192,7 +218,7 @@ if [ $op = "start" -o $op = "restart" ];then
...
@@ -192,7 +218,7 @@ if [ $op = "start" -o $op = "restart" ];then
if
[
-f
$DEFPOSTOPTS
]
;
then
if
[
-f
$DEFPOSTOPTS
]
;
then
eval
`
cat
$DEFPOSTOPTS
`
&
eval
`
cat
$DEFPOSTOPTS
`
&
else
else
echo
"
$CMDNAME
: Can't find
$DEFPOSTOPTS
"
$ECHO
"
$CMDNAME
: Can't find
$DEFPOSTOPTS
"
exit
1
exit
1
fi
fi
else
else
...
@@ -205,7 +231,7 @@ if [ $op = "start" -o $op = "restart" ];then
...
@@ -205,7 +231,7 @@ if [ $op = "start" -o $op = "restart" ];then
if
[
-f
$PIDFILE
]
;
then
if
[
-f
$PIDFILE
]
;
then
if
[
"
`
cat
$PIDFILE
`
"
=
"
$pid
"
]
;
then
if
[
"
`
cat
$PIDFILE
`
"
=
"
$pid
"
]
;
then
echo
"
$CMDNAME
: Cannot start postmaster. Is another postmaster is running?"
$ECHO
"
$CMDNAME
: Cannot start postmaster. Is another postmaster is running?"
exit
1
exit
1
fi
fi
fi
fi
...
@@ -213,14 +239,14 @@ if [ $op = "start" -o $op = "restart" ];then
...
@@ -213,14 +239,14 @@ if [ $op = "start" -o $op = "restart" ];then
# wait for postmaster starting up
# wait for postmaster starting up
if
[
"
$wait
"
=
1
]
;
then
if
[
"
$wait
"
=
1
]
;
then
cnt
=
0
cnt
=
0
echo
-n
"Waiting for postmaster starting up.."
$ECHO_N
"Waiting for postmaster starting up.."
$ECHO_C
while
:
while
:
do
do
if
[
!
-f
$PIDFILE
]
;
then
if
[
!
-f
$PIDFILE
]
;
then
echo
-n
"."
$ECHO_N
"."
$ECHO_C
cnt
=
`
expr
$cnt
+ 1
`
cnt
=
`
expr
$cnt
+ 1
`
if
[
$cnt
-gt
60
]
;
then
if
[
$cnt
-gt
60
]
;
then
echo
"
$CMDNAME
: postmaster does not start up"
$ECHO
"
$CMDNAME
: postmaster does not start up"
exit
1
exit
1
fi
fi
sleep
1
sleep
1
...
@@ -228,10 +254,10 @@ if [ $op = "start" -o $op = "restart" ];then
...
@@ -228,10 +254,10 @@ if [ $op = "start" -o $op = "restart" ];then
break
break
fi
fi
done
done
echo
"done."
$ECHO
"done."
fi
fi
echo
"postmaster successfully started up."
$ECHO
"postmaster successfully started up."
fi
fi
exit
0
exit
0
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment