Come connettere Postgres al server localhost usando pgAdmin su Ubuntu?


102

Ho installato Postgres con questo comando

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

Utilizzando psql --versionsul terminale ottengopsql (PostgreSQL) 9.3.4

poi ho installato pgadmincon

sudo apt-get install pgadmin3

Successivamente ho aperto l'interfaccia utente e ho creato il server con queste informazioni

inserisci qui la descrizione dell'immagine

ma appare questo errore

inserisci qui la descrizione dell'immagine

come posso ripararlo?


scarica postgresql di v9.3 da questo link https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows ed esegui di nuovo pgadmin III otterrai l'host locale già installato non è necessario connettersi.
Dhavalkumar Prajapati

Risposte:


29

Non hai creato un utente db. Se è solo una nuova installazione, l'utente predefinito è postgrese la password deve essere vuota. Dopo aver effettuato l'accesso, puoi creare gli utenti di cui hai bisogno.


43
Se lo faccio, viene visualizzato questo errore Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello

Qui su opensuse la password utente di postgres non è vuota, ma indefinita (un punto esclamativo in / etc / shadow). Nessun accesso con password possibile.
Str.

Appena testato per verificare, e sì, Pg emette password authentication failedper un utente che non esiste quando usa md5auth.
Craig Ringer

1
come si crea un utente?
ahnbizcad

2
"Errore di connessione al server: fe_sendauth: nessuna password fornita"
Cerin

174

Modifica la password per il ruolo postgres:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

Ora connettiti a pgadmin usando il nome utente postgres e la password postgres

Ora puoi creare ruoli e database utilizzando pgAdmin

Come cambiare la password dell'utente PostgreSQL?


10
oppure puoi semplicemente .. "sudo -u postgres psql" e quindi digitare "\ password". premi invio. inserire una nuova password.
Jay Modi

1
Questa dovrebbe essere una risposta accettata. Grazie. Questo ha aiutato molto.
Pramesh Bajracharya

25

Mi aiuta:


1. Apri il file pg_hba.conf

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

e cambia questa linea:

Database administrative login by Unix domain socket
local   all             postgres                                md5

per

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. Riavvia il server

    riavvio del servizio sudo postgresql

  2. Accedi a psql e imposta la password

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. Apri di nuovo il filepg_hba.conf e cambia questa riga:
Accesso amministrativo al database tramite socket di dominio Unix
    locale tutto fidato di postgres

per

    Accesso amministrativo al database tramite socket di dominio Unix
    local tutto postgres md5
  1. Riavvia il server

    riavvio del servizio sudo postgresql


Funziona.

inserisci qui la descrizione dell'immagine


Link utili
1: PostgreSQL (da ubuntu.com)


Questo ha risolto il mio problema, ma puoi spiegare perché in alcuni casi è necessario modificare l'accesso dell'amministratore del database in modo affidabile prima di impostare la password di postgres?
HostMyBus

@HostMyBus Ciao amico, in realtà non ricordo affatto questo caso. Prova a scavare alcune risposte dal web (penso che ci sia una buona spiegazione a riguardo)
Artem Solovev

@HostMyBus questa è una funzione di sicurezza. Se è impostato su attendibile, qualsiasi utente sulla macchina può accedere al database.
Simon Zyx,

E in realtà non ne hai bisogno: usa solo la risposta di WiredIn
Simon Zyx

4

Crea prima un utente. Devi farlo come utente postgres. Poiché l'account di sistema postgres non ha una password assegnata, puoi prima impostare una password o procedere in questo modo:

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

e il programma ti chiederà.


sudo -u postgres -iporterà alla domanda sulla password. Non ci sono password sul mio sistema che puoi inserire. La mia proposta funziona sempre (hm, si spera).
Str.

sudo -u postgress -inon porta alla domanda sulla password (almeno sul mio Ubuntu dopo l'installazione predefinita). O il createuser --interactivenon porta alla richiesta della password ... :(
Ondřej Doněk

@ OndřejDoněk la mia proposta era sudo / bin / bash prima, l'hai fatto?
Str.

cosa dovresti digitare per il ruolo?
ahnbizcad

$ createuser --interactive Immettere il nome del ruolo da aggiungere: postgres il nuovo ruolo sarà un superutente? (y / n)y
Elise Chant

2

Per prima cosa dovresti cambiare la password usando il terminale. (il nome utente è postgres)

postgres = # \ password postgres

Quindi ti verrà chiesto di inserire la password e confermarla.

Ora sarai in grado di connetterti usando pgadmin con la nuova password.


0

se apri la psqlconsole in una finestra di terminale, digitando

$ psql

il nome utente del tuo super utente verrà mostrato prima di =#, ad esempio:

elisechant=#$

Questo sarà il nome utente che dovresti usare per localhost.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.