Ladění musíte povolit na dvou místech. Na PGAdmin a na databázi samotnou. Ten článek, na který jste odkazoval, to skvěle vysvětluje, ale byly tam určité nuance.
PGAdmin
Při aktualizaci souboru postgresql.conf
soubor k načtení knihovny ladění, spouštěl jsem PGAdmin na Windows
takže soubor byl zde:
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
A cestu k souboru plugin_debugger.dll
byl vlastně
$libdir/plugin_debugger.dll
ne
$libdir/plugins/plugin_debugger.dll
jak je uvedeno v článku. Tedy váš postgresql.conf
potřeboval by takový řádek
shared_preload_libraries = '$libdir/plugin_debugger.dll'
Pokud si nejste jisti, vyhledejte skutečný .dll. Pokud používáte Linux, soubor, který budete hledat, je plugin_debugger.so
. Nezapomeňte, že změna postgresql.conf
soubor bude vyžadovat restart, aby se změna projevila.
Databáze PostgreSQL
Za předpokladu, že svou databázi PostgreSQL provozujete na linuxovém serveru toto shrnutí odvádí skvělou práci při vysvětlování, jak stáhnout závislosti pro umožnění ladění. Při instalaci se ujistěte, že používáte jako root.
Část, kterou lze snadno přehlédnout, je zadání příkazu proti skutečné databázi, kterou chcete ladit. Pro novější verze PostgreSQL budete muset udělat toto:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
Pokud to nevrátí chybu, měli byste jít.
Některé další poznámky:
- Jak je uvedeno výše, můžete ladit pouze při spuštění jako super uživatelský účet
- Od jejich dokumentů
můžete ladit pouze funkce pl/pgsql. Pokud tedy vaše funkce říká něco jako
LANGUAGE c
PGAdmin ani nezobrazí možnost nabídky ladění klepnutím pravým tlačítkem, když vyberete funkci. Hledejte něco, co máLANGUAGE plpgsql
a měla by se zobrazit nabídka Debug.