sql >> Database >  >> RDS >> PostgreSQL

Kan geen nieuwe tabel maken na DROP SCHEMA public

De foutmelding verschijnt wanneer geen van de schema's in uw search_path kan worden gevonden.
Ofwel is het verkeerd geconfigureerd. Wat krijg je hiervoor?

SHOW search_path;

Of je hebt de public . verwijderd schema van uw standaard systeemdatabase template1 . Mogelijk bent u verbonden met de verkeerde database toen je drop schema public cascade;

Zoals de naam al doet vermoeden, is dit de sjabloon voor het maken van nieuwe databases. Daarom begint elke nieuwe database zonder het (standaard) schema public nu - terwijl uw standaard search_path bevat waarschijnlijk 'public'.

Gewoon uitvoeren (als superuser public of bekijk het antwoord van mgojohn ):

CREATE SCHEMA public;

in de database template1 (of een andere database waar je het nodig hebt).

Het advies met DROP SCHEMA ... CASCADE om alle objecten erin snel te vernietigen is anders geldig.



  1. Overlappende zoekopdrachten optimaliseren Deel 1:Introductie en verbeterde T-SQL-oplossing

  2. Hoe meerdere tekens in SQL vervangen?

  3. SQL Server-systeemdatabases – basisconcepten

  4. Fix "FOUT:elke UNION-query moet hetzelfde aantal kolommen hebben" in PostgreSQL