6256d06c11
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_postgresql@4421 504e572c-2e33-0410-9681-be2bf7408885
127 lines
4.4 KiB
Bash
127 lines
4.4 KiB
Bash
#!/bin/bash
|
|
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
|
|
#dieses Framework wird im CVS Repository
|
|
#:pserver:cvs.rainmaker-mm.de/RMM/cvs zur Verfügung gestellt
|
|
#
|
|
#Lage dieser Datei im Archiv: $Source$
|
|
#
|
|
#(c) Rainmaker MultiMedia OHG
|
|
#This program is free software; you can redistribute it and/or
|
|
#modify ist under the terms of the GNU General Public License
|
|
#as published by the Free Software Foundation; either version
|
|
#2 of the License, or (at your option) any later version.
|
|
#
|
|
#This program is distributed in the hope that it will be useful,
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
#See the GNU General Public License for more details.
|
|
#
|
|
#You should have received a copy of the GNU General Public License
|
|
#along with this program; if not write to the Free Software Foundation,
|
|
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
#
|
|
#Beschreibung:
|
|
#Postinstall Script für postgresql
|
|
#
|
|
#Aufrufparameter:
|
|
#keine
|
|
#
|
|
#Letzte Änderung von: $Author$
|
|
#Datum der letzten Änderung: $Date$
|
|
#Version der Datei: $Revision$
|
|
#
|
|
#$Log$
|
|
#Revision 1.12 2007/04/29 12:15:20 kueller
|
|
#postgres erhaelt jetzt fest die uid 49
|
|
#
|
|
#Revision 1.11 2006/10/25 12:08:49 kueller
|
|
#Anpassung an 32/64 Bit Viitor
|
|
#
|
|
#Revision 1.10 2002/10/09 07:59:51 kueller
|
|
#Anpassungen an neuen chroot Modus von installpkg. Parameter $1 nicht mehr
|
|
#notwendig, da chroot auf $1 ausgeführt wird. Script entsprechend Angepasst.
|
|
#Ausserdem anpassung des Headers an neue GPLizes Standart Header.
|
|
#
|
|
#
|
|
#Revision 1.9 2001/12/11 11:58:17 kueller
|
|
#Korrektur kleinerer Fehler. Segmention fault nachwievor bei installation.
|
|
#/tmp/inidb.$$ kann nicht gelesen werden (rechte) - fuehrt dazu, dass
|
|
#initdb nach dem vacuuming der Datenbank mit einem segmention fault abbricht.
|
|
#Kann durch Loeschen des Datenbank Verzeichnisses (nur den Inhalt!), sowie einem
|
|
#neuerlichen lauf von initdb (unter user postgres) behoben werden - funktioniert
|
|
#bei haendischem aufruf!
|
|
#
|
|
#Revision 1.8 2001/12/11 11:33:59 kueller
|
|
#sed aufruf korrigiert (unterminated s command)
|
|
#
|
|
#Revision 1.7 2001/12/11 11:20:46 kueller
|
|
#Rechte von /opt/PostgreSQL werden nun korrigiert. Setzen von defaultpath fuer
|
|
#die Datenbanken korrigiert.
|
|
#
|
|
#Revision 1.6 2001/11/03 21:52:26 segler
|
|
#
|
|
#initdb haette den postmaster gerne am laufen. Daher tuen wir ihm den Gefallen und starten /etc/init.d/postgresql start, das zu diesem Zeitpunkt anwesend sein sollte. Dafuer legt initdb <dingenskirchen>/data mit entsprechenden Rechten selber an.
|
|
#
|
|
#Revision 1.5 2001/10/10 19:40:55 kueller
|
|
#Diverse Korrekturen -
|
|
#Doppelte Read Abfrage für DATADIR wenn nicht default entfernt
|
|
#$1 wird nun ausgewertet und als alternativer installpath
|
|
#verwendet (unattendet Installation)
|
|
#
|
|
#Revision 1.4 2001/10/08 08:34:51 kueller
|
|
#cvs header hinzugefügt
|
|
#
|
|
#
|
|
|
|
LIBINST=`grep "/opt/PostgreSQL/lib" /etc/ld.so.conf`
|
|
if [ ! "$LIBINST" ]; then
|
|
echo "/opt/PostgreSQL/lib" >>/etc/ld.so.conf
|
|
if [ -d /opt/PostgreSQL/lib64 ]; then
|
|
echo "/opt/PostgreSQL/lib64" >>/etc/ld.so.conf
|
|
fi
|
|
fi
|
|
if ! getent passwd postgres; then
|
|
useradd -u 49 -g daemon -d /opt/PostgreSQL -s /bin/bash postgres
|
|
fi
|
|
chown -R postgres:daemon /opt/PostgreSQL
|
|
if [ ! -f /tmp/NOQUEST ]; then
|
|
echo "Where would you install the Databases ? [/opt/PostgreSQL/data] "
|
|
read
|
|
fi
|
|
if [ "$REPLY" ]; then
|
|
DATADIR=$REPLY
|
|
else
|
|
DATADIR=/opt/PostgreSQL/data
|
|
fi
|
|
if [ $DATADIR ] && [ ! -f /tmp/NOQUEST ]; then
|
|
if [ ! -d $DATADIR ]; then
|
|
echo "The directory $DATADIR dont exist!"
|
|
echo "Should i create it for you ? [Y/n] "
|
|
read
|
|
if [ "$REPLY" != "y" ]; then
|
|
echo "Exiting. You have to build the Database manualy"
|
|
echo "-> initdb -D /PATH_TO_DATADIR"
|
|
echo "-> edit /etc/sysconfig/PostgreSQL"
|
|
echo "-> /etc/init.d/postgresql start - to launch the server"
|
|
else
|
|
sed -e "s%PGDATA=/opt/PostgreSQL/data%PGDATA=$DATADIR%" /etc/sysconfig/profile.d/PostgreSQL > /tmp/PostgreSQL.tmp
|
|
mv /tmp/PostgreSQL.tmp /etc/sysconfig/profile.d/PostgreSQL
|
|
source /tmp/PostgreSQL.tmp
|
|
rm /tmp/PostgreSQL.tmp
|
|
mkdir -p /$DATADIR
|
|
chown postgres /$DATADIR
|
|
su - postgres -c "/opt/PostgreSQL/bin/initdb -D /$DATADIR"
|
|
fi
|
|
else
|
|
echo "Exiting. $DATADIR still exists !"
|
|
exit
|
|
fi
|
|
else
|
|
echo "Creating initial database in : /opt/PostgreSQL/data"
|
|
source /etc/sysconfig/profile.d/PostgreSQL
|
|
mkdir -p /opt/PostgreSQL/data
|
|
chown postgres:daemon /opt/PostgreSQL/data
|
|
/etc/init.d/postgresql start
|
|
su - postgres -c "/opt/PostgreSQL/bin/initdb -D /opt/PostgreSQL/data"
|
|
fi
|