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

PostgreSQL vs Oracle:sprawdzanie PL/pgSQL w czasie kompilacji

Tak, to znany problem.

PL/pgSQL (jak każda inna funkcja, z wyjątkiem SQL ) jest „czarną skrzynką” dla PostgreSQL, dlatego tak naprawdę nie jest możliwe wykrycie błędów poza środowiskiem wykonawczym.

Możesz zrobić kilka rzeczy:

  1. zawiń swoją funkcję wywołując SQL zapytania do BEGIN / COMMIT oświadczenia, aby mieć lepszą kontrolę nad błędami;
  2. dodaj EXCEPTION bloki do kodu, aby wyłapywać i śledzić błędy. Pamiętaj jednak, że wpłynie to na wydajność funkcji;
  3. użyj plpgsql_check rozszerzenie , opracowany przez Pavla Stěhule, który jest jednym z głównych współtwórców rozwoju PL/pgSQL. Przypuszczam, że w końcu to rozszerzenie stanie się rdzeniem PostgreSQL, ale zajmie to trochę czasu (teraz jesteśmy w stanie 9.4beta3);
  4. Możesz również przyjrzeć się temu powiązanemu pytaniu:sprawdzanie składni postgresql bez uruchamiania zapytania

I naprawdę wygląda na to, że bardzo potrzebujesz frameworka do testów jednostkowych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak skonfigurować postgresql postgresql.conf listen_addresses dla wielu adresów IP

  2. Czy wiersze są zablokowane w kolejności w instrukcji SELECT ... ORDER BY ... FOR UPDATE?

  3. Jak utworzyć użytkownika z uprawnieniami superużytkownika w PostgreSQL?

  4. Generowanie jednostek dla pojedynczej tabeli

  5. Nie udało się znaleźć funkcji konwersji z nieznanej na tekst