Pas dans PostgreSQL au moment de la rédaction, non. Le CREATE
directement dans un schéma leur permet de créer n'importe quel type d'objet. Il n'y a aucun moyen de limiter les objets qu'ils peuvent créer - fonctions, opérateurs, classes d'opérateurs, tables, vues, etc.
Vous pouvez implémenter un hook d'exécuteur pour appliquer ce type de règles, mais vous devrez le faire en tant que module chargeable écrit en C. ProcessUtility_hook
est probablement le crochet que vous voulez. Il y aura une courbe d'apprentissage importante pour cette approche, car vous devrez comprendre comment les instructions de PostgreSQL sont décrites dans leur forme analysée en interne.