sql >> Databáze >  >> RDS >> PostgreSQL

Ladění funkce PostgreSQL pomocí pgAdmin

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.


  1. Počet SQL

  2. Synchronizované provádění uložené procedury v mysql

  3. Kontrola dostupnosti uživatelského jména PHP PDO

  4. (potřebuji poradit) Promluvte si s databází serveru MySQL z mé aplikace pro Android