sql >> データベース >  >> RDS >> PostgreSQL

psql:致命的:役割に対して接続が多すぎます

    クラスターの任意のDB内から:

    キャッチ22:最初にデータベースに接続する必要があります。たぶんあなたは別のユーザーとして接続することができますか? (デフォルトでは、一部の接続は superuser_reserved_connections 設定。)

    このユーザーによる各接続の詳細情報を取得するには:

    SELECT *
    FROM   pg_stat_activity
    WHERE  usename = 'user_name';
    

    同じユーザーとして または、スーパーユーザーとして、ユーザーのすべての(他の)接続をキャンセルできます:

    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();
    

    そうしても大丈夫であることを確認してください。重要なクエリ(または接続)をそのように終了したくない。

    pg_cancel_backend()> およびpg_terminate_backend() マニュアルに記載されています。

    Linuxシェルから

    他の接続を自分で開始しましたか?多分あなたのぶら下がっているスクリプト?あなたはそれらを殺すことができるはずです(そうしても大丈夫だと確信しているなら)。

    psで調査できます 障害が発生している可能性のあるプロセス:

    ps -aux
    ps -aux | grep psql
    

    強制終了するプロセスを特定した場合(必ず、しない サーバーを強制終了したい):

    kill  123457689 # pid of process here.
    

    またはSIGKILL SIGTERMの代わりに :

    kill -9 123457689
    


    1. mysqlアダプターをインストールしてください'geminstall activerecord-mysql-adapter'

    2. Python mysqlは、挿入前に重複をチェックします

    3. GeoIPテーブルはMySQLのIPのテーブルと結合します

    4. Mysqlクエリ、選択、グループ化、分単位の合計