- Descargar el código fuente de la versión de Postgresql que tengamos.
- Ir al directorio contrib/ y clonar el pldebugger
- Corremos el ./configure de postgresql
cd ..
pg_config --configure | ./configure
El pg_config lo que hará es pasarle los parámetros al configure de nuestra instalación.
- Compilamos el subdirectorio src/
make
Esto permite evitar este error:
~/postgresql-9.1.13/contrib/pldebugger$ make gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -fpic -I../../src/pl/plpgsql/src -I. -I. -I../../src/include -D_GNU_SOURCE -c -o plpgsql_debugger.o plpgsql_debugger.c In file included from ../../src/include/postgres.h:48:0, from plpgsql_debugger.c:12: ../../src/include/utils/elog.h:69:28: error fatal: utils/errcodes.h: No existe el archivo o el directorio compilación terminada.
- Ir al directorio contrib y clonar el pldebugger
cd pldebugger
- Compilar e instalar
make install
- Agregamos la referencia al plugin en postgresql.conf
sudo vim /etc/postgresql/9.1/main/postgresql.conf
Agregamos la variable shared_preload_libraries al final
shared_preload_libraries = '/usr/lib/postgresql/9.1/lib/plugin_debugger.so'
- Reiniciamos en servicio postgresql
- Por último, instalar la extensión pldbgapi
En esta última parte tuve varios problemas con $libdir ya que en la instalación de postgresql indicaba un lugar distinto al make install del plugin. Yo lo solucione medio rustico copié la librería compilada al directorio donde postgresql guarda todos los .so y anduvo.
sudo cp /usr/local/pgsql/lib/plugin_debugger.so /usr/lib/postgresql/9.1/lib
Referencia: pldebugger.git