sql >> Databáze >  >> RDS >> PostgreSQL

Jak zobrazit WORK_MEM externích připojení PostgreSQL?

Do procesu se můžete dostat pomocí debuggeru na úrovni operačního systému.

Ukážu, jak to udělat na Linuxu:

$ 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)

Nyní mohu proniknout do procesu na serveru:

$ 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

Na produkčním systému byste to nechtěli dělat, protože backend je blokován, když ho ladíte.




  1. Jak volat funkci nebo proceduru Oracle pomocí Hibernate (EntityManager) nebo JPA

  2. Jak UUID() funguje v MariaDB

  3. Jak implementovat automatickou aktualizaci zobrazení, jakmile dojde ke změně v databázi v AngularJs?

  4. Základní tabulka auditu Oracle Trigger