PostgreSQL i PL/pgSQL, a podział procedur / typów rekordowych na oddzielne pakiety

0

Witam,
Mam do czynienia z małych/średnim projektem bazodanowym 100 - 200 tabel. Jak wiadomo w Oracle PL/SQL mamy pakiety pozwalające na grupowanie procedur w ramach RDBMS w PostgreSQL nie ma takiej opcji. Można założyć, że jeden program po stronie RDBMS składa się z kilkunastu mniejszych procedur oraz typów rekordowych. Zastanawiam się czy biznesowo taki niezależny moduł PostgreSQL nie jest sensownie umieścić w oddzielnym schemacie bazy, po to aby móc łatwiej przejrzeć jakie typy danych i procedury należą do tego schematu. Potencjalna zaleta jest taka, że jest mniejsza kolizja nazw i można korzystać z mniejszych nazw (inaczej wprowadzam prefix trochę jak w języku C mojprefiks_nazwatypu lub mojprefiks_nazwaprocedury). Z drugiej strony jak wprowadzę schemat to będzie niewiele lepiej, bo będę miał myscheme.mytype lub myscheme.myprocedure i pisanie zapytań będzie bardziej upierdliwe.

Wady:

  • wydluża się tworzenie zapytań, ponieważ wszystko nie leży w jednym schemacie bazy

Zalety:

  • lepsza seperacja biznesowa procedur i typów danych (rekordowe), które nie powinny być stosowane w innych częściach systemu, może być przydatne gdyby projekt rósł

Pytanie, czy stosowanie schematów w tak małych projektach me sens, czy to raczej armata na muchę?

Pozdrawiam,

0

Hej, zobacz na to rozwiązanie

https://www.postgresql.org/message-id/[email protected]

wygląda na to, że wystarczy ustawić search_path i nadać uprawnienia odpowiedniemu użytkownikowi, żeby nie musieć używać prefixów - efekt podobny do synonimów w Oracle

1 użytkowników online, w tym zalogowanych: 0, gości: 1