PostgreSQL에서 사용자 (Role) 당 연결 수를 제한하고 싶습니다.

2396 단어 PostgreSQL

소개



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의 달인에게 가르쳐 주었습니다. 감사

좋은 웹페이지 즐겨찾기