psql: FATAL: troppe connessioni per ruolo

Ho provato la connessione al server di database utilizzando il comando:

psql -h host_ip -d db_name -U user_name --password

Visualizza la seguente riga e si rifiuta di connettersi.

psql: FATAL:  too many connections for role "user_name".

Come chiudere le connessioni attive?
Non ho diritti di amministratore per il database. Io sono solo un utente ordinario.

Contattare l’amministratore. Se non si è aperto ad altre connessioni poi si presentano al via di un diritto o li vicino.

OriginaleL’autore user3286661 | 2014-07-31

3 Replies
  1. 11

    Da all’interno di un DB di cluster:

    Catch 22: devi essere connesso a un database. Forse è possibile collegare un altro utente?

    Per ottenere informazioni dettagliate per ogni connessione da questo utente:

    SELECT *
    FROM   pg_stat_activity
    WHERE  usename = 'user_name';

    Come stesso utente o come superuser è possibile annullare tutte le (altre) le connessioni di un utente:

    SELECT pg_cancel_backend(pid)     -- (SIGINT)
        -- pg_terminate_backend(pid)  -- the less patient alternative (SIGTERM)
    FROM   pg_stat_activity
    WHERE  usename = 'user_name'
    AND    pid <> pg_backend_pid();

    Meglio essere sicuri che è ok per farlo. Non si vuole risolvere questioni importanti che modo.

    pg_cancel_backend() e pg_terminate_backend() nel manuale.

    Da una shell di Linux

    Hai iniziato a quelli di altre connessioni? Forse un pensile script di tuo? Si dovrebbe essere in grado di uccidere coloro che (se sei sicuro che è ok per farlo).

    È possibile indagare con ps che i processi potrebbe essere colpa:

    ps -aux
    ps -aux | grep psql

    Se si identifica un processo di uccidere (meglio essere sicuri, fare non vuole uccidere il server):

    kill  12457689 # pid of process here.

    O con SIGKILL invece di SIGTERM:

    kill -9 12457689

    OriginaleL’autore Erwin Brandstetter

  2. 0

    È necessario collegare su postgresql db ed eseguire il comando:

    ALTER ROLE your_username CONNECTION LIMIT -1;

    OriginaleL’autore Walterwhites

  3. 0

    Io sono abbastanza nuovo di pgAdmin, ma finora non ho utilizzato la linea di comando. Ho avuto lo stesso problema e ho trovato il modo più semplice per risolvere il problema nel mio caso era semplicemente di eliminare i processi elencati nel Database “Attività” nel Cruscotto.

    psql: FATAL: troppe connessioni per ruolo

    (basta cliccare la X sul lato sinistro del PID)

    È un po ‘ noioso in quanto si deve eliminare ogni processo individuale, ma così facendo si dovrebbe liberare la vostra connessioni disponibili.
    Spero che questo sia utile.

    OriginaleL’autore Christian Meyer

Lascia un commento