2014-10-31 9 views
5

Sto provando a connettermi a un DB PostgreSQL tramite Emacs usando la sql-mode. Avvio Emacs, comando M-x sql-postgres e richiede all'utente, Database e Server ma non per la password. Un buffer vuoto si apre e tutto ciò che scrivo, ottengo:Emacs, sql-mode, Postgresql e immissione della password

the Password for user james: 
psql: FATAL: password authentication failed for user "james" 

posso entrare usando psql, però. Sto usando GNU Emacs 24.4.1 su Linux Antergos, PostgreSQL è 9.3.5.

Grazie ..

risposta

4

Kevin's answer fornisce una soluzione interattiva.

In caso contrario è necessario utilizzare un metodo di autenticazione non interattivo (ad esempio un file .pgpass).


Il mio suggerimento originale (e corretto) è stato quello di attivare l'opzione "password" a M-xcustomize-optionRETsql-postgres-login-paramsRET.

Le variabili sql-*-login-params (e i relativi widget personalizzati) sono generalizzate in tutti i tipi di database; ma non tutte queste opzioni sono applicabili a tutti i database.

Ove applicabile, le password vengono lette da Emacs e quindi utilizzate nella riga di comando. psql non consente di fornire la password come parte del comando, quindi non c'è modo per Emacs di utilizzare questo approccio qui. Questo è il motivo per cui l'opzione password è disabilitata per i parametri di login postgres.

+0

Ottengo ** [nessuna corrispondenza] **. –

+0

Ci scusiamo per non essere chiaro. Non c'è corrispondenza per 'sql-postgres-login-params'. –

+0

È disponibile da Emacs 24.1. Assicurati che la libreria sia effettivamente caricata per prima (ad esempio chiama 'M-x sql-postgres'), altrimenti Emacs non ne sarà a conoscenza. – phils

3

Ho risolto questo temporaneo creando un file .pgpass dove ho conservato le mie credenziali di connessione. Non mi sento a mio agio e vorrei una soluzione che richieda l'inserimento della password all'accesso.

1

Ho anche questo problema. Se vai al buffer vuoto & premi invio, ti viene richiesta una password? Lo faccio, e quando si digita la password la modalità funziona bene.

7

Nel caso in cui qualcun altro stia cercando, ho risolto questo problema inviando send-invisible e digitando la mia password, dopo che il comando sql-postgres è stato completato. Emacs versione 24.5.1.

  1. Iniziato Postgres connessione
  2. A schermo in bianco M-x-send invisibile
  3. tipo password.
  4. Profitto.
Problemi correlati