Bagaimana menghubungkan Postgres ke server localhost menggunakan pgAdmin di Ubuntu?

103

Saya menginstal Postgres dengan perintah ini

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

Menggunakan psql --versiondi terminal yang saya dapatkanpsql (PostgreSQL) 9.3.4

lalu saya instal pgadmindengan

sudo apt-get install pgadmin3

Kemudian saya membuka UI dan membuat server dengan informasi ini

masukkan deskripsi gambar di sini

tapi kesalahan ini muncul

masukkan deskripsi gambar di sini

bagaimana cara memperbaikinya?

TuGordoBello
sumber
unduh postgresql v9.3 dari tautan ini https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows dan jalankan lagi pgadmin III Anda akan mendapatkan host lokal sudah menginstal tidak perlu terhubung.
Dhavalkumar Prajapati

Jawaban:

29

Anda belum membuat pengguna db. Jika ini hanya instalasi baru, pengguna default adalah postgresdan kata sandi harus kosong. Setelah Anda mengaksesnya, Anda dapat membuat pengguna yang Anda butuhkan.

Eric Workman
sumber
43
Jika saya melakukan itu, kesalahan ini muncul Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello
Di sini, di opensuse, kata sandi pengguna postgres tidak kosong, tetapi tidak ditentukan (tanda seru di / etc / shadow). Tidak ada login kata sandi.
Str.
Baru saja diuji untuk memverifikasi, dan ya, Pg mengeluarkan password authentication faileduntuk pengguna yang tidak ada saat menggunakan md5auth.
Craig Ringer
1
bagaimana Anda membuat pengguna?
ahnbizcad
2
"Kesalahan saat menyambung ke server: fe_sendauth: tidak ada kata sandi yang diberikan"
Cerin
174

Ubah kata sandi untuk role postgres:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

Sekarang sambungkan ke pgadmin menggunakan nama pengguna postgres dan kata sandi postgres

Sekarang Anda dapat membuat peran & database menggunakan pgAdmin

Bagaimana cara mengubah kata sandi pengguna PostgreSQL?

WiredIn
sumber
10
atau Anda bisa .. 'sudo -u postgres psql' lalu ketik '\ password'. tekan enter. Masukan kata sandi baru.
Jay Modi
1
Ini harus menjadi jawaban yang diterima. Terima kasih. Ini sangat membantu.
Pramesh Bajracharya
25

Ini membantu saya:


1. Buka file pg_hba.conf

sudo nano /etc/postgresql/9.x/main/pg_hba.conf

dan ubah baris ini:

Database administrative login by Unix domain socket
local   all             postgres                                md5

untuk

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. Mulai ulang server

    sudo service postgresql restart

  2. Login ke psql dan atur kata sandi

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. Sekali lagi buka file pg_hba.conf dan ubah baris ini:
Login administrasi database dengan soket domain Unix
    lokal semua kepercayaan postgres

untuk

    Login administrasi database dengan soket domain Unix
    lokal semua postgres md5
  1. Mulai ulang server

    sudo service postgresql restart


Berhasil.

masukkan deskripsi gambar di sini


Tautan bermanfaat
1: PostgreSQL (dari ubuntu.com)

Artem Solovev
sumber
Ini memecahkan masalah saya, tetapi dapatkah Anda menjelaskan mengapa mengubah login admin db menjadi percaya sebelum mengatur kata sandi postgres diperlukan dalam beberapa kasus?
HostMyBus
@HostMyBus Halo, sebenarnya saya sama sekali tidak ingat kasus ini. Cobalah untuk menggali beberapa jawaban dari web (saya pikir ada penjelasan yang bagus tentang itu)
Artem Solovev
@HostMyBus ini adalah fitur keamanan. Jika disetel ke trust, setiap pengguna di mesin dapat masuk ke database.
Simon Zyx
Dan Anda sebenarnya tidak membutuhkannya: Cukup gunakan jawaban WiredIn
Simon Zyx
4

Buat pengguna terlebih dahulu. Anda harus melakukan ini sebagai pengguna postgres. Karena akun sistem postgres tidak memiliki kata sandi yang ditetapkan, Anda dapat mengatur kata sandi terlebih dahulu, atau Anda melakukannya seperti ini:

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

dan programm akan meminta Anda.

Str.
sumber
sudo -u postgres -iakan mengarah ke pertanyaan kata sandi. Tidak ada kata sandi di sistem saya, Anda dapat masuk. Proposal saya selalu berhasil (hm, semoga).
Str.
sudo -u postgress -itidak mengarah ke pertanyaan kata sandi (setidaknya di Ubuntu saya setelah instalasi default). Entah createuser --interactiveitu tidak mengarah ke prompt kata sandi ... :(
Ondřej Doněk
@ OndřejDoněk proposal saya sudo / bin / bash dulu, apakah Anda melakukannya?
Str.
apa yang harus Anda ketik untuk peran?
ahnbizcad
$ createuser --interactive Masukkan nama peran yang akan ditambahkan: postgres Apakah peran baru akan menjadi pengguna super? (y / n)y
Elise Chant
2

Pertama, Anda harus mengubah kata sandi menggunakan terminal. (nama pengguna adalah postgres)

postgres = # \ password postgres

Kemudian Anda akan diminta untuk memasukkan kata sandi dan mengkonfirmasinya.

Sekarang Anda akan dapat terhubung menggunakan pgadmin dengan kata sandi baru.

Pubudu
sumber
0

jika Anda membuka psqlkonsol di jendela terminal, dengan mengetik

$ psql

Anda adalah pengguna super, nama pengguna akan ditampilkan sebelum =#, misalnya:

elisechant=#$

Itu akan menjadi nama pengguna yang harus Anda gunakan untuk localhost.

Elise Chant
sumber