PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да покажа WORK_MEM на външни PostgreSQL връзки?

Можете да проникнете в процеса с дебъгер на ниво операционна система.

Ще покажа как да го направя на 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)

Сега мога да проникна в процеса на сървърната машина:

$ 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

Не бихте искали да правите това на производствена система, тъй като бекендът е блокиран, докато отстранявате грешки.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. модели на миграция на производствени данни при непрекъсната доставка

  2. PostgreSQL JOIN с тип масив с ред на елементите на масива, как да се приложи?

  3. Грешка при изпълнение на командата psql в /docker-entrypoint-initdb.d/db_init.sh (psql:не можа да се свърже със сървъра:връзката е отказана)

  4. Връщане от функция с OUT параметър

  5. Postgresql:Невалиден регулярен израз:невалиден номер за обратна препратка