Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1e151777

Von Holger Lindemann vor fast 14 Jahren hinzugefügt

  • ID 1e1517770b9c404844212bca84dc35b9e3bdfdbd
  • Vorgänger 5e7bb78a
  • Nachfolger 06652f19

Anpassungen am Installationsscript

Unterschiede anzeigen:

scripts/inst_postgres.sh
18 18
PLPGSQL=""
19 19
#Datei plpgsql.so suchen
20 20

  
21
#Mit Paketmanager (RPM oder APT) suchen
22
#PLPGSQL=`dpkg -L postgresql | grep plpgsql.so`
21
POSTGRESQL=`dpkg -l | grep -E "postgresql-[0-9]" | cut -d" " -f3 | sort -r | head -1 -`
22

  
23
#Mit Paketmanager (Apt) suchen
24
if [ "$POSTGRESQL#" == "#" ]; then
25
    writeln 1 1 $FEHLER
26
    writeln 2 1 Keine PostgreSQL mit Paketmanager installiert
27
    writeln 3 1 Datenbank bitte manuell einrichten.
28
    exit 0
29
else
30
   PLPGSQL=`dpkg -L postgresql-8.3 | grep plpgsql.so`
31
fi
32

  
33
#Mit Paketmanager (RPM) suchen ?
23 34
#PLPGSQL=`rpm -q --list postgres | grep plpgsql.so`
24 35

  
25 36
if [ "$PLPGSQL#" == "#" ]; then
26 37
	#Probleme mit Paketmanager, dann zunaechst mit locate, geht schneller
38
	updatedb
27 39
	writeln 3 3 --locate
28 40
	tmp=`locate plpgsql.so 2>/dev/null`
29 41
	PLPGSQL=`echo $tmp | cut -d " " -f 1`
......
56 68
	tput rmso
57 69
	exit 1
58 70
fi
59
v7=`su postgres -c "echo 'select version()' | psql template1 2>/dev/null | grep -E "[Ss][Qq][Ll][[:space:]]+7\.[0-9]\.[0-9]" | wc -l"`
60
v8=`su postgres -c "echo 'select version()' | psql template1 2>/dev/null | grep -E "[Ss][Qq][Ll][[:space:]]+8\.[0-9]\.[0-9]" | wc -l"`
61
#cnt=`echo  $v7 + $v8 | bc -l`
71
v8=`su postgres -c "echo 'select version()' | psql template1 2>/dev/null | grep -E "[Ss][Qq][Ll][[:space:]]+8\.[2-9]\.[0-9]" | wc -l"`
62 72
if [ $v8 -eq 0 ]; then 
63
	if [ $v7 -eq 0 ]; then
64
		tput bel
65
		tput bold
66
		echo User postgres konnte die Datenbank nicht ansprechen
67
		tput rmso
68
		exit 1; 
69
	else
70
		tput clear
71
		writeln 1 1 Datenbank Version 7x konnte erreicht werden.
72
	fi
73
	tput bel
74
	tput bold
75
	echo User postgres konnte die Datenbank 8.2.x -  8.9.x nicht ansprechen
76
	tput rmso
77
	exit 1; 
73 78
else
74 79
	tput clear
75
	writeln 1 1 Datenbank Version 8x konnte erreicht werden.
80
	writeln 1 1 Datenbank Version 8.2.x - 8.9.x konnte erreicht werden.
76 81
fi
77 82

  
78 83
echo "CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler" > lxdbinst.sql
......
108 113
writeln 12 1 Datenbankberechtigung einrichten
109 114
#wo ist die pg_hba.conf
110 115
writeln 13 3 --find erst /etc dann /var/lib
111
tmp=`find /etc -name pg_hba.conf -type f`
116
tmp=`find /etc/postgresql -name pg_hba.conf -type f`
112 117
[ "$tmp#" == "#" ] && tmp=`find /var/lib -name  pg_hba.conf -type f`
113 118
PGHBA=`echo $tmp | cut -d " " -f 1`
114 119

  
......
152 157
fi
153 158

  
154 159
mv $CONFDIR/postgresql.conf $CONFDIR/postgresql.conf.org
155
if ! [ $v7 -eq 0 ]; then 
156
	#Nur bei der V7.x:  tcpip_socket = true
157
	sed 's/^.*tcpip_socket.*/tcpip_socket = true/i' $CONFDIR/postgresql.conf.org > $CONFDIR/postgresql.conf
158
	cnt=`grep tcpip_socket $CONFDIR/postgresql.conf | wc -l`
159
	if [ $cnt -eq 0 ]; then
160
		cp $CONFDIR/postgresql.conf.org $CONFDIR/postgresql.conf
161
		echo "tcpip_socket = true" >> $CONFDIR/postgresql.conf
162
	fi
163
else 
164
	#Bei der V8.x OID einschalten.
165
	sed 's/^.*default_with_oids.*/default_with_oids = true/i' $CONFDIR/postgresql.conf.org > $CONFDIR/postgresql.conf
166
	cnt=`grep default_with_oids $CONFDIR/postgresql.conf | wc -l`
167
	if [ $cnt -eq 0 ]; then
168
		cp $CONFDIR/postgresql.conf.org $CONFDIR/postgresql.conf
169
		echo "default_with_oids = true" >> $CONFDIR/postgresql.conf
170
	fi
160
#Bei der V8.x OID einschalten.
161
sed 's/^.*default_with_oids.*/default_with_oids = true/i' $CONFDIR/postgresql.conf.org > $CONFDIR/postgresql.conf
162
cnt=`grep default_with_oids $CONFDIR/postgresql.conf | wc -l`
163
if [ $cnt -eq 0 ]; then
164
	cp $CONFDIR/postgresql.conf.org $CONFDIR/postgresql.conf
165
	echo "default_with_oids = true" >> $CONFDIR/postgresql.conf
171 166
fi
172 167

  
173 168
 
174
tmp=`ls /etc/init.d/postgres*`
169
tmp=`ls -r1 /etc/init.d/postgres*`
175 170
PGSQL=`echo $tmp | cut -d " " -f 1`
176 171

  
177 172
writeln 18 1 Datenbank neu starten

Auch abrufbar als: Unified diff