Ik gok dat je probeert te vragen:
Als dit het geval is, is uw enige ingebouwde optie het gebruik van machtigingen. Zie GRANT
en REVOKE
in de PostgreSQL-handleiding.
Als je iets ingewikkelders wilt, kun je een ProcessUtility_hook
. schrijven , maar hiervoor moet u een extensie in C schrijven die wordt gecompileerd en in de server wordt geladen.
Een ProcessUtility_hook
. schrijven is eigenlijk niet zo moeilijk, maar er zijn verschillen tussen de definities van PostgreSQL 9.2 en 9.3, wat betekent dat je aparte extensies nodig hebt. Hier is een eenvoudig voorbeeld:https://github.com/ringerc/scrapcode/ tree/master/postgresql/example_processutility_hook
en hier is een ProcessUtility-hook die echt iets nuttigs doet:https://github.com/ringerc/postgres/blob/bdr-reject-unsafe-commands/contrib/bdr/bdr_commandfilter.c
Als je geen ervaring hebt met programmeren in C en enige tijd, een ProcessUtility_hook
is niets voor jou.
Zie ook:Hoe voorkom je dat de tabel wordt verwijderd?