Saya telah menginstal PostgreSQL 8.4, Postgres klien dan Pgadmin 3. Otentikasi gagal untuk pengguna "postgres" untuk kedua konsol klien dan Pgadmin. Saya telah diketik pengguna sebagai "postgres" dan sandi "postgres", karena ia bekerja sebelumnya. Tapi sekarang otentikasi gagal. Saya pernah melakukannya beberapa kali tanpa masalah ini. Apa yang harus saya lakukan? Dan apa yang terjadi?
psql -U postgres -h localhost -W
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
Jika saya ingat dengan benar user postgres
tidak memiliki DB set password di Ubuntu secara default. Itu berarti, bahwa anda dapat login ke account tersebut hanya dengan menggunakan postgres
OS pengguna rekening.
Dengan asumsi, bahwa anda memiliki akses root
pada kotak yang anda bisa lakukan:
sudo -u postgres psql
Jika gagal dengan database "postgres" tidak ada
kesalahan, maka anda kemungkinan besar tidak pada Ubuntu atau Debian server :-) Dalam hal ini hanya menambah template1
untuk perintah:
sudo -u postgres psql template1
Jika salah satu dari perintah-perintah tersebut gagal dengan kesalahan psql: FATAL: password otentikasi gagal untuk pengguna "postgres"
kemudian memeriksa file /etc/postgresql/8.4/main/pg_hba.conf
: harus Ada baris seperti ini sebagai yang pertama non-baris komentar:
local all postgres ident
Untuk versi yang lebih baru dari PostgreSQL ident
benar-benar bisa menjadi rekan
. Yang's OK juga.
Dalam psql
shell anda dapat memberikan DB pengguna postgres
password:
ALTER USER postgres PASSWORD 'newPassword';
Anda dapat meninggalkan psql
shell dengan mengetik PilihA atau dengan perintah \t
.
Sekarang anda harus dapat memberikan pgAdmin password yang valid untuk DB superuser dan itu akan menjadi bahagia juga. :-)
Respon dari staf adalah benar, tapi jika anda ingin lebih mengotomatisasi dapat anda lakukan:
$ sudo -u postgres psql -c "MENGUBAH USER postgres PASSWORD 'postgres';"
Dilakukan! Anda disimpan User = postgres dan password = postgres.
Jika anda tidak memiliki password untuk User postgres ubuntu lakukan:
$ sudo passwd postgres
Ini membuat saya frustasi, sebagian besar di atas jawaban yang benar, tetapi mereka gagal untuk menyebutkan anda harus restart layanan database sebelum perubahan dalam pg_hba.conf akan mempengaruhi.
jadi jika anda membuat perubahan seperti yang disebutkan di atas:
local all postgres ident
kemudian restart sebagai root ( pada centos sesuatu seperti layanan service postgresql-9.2 restart ) sekarang anda harus dapat mengakses db sebagai user postgres
$psql
psql (9.2.4)
Type "help" for help.
postgres=#
Semoga ini bisa menambah info baru postgres pengguna
Mengedit pg_hba.conf, misalnya dengan sudo emacs /etc/postgresql/9.3/main/pg_hba.conf
Mengubah semua metode otentikasi untuk percaya
. Perubahan Unix Password untuk "postgres" user. Restart Server. Login dengan psql -h localhost -U postgres
dan gunakan hanya mengatur sandi Unix. Jika berhasil anda dapat mengatur ulang pg_hba.conf ke nilai default.
Jika anda mencoba untuk login postgres shell sebagai user postgres, maka anda dapat menggunakan perintah berikut.
beralih ke user postgres
# su - postgres
login ke psql
# psql
Harapan yang membantu
Bagi mereka yang menggunakannya pertama kali dan tidak memiliki informasi mengenai apa password mereka dapat mengikuti langkah-langkah di bawah ini(dengan asumsi anda berada di ubuntu):
/etc/postgresql/9.x/main
sudo vi pg_hba.conf
2.edit di bawah garis
lokal semua postgres peer
untuk
lokal semua postgres kepercayaan
sudo service postgresql restart
Cobalah untuk tidak menggunakan-W parameter dan biarkan password kosong. Kadang-kadang pengguna dibuat dengan tidak ada password.
Jika itu doesn't bekerja me-reset password. Ada beberapa cara untuk melakukannya, tapi ini bekerja pada banyak sistem:
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';
Sebagai rule of thumb: ANDA HARUS TIDAK PERNAH MENGATUR PASSWORD UNTUK USER POSTGRES.
Jika anda membutuhkan akses superuser dari pgAdmin, membuat yang lain superuser. Dengan cara itu, jika mandat untuk itu superuser terganggu, anda selalu bisa ssh ke host database dan manual menghapus superuser menggunakan
sudo -u postgres -c "DROP ROLE superuser;"
Setelah anda berada di postgres shell, Masukkan perintah ini
postgres=# \password postgres
Setelah memasukkan perintah ini, anda akan diminta untuk membuat password anda , hanya mengatur password dan kemudian mencoba.
Saya telah menghadapi masalah serupa. Saat mengakses database saya mendapatkan prompt di bawah ini setelah memperbarui kata sandi "kata sandi otentikasi gagal untuk pengguna "postgres"" di PGAdmin
Solusi:
Berharap ini akan menyelesaikan masalah anda
Saya hanya ingin menambahkan bahwa anda juga harus memeriksa apakah password anda sudah kadaluarsa.
Lihat https://stackoverflow.com/questions/14564644/postgres-password-authentication-fails?rq=1 untuk rincian.
saya punya masalah yang sama. Ubuntu meninggalkan saya log in di konsol dengan password untuk superuser. Kecuali ketika saya terhubung dengan -h localhost di psql baris perintah.
Saya Mengamati juga bahwa "localhost:8080/MyJSPSiteLogIn" - menunjukkan: Fatal: autentication kesalahan dengan user "user".
pg_hba.conf ok.
Saya telah mencatat dua versi dari postgres berjalan di layanan yang sama.
Soal - menghapus inutil versi.
Saya berharap ini akan membantu anda untuk waktu yang singkat. Anda dapat mengubah password postgres sql dengan menggunakan di bawah perintah.
sudo -u postgres psql
Dan selanjutnya anda bisa memperbarui sandi
Alter user postgres password 'YOUR_NEW_PASSWORD';