Devi abilitare il debug in due posti. Su PGAdmin e sul database stesso. L'articolo a cui hai fatto riferimento fa un ottimo lavoro nel spiegarlo, ma c'erano alcune sfumature.
Amministratore PG
Quando aggiorni il tuo postgresql.conf
per caricare la libreria di debug, eseguivo PGAdmin su Windows
quindi il file era qui:
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
E il percorso del plugin_debugger.dll
era in realtà
$libdir/plugin_debugger.dll
non
$libdir/plugins/plugin_debugger.dll
come specificato nell'art. Quindi il tuo postgresql.conf
servirebbe una linea come questa
shared_preload_libraries = '$libdir/plugin_debugger.dll'
Cerca il .dll effettivo in caso di dubbio. Se sei su Linux il file che cercherai è plugin_debugger.so
. Non dimenticare che cambiando il postgresql.conf
richiederà un riavvio per rendere effettiva la modifica.
Database PostgreSQL
Supponendo che tu stia eseguendo il tuo database PostgreSQL su un server Linux questo gist fa un ottimo lavoro nello spiegare come scaricare le dipendenze per abilitare il debug. Assicurati di essere eseguito come root durante l'installazione.
La parte che è facile perdere è l'emissione del comando sul database effettivo di cui si desidera eseguire il debug. Per le versioni più recenti su PostgreSQL tutto ciò che devi fare è questo:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
Se ciò non restituisce un errore, dovresti essere pronto.
Alcune cose aggiuntive degne di nota:
- Come accennato in precedenza, puoi eseguire il debug solo quando esegui come account super utente
- Da loro documenti
puoi solo eseguire il debug delle funzioni pl/pgsql. Quindi, se la tua funzione dice qualcosa come
LANGUAGE c
PGAdmin non mostrerà nemmeno un'opzione del menu Debug del tasto destro del mouse quando si seleziona la funzione. Cerca qualcosa che abbiaLANGUAGE plpgsql
e dovrebbe essere visualizzato il menu Debug.