Lokasi postgresql.conf dan pg_hba.conf di server Ubuntu

16

Di mana file postgresql.confdan pg_hba.confpada server Linux yang menjalankan PostgreSQL 8.4 diinstal dari repo Ubuntu?

Oleksandr
sumber
4
Masalahnya adalah b / w kursi dan keyboard. Tergantung bagaimana Anda menginstalnya. Apakah Anda menggunakan file tar-gz sumber atau apakah Anda menggunakan utilitas apt. Jika Anda mengunduh file tar-gzipped dan menginstalnya. File pg_hba.conf belum ada kecuali Anda menginisialisasi direktori data Anda. File INSTALL / Readme memiliki info itu. Anda akan menemukan file pg_hba.conf dalam apa pun yang Anda pilih sebagai direktori data Anda. Kedua, jika Anda menggunakan utilitas apt maka Anda harus menemukannya di /etc/postgresql/8.4/main Anda juga dapat melakukan 'find' pada nama file tetapi melakukan itu pada seluruh disk yang menghabiskan cpu.
Nikolas Sakic
Menginstal dari sumber ke lokasi pemasangan default, Anda menjalankan yang berikut: / usr / local / pgsql / bin / initdb -D / usr / local / pgsql / data sebelum memulai postgres dan file hba akan dibuat di direktori itu.
Nikolas Sakic

Jawaban:

16

Mencari "pg_hba.conf ubuntu" di Google memberi Anda

https://help.ubuntu.com/community/PostgreSQL

yang menunjukkan lokasi file.

Dokumentasi menyatakan sebagai berikut:

Otentikasi klien dikendalikan oleh file konfigurasi, yang biasanya bernama pg_hba.conf dan disimpan dalam direktori data cluster database. (HBA adalah singkatan dari otentikasi berbasis host.) File pg_hba.conf default diinstal ketika direktori data diinisialisasi oleh initdb. Namun dimungkinkan untuk menempatkan file konfigurasi otentikasi di tempat lain; lihat parameter konfigurasi hba_file.

Catatan itu mengatakan disimpan dalam direktori data cluster database dan bahwa mungkin untuk menempatkannya di tempat lain, melalui parameter konfigurasi. Dokumentasi resmi tidak dapat mengarahkan Anda ke folder tertentu karena lokasi sebenarnya tergantung pada cara pembuat OS dan administrator mesin mengatur PostgreSQL. Ingat PostgreSQL mendukung banyak sistem operasi yang berbeda (dan distribusi Linux.)

Seperti yang ditunjukkan Neutrino , jika Anda dapat mengakses server Anda melalui psql, Anda dapat mengatakannya untuk menunjukkan lokasi file Anda.

Juga, dua tips:

  1. loc akan membantu Anda menemukan file yang Anda tahu nama tetapi bukan lokasi
  2. Distribusi berbasis Debian ditempatkan di bawah / usr / share / doc dokumentasi tentang cara mereka mengatur paket yang berbeda secara default, saya yakin Anda akan menemukan di bawah /usr/share/doc/postgresql-8.4 (atau mungkin hanya postgresql) info tentang file konfigurasi. Sangat berguna untuk dibaca jika mereka telah memodifikasi beberapa perilaku standar.
Vinko Vrsalovic
sumber
Berikan seorang pria ikan ... blah blah, ajari seorang pria cara memancing .. dll. Cara yang benar adalah mengetahui bagaimana postgres memberi tahu Anda di mana file tersebut berada. Secara universal. show hba_file; dalam psql. Lihat jawaban @ neutrino.
Arnaud Meuret
Jika dan hanya jika Anda dapat mengakses instance PostgreSQL Anda yang sedang berjalan. Jika file HBA Anda berantakan, Anda mungkin tidak bisa. Saya telah menautkan ke jawaban Neutrino.
Vinko Vrsalovic
15

Buka prompt perintah.

> psql -U postgres
=# show hba_file;
=# show config_file

Ketika mereka mengubah nama pengaturan konfigurasi, atau Anda ingin melihat sesuatu yang lain.

=# show all;
Neutrino
sumber
3

Mungkin

/etc/postgresql/9.*/main
kmonsoor
sumber
2

Seperti yang dikatakan Vinko, lokasi tergantung pada distribusi. Untuk menambah jawabannya:

Perangkat lunak manajemen paket Anda akan memberi tahu Anda di mana file diinstal oleh setiap paket, (misalnya dpkg -L postgresql:).

Anda juga dapat melihat di dalam skrip startup layanan (biasanya /etc/init.d/postgresql)

leonbloy
sumber