Installation PostgrSQL Datenbank

Vorbereitung

Das Dokument bezieht sich auf die Installation der Opensource-Datenbank PostgreSQL in Version 8.x.
Als Erstes lädt man sich die Sourcen der benötigten Komponenten herunter:

Nach dem Download werden alle Archive in einem temporären Verzeichnis ausgepackt.

  • tar xvzpf archiv.tar.gz oder tar xvjpf archiv.tar.bz2

PostgreSQL kompilieren

Im Folgenden wird davon ausgegangen, daß die Installation in das Verzeichnis /usr/local/pgsql erfolgt.

cd postgresql-8.x.x
LDFLAGS="-L/opt/apache/lib -lssl" ./configure --enable-thread-safety --with-perl --with-openssl --with-gnu-ld \
--without-readline --with-includes=/var/tmp/openssl-0.9.xx/include
make
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
/usr/local/pgsql/bin/createdb testdb

Mit den letzten 3 Befehlen wird die Datenbank initialisiert, die Prozesse gestartet und eine Datenbankinstanz namens testdb erstellt. Gestoppt werden die Prozesse mit dem folgenden Befehl:

/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data -m smart

Wenn man nur lokale Verbindungen benötigt, beispielsweise für Webmail (Squirrelmail, IMAPd), sollte man folgende Zeilen in /usr/local/pgsql/data/pg_hba.conf anpassen. Aus

@authcomment@

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

@remove-line-for-nolocal@# "local" is for Unix domain socket connections only
@remove-line-for-nolocal@local   all         all                               @authmethod@
# IPv4 local connections:
host    all         all         127.0.0.1/32          @authmethod@
# IPv6 local connections:
host    all         all         ::1/128               @authmethod@

wird dann

# CAUTION: Configuring the system for local "trust" authentication allows
# any local user to connect as any PostgreSQL user, including the database
# superuser. If you do not trust all your local users, use another
# authentication method.


# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
# local   all         all                               md5
# IPv4 local connections:
# host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
# host    all         all         ::1/128               md5
local        all         all                            trust
local        maildb      sqmail                         trust
host         maildb      sqmail   127.0.0.1/32          md5
host         all         127.0.0.1     255.0.0.0        trust
host         all         0.0.0.0       0.0.0.0          reject

phpPgAdmin installieren

Da es sich bei dieser Software um ein Webinterface zur Administration von PostgrSQL handelt, welches komplett in PHP erstellt wurde, muß man das Archiv nur in ein Verzeichnis kopieren und die Konfiguraitionsdateien entsprechend anpassen. Außerdem muß in der httpd.conf des Webservers folgender Abschnitt hinzugefügt werden:

Alias /pgsql "/usr/share/phpPgAdmin"

    <Directory "/usr/share/phpPgAdmin">
       Options Indexes FollowSymLinks
       AllowOverride AuthConfig Indexes
    </Directory>

Im obigen Beispiel wurde die Software in ein Verzeichnis unter /usr/share kopiert. Jetzt müssen in der Datei /usr/share/phpPgAdmin/conf/config.inc.php nur noch die Pfade angepaßt werden. Wenn diese Datei nicht existiert, kann man auch einfach die im selben Verzeichnis liegende mitgelieferte config.inc.php-dist nehmen und entsprechend umbenennen. Aus

$conf['servers'][0]['pg_dump_path'] = '/usr/bin/pg_dump';
$conf['servers'][0]['pg_dumpall_path'] = '/usr/bin/pg_dumpall';

wird

$conf['servers'][0]['pg_dump_path'] = '/usr/local/pgsql/bin/pg_dump';
$conf['servers'][0]['pg_dumpall_path'] = '/usr/local/pgsql/bin/pg_dumpall';

Außerdem kann man noch den Parameter „extra_login_security“ von true auf false stellen. Dies sollte aber nur dann erfolgen, wenn man in der Datei pg_hba.conf nur lokale Verbindungen zuläßt (s.o.)

postgres.txt · Zuletzt geändert: 2011/03/21 16:55 von 127.0.0.1
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki