Saya baru saja menginstal PostgreSQL 9.4 di Ubuntu 15.10.
- Saya membuat pengguna dengan
createuser -P myuser
- Saya membuat basis data dengan
createdb -O myuser mydatabase
- Saya mengedit
pg_hba.conf
dan menambahkanlocal mydatabase myuser md5
- Saya memulai kembali PostgreSQL dengan
sudo service postgresql restart
Pengguna myuser adalah pengguna PostgresSQL saja dan tidak memiliki akun pengguna di Ubuntu.
Ketika saya mencoba untuk terhubung ke database dengan psql -W mydatabase myuser
gagal psql: FATAL: Peer authentication failed for user "myuser"
.
PostgreSQL sedang berjalan ...
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2016-03-03 09:53:00 CET; 9min ago
Process: 22219 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 22219 (code=exited, status=0/SUCCESS)
Mar 03 09:53:00 SERVER01 systemd[1]: Starting PostgreSQL RDBMS...
Mar 03 09:53:00 SERVER01 systemd[1]: Started PostgreSQL RDBMS.
... dan mendengarkan.
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:postgresql *:* LISTEN
tcp6 0 0 localhost:postgresql [::]:* LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 151534 /var/run/postgresql/.s.PGSQL.5432
Apa yang harus saya lakukan untuk terhubung dengan pengguna myuser ke database mydatabase ?
Pertama ... periksa apakah Anda memiliki jalur yang mengizinkan pengguna myuser di pg_hba.conf. Sebagai contoh:
Atau jalur izin lainnya ke IPV4 (dan IPv6 jika Anda gunakan) dengan: TYPE DATABASE USER ADDRESS METHOD
Setelah pemeriksaan ini, jalankan psql sebagai berikut:
Dan kemudian, permintaan yang diminta, masukkan kata sandi pengguna pengguna.
sumber
'*'
dan menambahkanhost all all 0.0.0.0/0 md5
aturan. Tidak harus menghapus autentikasi peer. Baru saja bekerja dengan-h localhost
param. Jawaban terbaik karena Anda kemungkinan besar tidak harus menyentuh konfigurasi pada instalasi stok.