Apa direktori default tempat PostgreSQL akan menyimpan semua database di Linux?
linux
postgresql
gruszczy.dll
sumber
sumber
Jawaban:
" Direktori tempat postgresql akan menyimpan semua database " (dan konfigurasi) disebut "direktori data" dan sesuai dengan apa yang disebut oleh PostgreSQL (agak membingungkan) sebagai " cluster database ", yang tidak terkait dengan komputasi terdistribusi, itu hanya berarti grup database dan objek terkait yang dikelola oleh server PostgreSQL.
Lokasi direktori data bergantung pada distribusinya. Jika Anda menginstal dari sumber, defaultnya adalah
/usr/local/pgsql/data
:Selain itu, sebuah instance dari server PostgreSQL yang sedang berjalan dikaitkan dengan satu cluster; lokasi direktori datanya dapat diteruskan ke daemon server (" postmaster " atau " postgres ") di
-D
opsi baris perintah, atau olehPGDATA
variabel lingkungan (biasanya dalam lingkup pengguna yang menjalankan, biasanyapostgres
). Anda biasanya dapat melihat server yang berjalan dengan sesuatu seperti ini:Perhatikan bahwa dimungkinkan, meskipun tidak terlalu sering, untuk menjalankan dua instance dari server PostgreSQL yang sama (biner yang sama, proses berbeda) yang melayani "cluster" berbeda (direktori data). Tentu saja, setiap instance akan mendengarkan pada port TCP / IP-nya sendiri.
sumber
Setidaknya di Gentoo Linux dan Ubuntu 14.04 secara default.
Anda dapat menemukan
postgresql.conf
dan melihat paramdata_directory
. Jika dikomentari maka direktori database sama dengan direktori file konfigurasi ini.sumber
/var/lib/8.1/postgresql
/var/lib/pgsql/9.3
Hubungkan ke database dan jalankan perintah:
Informasi lebih lanjut:
https://www.postgresql.org/docs/current/sql-show.html https://www.postgresql.org/docs/current/runtime-config-file-locations.html
sumber
Default di Debian 8.1 dan PostgreSQL 9.4 setelah instalasi dengan manajer paket apt-get
begitu rupanya
/var/lib/postgresql/9.4/main
.sumber
Pada Centos 6.5 / PostgreSQL 9.3:
Ubah nilai
"PGDATA=/var/lib/pgsql/data"
ke lokasi apa pun yang Anda inginkan di file skrip awal/etc/init.d/postgresql
.Ingatlah untuk
chmod 700
danchown postgres:postgres
ke lokasi baru dan Anda adalah bosnya.sumber
Perintah
pg_lsclusters
(setidaknya di Linux / Ubuntu) dapat digunakan untuk membuat daftar cluster yang ada dan juga direktori data:sumber
Saya pikir metode terbaik adalah dengan query
pg_setting
view:Keluaran:
sumber
Kueri di bawah ini akan membantu menemukan file konfigurasi postgres.
sumber