PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Предотвратяване на падаща маса, ако условията не са изпълнени

Предполагам, че се опитвате да попитате:

Ако е така, единствената ви вградена опция е да използвате разрешения. Вижте GRANT и REVOKE в ръководството за PostgreSQL.

Ако искате нещо по-сложно, можете да напишете ProcessUtility_hook , но това изисква да напишете разширение на C, което се компилира и зарежда в сървъра.

Писане на ProcessUtility_hook всъщност не е твърде трудно, но има разлики между дефинициите на PostgreSQL 9.2 и 9.3, което означава, че ще ви трябват отделни разширения. Ето основен пример:https://github.com/ringerc/scrapcode/ дърво/главен/postgresql/example_processutility_hook и ето кука на ProcessUtility, която всъщност прави нещо полезно:https://github.com/ringerc/postgres/blob/bdr-reject-unsafe-commands/contrib/bdr/bdr_commandfilter.c

Ако нямате опит в програмирането на C и известно време, ProcessUtility_hook не е за вас.

Вижте също:Как да предотвратите изпускане на таблица?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Странно поведение в Postgresql

  2. Postgres КАТО '...%' не използва индекс

  3. PostgreSQL:между с дата и час

  4. PostgreSQL 9.1:Как да свържете редове в масив без дубликати, ПРИСЪЕДИНЕТЕ се към друга таблица

  5. Pyodbc – Името на източника на данни не е намерено и не е посочен драйвер по подразбиране