PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Não é possível criar uma nova tabela após DROP SCHEMA public


A mensagem de erro aparece quando nenhum dos esquemas em seu search_path pode ser encontrado.
Ou ele está mal configurado. O que você ganha com isso?
SHOW search_path;

Ou você excluiu o public esquema do seu banco de dados padrão do sistema template1 . Você pode ter se conectado ao banco de dados errado quando você executou drop schema public cascade;

Como o nome sugere, este é o modelo para criar novos bancos de dados. Portanto, todo novo banco de dados começa sem o esquema (padrão) public agora - enquanto seu search_path padrão provavelmente tem 'público' nele.

Basta executar (como superusuário public ou veja resposta de mgojohn ):
CREATE SCHEMA public;

no banco de dados template1 (ou qualquer outro banco de dados onde você precisar).

O conselho com DROP SCHEMA ... CASCADE destruir todos os objetos nele rapidamente é válido.