Alle PostgreSQL-Datenbanken sichern

PostgreSQL ist ein sehr gutes OpenSource-DatenbankSystem! Es hat einige Parallelen zu Enterpriselösungen, fühlt sich aber ungleich angenehmer in der Brieftasche an. Die Datensicherung läuft hier über pg_dump bzw. pgdumpall.

Mit pg_dump können einzelne Datenbanken gesichert werden.

PostgreSQL ist ein sehr gutes OpenSource-DatenbankSystem! Es hat einige Parallelen zu Enterpriselösungen, fühlt sich aber ungleich angenehmer in der Brieftasche an. Die Datensicherung läuft hier über pg_dump bzw. pgdumpall.

Die Online-Datensicherung, also im laufenden Betrieb, ist “schlau” genug, um einen konsitnten Zustand des Backups zu erstellen. – Selbst wenn es Schreiboperaionen in der Datenbank gibt.

Mit pg_dump können einzelne Datenbanken gesichert werden.
pg_dump –help zeigt die Möglichkeiten:

pg_dump dumps a database as a text file or to other formats.

Usage:
  pg_dump [OPTION]... [DBNAME]

General options:
  -f, --file=FILENAME      output file name
  -F, --format=c|t|p       output file format (custom, tar, plain text)
  -i, --ignore-version     proceed even when server version mismatches
                           pg_dump version
  -v, --verbose            verbose mode
  -Z, --compress=0-9       compression level for compressed formats
  --help                   show this help, then exit
  --version                output version information, then exit

Options controlling the output content:
  -a, --data-only             dump only the data, not the schema
  -b, --blobs                 include large objects in dump
  -c, --clean                 clean (drop) schema prior to create
  -C, --create                include commands to create database in dump
  -d, --inserts               dump data as INSERT commands, rather than COPY
  -D, --column-inserts        dump data as INSERT commands with column names
  -E, --encoding=ENCODING     dump the data in encoding ENCODING
  -n, --schema=SCHEMA         dump the named schema(s) only
  -N, --exclude-schema=SCHEMA do NOT dump the named schema(s)
  -o, --oids                  include OIDs in dump
  -O, --no-owner              skip restoration of object ownership
                              in plain text format
  -s, --schema-only           dump only the schema, no data
  -S, --superuser=NAME        specify the superuser user name to use in
                              plain text format
  -t, --table=TABLE           dump the named table(s) only
  -T, --exclude-table=TABLE   do NOT dump the named table(s)
  -x, --no-privileges         do not dump privileges (grant/revoke)
  --disable-dollar-quoting    disable dollar quoting, use SQL standard quoting
  --disable-triggers          disable triggers during data-only restore
  --use-set-session-authorization
                              use SESSION AUTHORIZATION commands instead of
                              ALTER OWNER commands to set ownership

Connection options:
  -h, --host=HOSTNAME      database server host or socket directory
  -p, --port=PORT          database server port number
  -U, --username=NAME      connect as specified database user
  -W, --password           force password prompt (should happen automatically)

If no database name is supplied, then the PGDATABASE environment
variable value is used.

Ich verwende im Allgemeinen folgende Notation:
pg_dump -d DATENBANK -U postgres > pgsql.DATENBANK.sql

Es ist natürlich einfacher und in den meisten Fällen auch sinnvoller einfach das gesamte Datenbanksystem zu sichern. Der folgende Befehl zeigt, wie’s geht:
pg_dumpall -U pgsql > $DIR/pgsql.dump.sql

psql DATENBANK postres -f pgsql.dump.sql
stellt das gesammte system wieder her! Im Vergleich zu dem Krampf, den beispielsweise er Marktführer Oracle treibt, ist PostgreSQL doch echt genial!

Dieser Beitrag wurde unter Datenbank abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort auf Alle PostgreSQL-Datenbanken sichern

  1. Otto sagt:

    Like your writing! Still you can do some things to improve it.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: KEINE!!! :-P