2.20. Esquemas
Um banco de dados no PostgreSQL pode ser organizado logicamente através do uso de esquemas (SCHEMA). Por padrão, ao criar um banco de dados a partir do banco template1, haverá um esquema geral chamado public. Através do comando CREATE SCHEMA nome-esquema, podemos criar novos esquemas e associar as tabelas e outros objetos do banco a esse esquema.
Vamos criar um esquema chamado geo:
CREATE SCHEMA geo;
Dica
Após executar o comando acima, veja os esquemas apresentados na interface gráfica do pgAdmin.
Em seguida, vamos criar uma nova tabela chamada foco que será associada a esse esquema:
CREATE TABLE geo.foco
(
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
latitude DOUBLE PRECISION,
longitude DOUBLE PRECISION,
num_dias_sem_chuva INTEGER,
frp NUMERIC(4,1),
data TIMESTAMP WITHOUT TIME ZONE,
satelite VARCHAR(30)
);
Repare no comando acima que utilizamos a notação qualificada para o nome da tabela: geo.foco.
Para se referir a essa tabela, devemos utilizar o nome do esquema, uma vez que ele não é o esquema padrão para o nosso usuário:
INSERT INTO geo.foco (latitude, longitude, num_dias_sem_chuva, frp, data, satelite)
VALUES (-9.41792, -51.65176, 30, 89, '2022-09-01 16:30:00', 'AQUA');
SELECT * FROM geo.foco;
Para apagar um esquema e todos os objetos associados a ele, use o comando DROP SCHEMA nome-esquema CASCADE, como mostrado abaixo:
DROP SCHEMA geo CASCADE;
Resultado:
NOTICE: drop cascades to table geo.foco
DROP SCHEMA
Dica
Para uma discussão detalhada do suporte a esquemas no PostgreSQL, veja 5.9. Schemas.