Wo werden die Dateien für eine PostgreSQL-Datenbank gespeichert?
Antworten
Zu viele Anzeigen?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
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.
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
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
- See previous answers
- Weitere Antworten anzeigen
4 Stimmen
postgresql.org/docs/9.5/static/storage-file-layout.html
48 Stimmen
sudo -u postgres psql -c "show data_directory;"
zeigt die aktuellen Speicherorte auf einer Standard-PostgreSQL-Installation an.