如果条件不满足,则防止丢弃表
答
我要去猜测,您试图问:
如何防止
DROP TABLE
得手基于特定应用程序定义的条件
如果是这样,你只建-in选项是使用权限。请参阅PostgreSQL手册中的GRANT
和REVOKE
。
如果你想要一些更复杂的东西,你可以写一个ProcessUtility_hook
,但是这需要你编写一个C编译的扩展,并将其加载到服务器中。
编写ProcessUtility_hook
实际上并不难,但PostgreSQL 9.2和9.3定义之间存在差异,这意味着您需要单独的扩展。这里有一个基本的例子:https://github.com/ringerc/scrapcode/tree/master/postgresql/example_processutility_hook这里有一个实际上有用的ProcessUtility钩子:https://github.com/ringerc/postgres/blob/bdr-reject-unsafe-commands/contrib/bdr/bdr_commandfilter.c
如果你没有C编程经验和一些时间,ProcessUtility_hook
不适合你。
请尝试,如果你想在未来帮助写的比较详细的问题。读者猜测的越多,他们就越有可能浪费时间,而你的回答则与你所想的不同。另外,**你已经尝试**,研究等?最后,*在所有问题中始终包含您的精确PostgreSQL版本*。 –