Du måste aktivera felsökning på två ställen. På PGAdmin och på själva databasen. Den artikeln du refererade till gör ett fantastiskt jobb med att förklara det men det fanns några nyanser.
PGAdmin
När du uppdaterar din postgresql.conf
fil för att ladda felsökningsbiblioteket, jag körde PGAdmin på Windows
så filen var här:
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
Och sökvägen till plugin_debugger.dll
var faktiskt
$libdir/plugin_debugger.dll
inte
$libdir/plugins/plugin_debugger.dll
som anges i artikeln. Så din postgresql.conf
skulle behöva en sådan här rad
shared_preload_libraries = '$libdir/plugin_debugger.dll'
Sök efter den faktiska .dll om du är osäker. Om du använder Linux är filen du letar efter plugin_debugger.so
. Glöm inte att ändra postgresql.conf
filen kräver en omstart för att ändringen ska träda i kraft.
PostgreSQL-databas
Förutsatt att du kör din PostgreSQL-databas på en Linux-server denna sammanfattning gör ett utmärkt jobb med att förklara hur man laddar ner beroenden för att möjliggöra felsökning. Se till att du kör som root när du installerar.
Den del som är lätt att missa är att utfärda kommandot mot den faktiska databasen du vill felsöka. För nyare versioner på PostgreSQL är allt du behöver göra detta:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
Om det inte returnerar ett fel bör du vara igång.
Några ytterligare saker att notera:
- Som nämnts ovan kan du bara felsöka när du kör som ett superanvändarkonto
- Från deras dokument
du kan bara felsöka pl/pgsql-funktioner. Så om din funktion säger något som
LANGUAGE c
PGAdmin visar inte ens ett högerklicksfelsökningsmenyalternativ när du väljer funktionen. Leta efter något som harLANGUAGE plpgsql
och felsökningsmenyn ska visas.