PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara menampilkan WORK_MEM dari koneksi PostgreSQL eksternal?

Anda dapat membobol proses dengan debugger di tingkat sistem operasi.

Saya akan menunjukkan cara melakukannya di 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)

Sekarang saya dapat membobol proses di mesin server:

$ 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

Anda tidak ingin melakukan ini pada sistem produksi, karena backend diblokir saat Anda men-debugnya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres:Mendefinisikan rentetan terpanjang (dalam hari) per pengembang

  2. sqlalchemy.exc.NoSuchModuleError:Tidak dapat memuat plugin:sqlalchemy.dialects:postgres

  3. INSERT a SELECT GROUP BY :lebih banyak kolom target daripada kesalahan ekspresi

  4. Bagaimana cara mengekstrak nilai median?

  5. Template postgreSQL subsonik