PostgreSQLでユーザ(Role)あたりのコネクション数を制限したい
2735 ワード
はじめに
PostgreSQLでユーザ(Role)あたりのコネクション数を制限したいときは、ALTER ROLE ~ CONNECTION LIMIT N;
を使いましょう。
(PostgresqlはユーザもRoleとして表現されます)
サンプル
ユーザは shase-san
というのを使っています。
ALTER ROLEの発行
ALTER ROLE shase-san CONNECTION LIMIT 5;
確認
foodb=> \du shase-san
List of roles
Role name | Attributes | Member of
--------------+---------------+-------------------------------------------------
shase-san | 5 connections | {}
実際にpsqlコマンドで試した所、上記の場合5接続しかできなくなっています。
おまけ
特定ユーザの現在のコネクションをすべてkill
SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
usename = 'shase-san'
AND
pid <> pg_backend_pid();
おわりに
PostgreSQL の達人に教えてもらいました。感謝
Author And Source
この問題について(PostgreSQLでユーザ(Role)あたりのコネクション数を制限したい), 我々は、より多くの情報をここで見つけました https://qiita.com/shase428q/items/e05b25b3ac4ddacdd0a4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .