PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Hủy một phiên / kết nối postgresql

Bạn có thể sử dụng pg_termina_backend () để hủy kết nối. Bạn phải là siêu người dùng để sử dụng chức năng này. Điều này hoạt động trên tất cả các hệ điều hành như nhau.

SELECT 
    pg_terminate_backend(pid) 
FROM 
    pg_stat_activity 
WHERE 
    -- don't kill my own connection!
    pid <> pg_backend_pid()
    -- don't kill the connections to other databases
    AND datname = 'database_name'
    ;

Trước khi thực hiện truy vấn này, bạn phải KHÔI PHỤC đặc quyền KẾT NỐI để tránh các kết nối mới:

REVOKE CONNECT ON DATABASE dbname FROM PUBLIC, username;

Nếu bạn đang sử dụng Postgres 8.4-9.1, hãy sử dụng procpid thay vì pid

SELECT 
    pg_terminate_backend(procpid) 
FROM 
    pg_stat_activity 
WHERE 
    -- don't kill my own connection!
    procpid <> pg_backend_pid()
    -- don't kill the connections to other databases
    AND datname = 'database_name'
    ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhập kết xuất MySQL vào cơ sở dữ liệu PostgreSQL

  2. THỰC HIỆN ... Câu lệnh USING trong PL / pgSQL không hoạt động với loại bản ghi?

  3. Tổng quan về các thay đổi chỉ mục trong PostgreSQL 11

  4. PostgreSQL 13:GIỚI HẠN… CÓ TIES

  5. Cơ sở dữ liệu PostgreSQL của tôi đã hết dung lượng đĩa