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

Làm cách nào để hiển thị WORK_MEM của các kết nối PostgreSQL bên ngoài?

Bạn có thể tham gia vào quá trình này bằng trình gỡ lỗi ở cấp hệ điều hành.

Tôi sẽ chỉ cách thực hiện trên Linux:

$ psql "dbname=test options='-c work_mem=256MB' application_name=test"
psql (9.6.1)
Type "help" for help.

test=>  SELECT pg_backend_pid();
 pg_backend_pid
----------------
          21089
(1 row)

Bây giờ tôi có thể xâm nhập vào quy trình trên máy chủ:

$ gdb /path/to/postgres-9.6.1/bin/postgres 21089
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-90.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
...
(gdb) print work_mem
$1 = 262144
(gdb) detach
Detaching from program: /path/to/postgres-9.6.1/bin/postgres, process 21089
(gdb) quit

Bạn sẽ không muốn thực hiện việc này trên hệ thống sản xuất, vì chương trình phụ trợ bị chặn trong khi bạn đang gỡ lỗi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails tra cứu theo mảng được tuần tự hóa

  2. Các hạn chế thực tế của chỉ mục biểu thức trong PostgreSQL

  3. Lấy tên tháng ngắn trong PostgreSQL

  4. THAM GIA ở cấp độ ứng dụng với WHERE và ĐẶT HÀNG BẰNG trên N mảnh postgresql

  5. Thoát khỏi các tên cột giống từ khóa trong Postgres