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