-
-
Save jhngrant/c1787346fcb4b0e3001a to your computer and use it in GitHub Desktop.
# PostgreSQL can be on a remote server but you'll need root privileges in Linux and superuser in PostgreSQL. | |
# First install build tools | |
sudo su | |
aptitude install build-essential | |
aptitude install postgresql-server-dev-9.4 | |
# Clone and build the PL/pgSQL server-side debugger | |
cd /usr/local/src | |
git clone git://git.postgresql.org/git/pldebugger.git | |
cd pldebugger | |
export USE_PGXS=1 | |
make | |
make install | |
# Find location of postgresql.conf at the PostgreSQL console: | |
# SHOW config_file; | |
nano /etc/postgresql/9.4/main/postgresql.conf | |
# In nano use ^W to search for: shared_preload_libraries | |
# Edit the entry to add the library 'plugin_debugger': | |
shared_preload_libraries = 'plugin_debugger' | |
# If you have multiple libs, coma separate: | |
shared_preload_libraries = 'pg_stat_statements,plugin_debugger' | |
# Restart PostgreSQL | |
pg_ctlcluster --mode fast 9.4-main restart | |
# In a PostgreSQL database that you want to enable debugging install the extension | |
CREATE EXTENSION pldbgapi; | |
# In pgAdmin navigate to the same database and right click a PL/pgSQL function. | |
# In the context menu choose Debugging > Debug. | |
# A Debugger window will open and prompt for any parameters. | |
# It will then break on the first line of executable code. | |
# BRILLIANT! | |
# More info from the creators at: | |
# http://bit.ly/1Gaq51P | |
# http://git.postgresql.org/gitweb/?p=pldebugger.git;a=blob_plain;f=README.pldebugger;hb=HEAD |
when making, is there a way to specify which postgresql-server-dev version to use? On my system I have all of them, up until 10, but I specifically want to compile for 9.6
I managed to compile the debugger for PostgreSQL 12 on Ubuntu server 18.04. However with the plugin_debugger.so
referenced in the postgresql.conf
's shared_preload_libraries
, PostgresSQL failed to start with the following issue: 2019-12-25 08:44:31.610 MST [21578] FATAL: could not load library "/usr/lib/postgresql/12/lib/plugin_debugger.so": /usr/lib/postgresql/12/lib/plugin_debugger.so: undefined symbol: PostmasterIsAlive
Any pointer is greatly appreciated.
I am getting the exact same error after I upgraded to PostgreSQL 12 also on Ubuntu 18.04.
@granteckels I use postgresql-12 and ubuntu 18.04 and I installed this version postgresql-12-pldebugger which is compatible, that would only be for the installation steps the other steps and configuration are the same
You will also need these packages in order to compile the extension under Ubuntu:
$ sudo apt-get install libssl-dev libkrb5-dev