Nach der Einrichtung eines PostgreSQL-Servers bietet es sich an, ein grafisches Tool zu verwenden, um komfortabel alle Datenbanken verwalten und manipulieren zu können.
Standardmäßig hat der Admin-User des PostgreSQL-Servers kein Kennwort, sodass dieser nicht zum SQL-Login verwendet werden kann. Dies kann wie folgt über eine Rootshell geändert werden.
Zunächst die Shell zum postgres-user switchen:
# su - postgres
Verbinden:
$ psql psql (9.1.16) Geben Sie »help« für Hilfe ein.
Nun das Kennwort setzen, man beachte das Backslash vor dem password-Kommando:
postgres=# \password postgres Neues Passwort eingeben: Geben Sie es noch einmal ein:
Zum Schluss Verbindung trennen:
postgres=# \q $ Abgemeldet
Dieses Webtool lässt sich unter Debian einfach via
# apt-get install phpgpadmin
installieren. Mit folgender Apache-Konfiguration wird das Tool übers Web erreichbar:
<VirtualHost 1.1.1.1:9999>
ServerName config.myserver.net:9999
ServerAdmin nobody@example.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/my.crt
SSLCertificateKeyFile /etc/apache2/ssl/my.key
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
Alias /phppgadmin /usr/share/phppgadmin
<Directory /usr/share/phppgadmin>
Order allow,deny
allow from all
DirectoryIndex index.php
AllowOverride None
<IfModule mod_php5.c>
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_value include_path .
</IfModule>
<IfModule !mod_php5.c>
<IfModule mod_actions.c>
<IfModule mod_cgi.c>
AddType application/x-httpd-php .php
Action application/x-httpd-php /cgi-bin/php
</IfModule>
<IfModule mod_cgid.c>
AddType application/x-httpd-php .php
Action application/x-httpd-php /cgi-bin/php
</IfModule>
</IfModule>
</IfModule>
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
Nun mit dem Benutzernamen postgres und oben vergebenem Kennwort zur Verwaltung einloggen.
Ein SQL-Dump wird am einfachsten via Shell erzeugt. Als erstes ein Verzeichnis anlegen, was der postgres-User beschreiben darf:
# mkdir /private-backup/postgres # chown postgres:postgres /private-backup/postgres
Dann wieder als postgres einloggen bzw. von root-Shell wechseln:
# su - postgres
Und Dump erzeugen:
$ pg_dump mypgdb > /private-backup/postgres/mypgdb.sql