sql >> Database teknologi >  >> RDS >> PostgreSQL

Undgå faldbord, hvis betingelserne ikke er opfyldt

Jeg vil gætte på, at du prøver at spørge:

Hvis det er tilfældet, er din eneste indbyggede mulighed at bruge tilladelser. Se GRANT og REVOKE i PostgreSQL-manualen.

Hvis du vil have noget mere komplekst, kan du skrive en ProcessUtility_hook , men dette kræver, at du skriver en udvidelse i C, der er kompileret og indlæst på serveren.

At skrive en ProcessUtility_hook er faktisk ikke for svært, men der er forskelle mellem PostgreSQL 9.2 og 9.3 definitionerne, der betyder, at du skal bruge separate udvidelser. Her er et grundlæggende eksempel:https://github.com/ringerc/scrapcode/ tree/master/postgresql/example_processutility_hook og her er en ProcessUtility-hook, der faktisk gør noget nyttigt:https://github.com/ringerc/postgres/blob/bdr-reject-unsafe-commands/contrib/bdr/bdr_commandfilter.c

Hvis du ikke har C-programmeringserfaring og noget tid, en ProcessUtility_hook er ikke noget for dig.

Se også:Hvordan forhindrer man, at tabellen slettes?




  1. Kør en sql-forespørgsel med timeout i PHP eller Hvordan i PHP, for at stoppe en sql-forespørgsel, når den allerede er startet?

  2. Returværdi for gemte funktioner i MyDAC

  3. Hvordan får man vist alle tabellerne med mere information (opret dato, størrelse,...) i en MySQL-database?

  4. Hvad er fordelene ved only_full_group_by mode?