2
2
# Utilities needed
3
3
# 1. sh
4
4
# 3. sed
5
+ LC_MESSAGES=C
6
+ export LC_MESSAGES
5
7
if [ -z " $PGDATA " ]; then
6
8
echo " PGDATA environment variable is not set. Stop." 1>&2
7
9
exit 2
30
32
# Check the catalog version
31
33
CATALOG_VERSION_NO=2016081311
32
34
MAJORVER=9.6
35
+ if [ ! -f " ${PGDATA} /global/pg_control" -a -f " ${PGDATA} /postgresql.conf" ]; then
36
+ # looks like we have Debian with separate directory for configs
37
+ SAVE_PGDATA=" $PGDATA "
38
+ PGDATA=` sed -n " /data_directory/{s/^data_directory = '//
39
+ s/'.*$//
40
+ p}" ${PGDATA} /postgresql.conf`
41
+ if [ -z " $PGDATA " -o ! -f " ${PGDATA} /global/pg_control" ]; then
42
+ echo " Cannot find valid database in $PGDATA " 1>&2 ;
43
+ exit 1
44
+ fi
45
+ fi
33
46
CATVER=` ${PGBIN} pg_controldata| sed -n ' /Catalog version number:/s/^.*: *//p' `
34
47
if [ " $CATVER " != $CATALOG_VERSION_NO ]; then
35
- if [ ! -f " ${PGDATA} /global/pg_control" ]; then
36
- # looks like we have Debian with separate directory for configs
37
- SAVE_PGDATA=" $PGDATA "
38
- PGDATA=` sed -n " /data_directory/{s/^data_directory = '//
39
- s/'.*$//
40
- p}" /etc/postgresql/9.6/main/postgresql.conf`
41
- if [ -z " $PGDATA " -o ! -f " ${PGDATA} /global/pg_control" ]; then
42
- echo " Cannot find valid database in $PGDATA " 1>&2 ;
43
- exit 1
44
- fi
45
- if [ -f " $PGDATA /postmaster.pid" ]; then
46
- echo " postmaster.pid exists. Is another backend running on $PGDATA " 1>&2 ;
47
- exit 1;
48
- fi
48
+ if [ -n " $check " ]; then
49
+ echo " Database needs upgrade"
50
+ exit 1
51
+ fi
52
+ if [ -f " $PGDATA /postmaster.pid" ]; then
53
+ echo " postmaster.pid exists. Is another backend running on $PGDATA " 1>&2 ;
54
+ exit 1;
49
55
fi
50
56
# Fix pg_control file
51
57
" ${PGBIN} pg_controldata" -c
@@ -56,11 +62,11 @@ if [ "$CATVER" != $CATALOG_VERSION_NO ]; then
56
62
(cd $i ; mv PG_${MAJORVER} _$CATVER PG_${MAJORVER} _$CATALOG_VERSION_NO )
57
63
done
58
64
)
59
- if [ -n " $SAVE_PGDATA " ]; then
60
- PGDATA=" $SAVE_PGDATA "
61
- fi
62
65
fi
63
66
67
+ if [ -n " $SAVE_PGDATA " ]; then
68
+ PGDATA=" $SAVE_PGDATA "
69
+ fi
64
70
65
71
for dir in " $PGSHARE " /usr/pgsql-9.6/share /usr/share/postgresql/9.6 /usr/pgsql/9.6/share /usr/share/pgsql /usr/share/postgrespro96 ; do
66
72
if [ -d " $dir /pgpro-upgrade" ]; then
0 commit comments