Pertanyaan Bagaimana saya bisa mendapatkan pg_dump untuk mengotentikasi dengan benar


Saya telah mencoba menggunakan variabel host PGPASSWORD dan .pgpass dan tak satu pun dari keduanya akan memungkinkan saya untuk mengotentikasi ke database. saya sudah chmod'd .pgpass izin yang sesuai dan juga mencoba:

export PGPASSWORD=mypass and PGPASSWORD=mypass

Kata sandi TIDAK berisi \ namun saya membungkusnya dalam tanda kutip tunggal PGPASS='mypass\' dan itu masih tidak akan mengotentikasi.

Saya sedang berlari:

pg_dump dbname -U username -Fc

dan saya masih menerima

pg_dump: [archiver (db)] connection to database "dbname" failed: FATAL:  Peer authentication failed for user "username"

76
2018-05-03 11:42


asal


Jawaban:


Solusi Cepat

Masalahnya adalah mencoba melakukan lokal peer otentikasi berdasarkan nama pengguna Anda saat ini. Jika Anda ingin menggunakan kata sandi, Anda harus menentukan nama host dengan -h.

pg_dump dbname -U username -h localhost -F c

Penjelasan

Ini karena hal-hal berikut di Anda pg_hba.conf

local   all             all                                     peer
host    all             all             127.0.0.1/32            md5

Ini memberitahu Postgres untuk digunakan peer otentikasi untuk pengguna lokal yang membutuhkan nama pengguna postgres untuk mencocokkan nama pengguna sistem Anda saat ini. Baris kedua mengacu pada koneksi menggunakan nama host dan akan memungkinkan Anda untuk mengotentikasi dengan kata sandi melalui md5 metode.

Konfigurasi Pengembangan Pilihan Saya

CATATAN: Ini hanya boleh digunakan pada workstation pengguna tunggal. Ini dapat menyebabkan kerentanan keamanan utama pada mesin produksi atau multi-pengguna.

Ketika mengembangkan terhadap contoh postgres lokal saya ingin mengubah metode otentikasi lokal saya trust. Ini akan memungkinkan koneksi ke postgres melalui soket unix lokal sebagai pengguna tanpa kata sandi. Itu bisa dilakukan hanya dengan mengubah peer di atas untuk trust dan memuat kembali postgres.

# Don't require a password for local connections
local   all             all                                     trust

154
2018-05-03 19:34