482 Stimmen

Wo speichert PostgreSQL die Datenbank?

Wo werden die Dateien für eine PostgreSQL-Datenbank gespeichert?

4 Stimmen

48 Stimmen

sudo -u postgres psql -c "show data_directory;" zeigt die aktuellen Speicherorte auf einer Standard-PostgreSQL-Installation an.

11voto

k3nn Punkte 71

Die Antwort von picmate ist richtig. Unter Windows ist der Hauptspeicherort des DB-Ordners (zumindest bei meiner Installation)

C:\PostgreSQL\9.2\data\base\

und nicht in Programmdateien.

seine 2 Skripte geben Ihnen genau die Verzeichnisse/Dateien, die Sie benötigen:

SELECT oid from pg_database WHERE datname = <database_name>;
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>; 

meins ist in datname 16393 und relfilenode 41603

database files in postgresql

8voto

Ben Hoyt Punkte 9756

Unter Windows wird das PGDATA-Verzeichnis, das die Die PostgresSQL-Dokumente beschreiben liegt etwa bei C:\Program Files\PostgreSQL\8.1\data . Die Daten für eine bestimmte Datenbank sind unter (zum Beispiel) C:\Program Files\PostgreSQL\8.1\data\base\100929 wobei ich vermute, dass 100929 die Datenbanknummer ist.

4voto

rotarydial Punkte 1781

Ich führe Postgres (9.5) in einem Docker-Container aus (auf CentOS, wie es geschieht), und als Skippy le Grand Gourou in einem Kommentar oben erwähnt, befinden sich die Dateien in /var/lib/postgresql/data/ .

$ docker exec -it my-postgres-db-container bash
root@c7d61efe2a5d:/# cd /var/lib/postgresql/data/
root@c7d61efe2a5d:/var/lib/postgresql/data# ls -lh
total 56K
drwx------. 7 postgres postgres   71 Apr  5  2018 base
drwx------. 2 postgres postgres 4.0K Nov  2 02:42 global
drwx------. 2 postgres postgres   18 Dec 27  2017 pg_clog
drwx------. 2 postgres postgres    6 Dec 27  2017 pg_commit_ts
drwx------. 2 postgres postgres    6 Dec 27  2017 pg_dynshmem
-rw-------. 1 postgres postgres 4.4K Dec 27  2017 pg_hba.conf
-rw-------. 1 postgres postgres 1.6K Dec 27  2017 pg_ident.conf
drwx------. 4 postgres postgres   39 Dec 27  2017 pg_logical
drwx------. 4 postgres postgres   36 Dec 27  2017 pg_multixact
drwx------. 2 postgres postgres   18 Nov  2 02:42 pg_notify
drwx------. 2 postgres postgres    6 Dec 27  2017 pg_replslot
drwx------. 2 postgres postgres    6 Dec 27  2017 pg_serial
drwx------. 2 postgres postgres    6 Dec 27  2017 pg_snapshots
drwx------. 2 postgres postgres    6 Sep 16 21:15 pg_stat
drwx------. 2 postgres postgres   63 Nov  8 02:41 pg_stat_tmp
drwx------. 2 postgres postgres   18 Oct 24  2018 pg_subtrans
drwx------. 2 postgres postgres    6 Dec 27  2017 pg_tblspc
drwx------. 2 postgres postgres    6 Dec 27  2017 pg_twophase
-rw-------. 1 postgres postgres    4 Dec 27  2017 PG_VERSION
drwx------. 3 postgres postgres   92 Dec 20  2018 pg_xlog
-rw-------. 1 postgres postgres   88 Dec 27  2017 postgresql.auto.conf
-rw-------. 1 postgres postgres  21K Dec 27  2017 postgresql.conf
-rw-------. 1 postgres postgres   37 Nov  2 02:42 postmaster.opts
-rw-------. 1 postgres postgres   85 Nov  2 02:42 postmaster.pid

3voto

Roko Punkte 1101

Ein einziger Terminal-Befehl: pg_lsclusters (unter Verwendung von Ubuntu )

Was Sie brauchen, finden Sie im Verzeichnis Data:

Ver Cluster Port Status Owner    Data directory               Log file
10  main    5432 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
11  main    5433 online postgres /var/lib/postgresql/11/main  /var/log/postgresql/postgresql-11-main.log

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X