PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Impossible de créer une nouvelle table après DROP SCHEMA public

Le message d'erreur apparaît lorsqu'aucun des schémas de votre search_path peut être trouvé.
Soit il est mal configuré. Qu'est-ce que vous obtenez pour cela ?

SHOW search_path;

Ou vous avez supprimé le public schéma de votre base de données système standard template1 . Vous avez peut-être été connecté à la mauvaise base de données lorsque vous avez exécuté drop schema public cascade;

Comme son nom l'indique, il s'agit du modèle pour créer de nouvelles bases de données. Par conséquent, chaque nouvelle base de données démarre sans le schéma (par défaut) public maintenant - alors que votre search_path par défaut contient probablement "public".

Exécutez simplement (en tant que superutilisateur public ou voir la réponse de mgojohn ):

CREATE SCHEMA public;

dans la base de données template1 (ou toute autre base de données où vous en avez besoin).

Le conseil avec DROP SCHEMA ... CASCADE détruire rapidement tous les objets qu'il contient est par ailleurs valable.