PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Debuguj funkcję PostgreSQL za pomocą pgAdmin

Musisz włączyć debugowanie w dwóch miejscach. Na PGAdmin i na samej bazie danych. Ten artykuł, do którego się odwołujesz, świetnie się tłumaczy, ale były pewne niuanse.

PGAdministrator

Podczas aktualizowania pliku postgresql.conf do załadowania biblioteki debugowania, uruchamiałem PGAdmin w systemie Windows więc plik był tutaj:

C:\Program Files\PostgreSQL\9.4\data\postgresql.conf

I ścieżka do pliku plugin_debugger.dll faktycznie

$libdir/plugin_debugger.dll

nie

$libdir/plugins/plugin_debugger.dll

jak określono w art. Więc twój postgresql.conf potrzebowałbym takiej linii

shared_preload_libraries = '$libdir/plugin_debugger.dll'

Jeśli masz wątpliwości, wyszukaj właściwy plik .dll. Jeśli korzystasz z Linuksa, plik, którego szukasz, to plugin_debugger.so . Nie zapominaj, że zmiana postgresql.conf plik będzie wymagał ponownego uruchomienia, aby zmiany zaczęły obowiązywać.

Baza danych PostgreSQL

Zakładając, że używasz bazy danych PostgreSQL na serwerze Linux ten opis wykonuje świetną robotę w wyjaśnianiu, jak pobrać zależności umożliwiające debugowanie. Upewnij się, że korzystasz z konta root podczas instalacji.

Częścią, którą łatwo pominąć, jest wydanie polecenia względem rzeczywistej bazy danych, którą chcesz debugować. W przypadku nowszych wersji PostgreSQL wszystko, co musisz zrobić, to:

CREATE EXTENSION IF NOT EXISTS pldbgapi;

Jeśli to nie zwróci błędu, powinieneś iść.

Kilka dodatkowych rzeczy wartych uwagi:

  • Jak wspomniano powyżej, możesz debugować tylko wtedy, gdy działasz jako konto superużytkownika
  • Z ich dokumentów możesz tylko debugować funkcje pl/pgsql. Więc jeśli twoja funkcja mówi coś w stylu LANGUAGE c PGAdmin nie wyświetli nawet opcji menu debugowania po kliknięciu prawym przyciskiem myszy po wybraniu funkcji. Poszukaj czegoś, co ma LANGUAGE plpgsql i powinno pojawić się menu Debug.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. array_agg dla typów tablic

  2. Generuj uuid w systemie Windows postgresql

  3. Unikalne ograniczenie kombinacji dwóch kolumn?

  4. Funkcja postgreSQL age():różne/nieoczekiwane wyniki przy lądowaniu w innym miesiącu

  5. Co to jest skanowanie sterty bitmapowej w planie kwerend?