Skip to content

Objetos de base de dados explicados

Todos os objetos de esquema PostgreSQL essenciais — estrutura, tabelas, vistas, índices, tipos, identidade, rotinas, segurança e replicação — numa referência densa.

O PostgreSQL guarda dados em objetos de esquema com nome. Cada objeto tem uma função: uma tabela guarda linhas, um índice acelera pesquisas, uma rotina guarda lógica. Saiba o que é cada objeto antes de escolher qual acrescentar, e trate restrições e políticas como as regras que mantêm os dados honestos.

Tabela de referência · 45 entradas
45 of 45 rows
Estrutura
Um catálogo isolado de esquemas dentro de um cluster.Separar aplicações ou ambientes que não devem partilhar dados.
Um espaço de nomes dentro de uma base de dados que agrupa objetos relacionados.Organizar objetos por funcionalidade ou dono e evitar colisões de nomes.
Uma localização nomeada no disco onde os ficheiros de tabelas e índices são colocados.Encaminhar tabelas quentes para armazenamento rápido e manter dados frios em discos baratos.
A definição que decide a que esquemas um nome de objeto não qualificado responde.Apontar uma sessão ao esquema certo para as consultas usarem nomes curtos.
Uma descrição guardada em qualquer objeto com COMMENT ON.Documentar tabelas e colunas onde o próximo autor de consultas as encontrará.
Tabelas e vistas
Uma relação com nome que guarda linhas em colunas tipadas.O contentor primário para dados persistentes.
Uma tabela cujas linhas desaparecem no fim da sessão ou transação.Guardar dados de rascunho ou de stage que não devem sobreviver à ligação.
Uma tabela-mãe dividida em partições-filhas por uma chave declarada.Manter tabelas muito grandes geríveis ao distribuir linhas por partições.
Uma tabela cujas linhas vivem num sistema externo, alcançado através de um foreign data wrapper.Consultar uma base de dados ou ficheiro remoto como se fosse uma tabela local.
Uma consulta guardada exposta como tabela virtual.Apresentar as mesmas linhas através de filtros ou junções diferentes.
Uma vista simples que encaminha INSERT, UPDATE e DELETE para a tabela base.Expor uma fatia filtrada ou juntada de uma tabela que continua gravável.
Uma vista cujo resultado é escrito em disco e atualizado a pedido.Guardar em cache agregados ou junções dispendiosas e lê-las depressa.
Uma função que devolve um conjunto de linhas utilizável onde uma tabela couber.Expandir um conjunto calculado no sítio, como unnest transforma uma matriz em linhas.
Índices
Um índice de árvore equilibrada para pesquisas de igualdade e intervalo.Acelerar WHERE, JOIN e ORDER BY em colunas ordenáveis.
Um índice que rejeita valores duplicados na sua chave.Impor unicidade numa coluna ou combinação de colunas.
Índices invertidos ou de árvore de pesquisa generalizada para valores não escalares.Indexar matrizes, JSONB, texto integral ou dados geométricos.
Um índice construído apenas sobre linhas que cumprem uma cláusula WHERE.Indexar o subconjunto quente e saltar o resto para poupar espaço.
Tipos e extensões
Um tipo definido pelo utilizador cujos valores vêm de uma lista fixa de etiquetas.Restringir uma coluna a um conjunto fechado, como códigos de estado.
Um tipo base mais uma restrição de verificação, com nome para reutilização como tipo de coluna.Partilhar uma definição validada, como um texto não vazio, por muitas colunas.
Um conjunto de regras que define como as cadeias comparam e ordenam.Obter ordenação correta para maiúsculas, acentos ou uma região específica.
Um pacote instalável que acrescenta funções, tipos ou operadores a uma base de dados.Adotar ferramentas provadas como PostGIS ou pg_trgm num passo.
Identidade e gerados
Um objeto contador autónomo que produz inteiros sucessivos.Alimentar uma chave serial quando várias tabelas partilham um gerador.
Uma coluna de tabela suportada por uma sequência interna, segundo o padrão SQL.Chave primária auto-incrementada moderna, preferida a SERIAL.
Uma coluna cujo valor é calculado a partir de outras colunas na mesma linha.Guardar ou expor um valor derivado sem escritas manuais.
Rotinas
Um bloco de SQL com nome que devolve um valor ou linhas.Encapsular lógica reutilizável e chamá-la dentro de consultas.
Um bloco com nome que executa ações e controla a sua própria transação.ETL de vários passos onde a rotina faz commit ou rollback internamente.
Uma rotina que dobrará muitas linhas de entrada num valor através de funções de estado e final.Definir reduções personalizadas como uma média ponderada.
Um símbolo ligado a uma ou mais funções para tipos de operandos específicos.Dar aos seus tipos sintaxe natural como a + b ou @>.
Um caminho de conversão declarado de um tipo para outro.Controlar como os valores mudam de tipo, incluindo que conversões acontecem implicitamente.
Uma rotina ligada a um evento de tabela que dispara automaticamente.Auditar, validar ou propagar mudanças em INSERT, UPDATE ou DELETE.
Um trigger que dispara em eventos ao nível da base de dados, como comandos DDL.Registar, bloquear ou auditar mudanças de esquema em toda a base de dados.
Uma consulta analisada e guardada para execução repetida com parâmetros ligados.Reutilizar uma análise e um plano em muitas execuções da mesma consulta.
Um descritor que mantém um resultado aberto para recuperação linha a linha.Percorrer resultados grandes ou avançar linhas dentro de uma rotina.
Segurança e regras
Uma identidade com nome que detém privilégios; um utilizador é uma role que pode iniciar sessão.Agrupar permissões uma vez e concedê-las a pessoas, serviços ou outras roles.
Instruções que atribuem privilégios sobre objetos a roles, ou os removem.Decidir que role pode ler, escrever ou executar cada objeto.
Os direitos incorporados do criador para alterar ou apagar um objeto, separados das concessões.Nomear a role responsável pelo ciclo de vida de um objeto.
Uma instrução permanente que concede automaticamente privilégios sobre objetos que uma role criar depois.Pré-definir direitos para as tabelas novas não precisarem de concessões manuais da role da aplicação.
Uma regra que rejeita escritas que violem uma condição declarada.Impor garantias NOT NULL, CHECK, UNIQUE, PRIMARY KEY e FOREIGN KEY.
Uma regra por role que esconde linhas que a sessão não deve ver.Isolar inquilinos ou acesso por utilizador sem reescrever as consultas da aplicação.
Um alias que resolve um nome para um objeto noutro sítio; nativo em Oracle e SQL Server.Portar esquemas; no PostgreSQL use search_path em vez disso.
Uma definição de que ações ficam registadas para revisão, via pgaudit ou ferramentas do fornecedor.Provar quem leu ou alterou o quê, para conformidade e investigação.
Uma instrução que reescreve uma consulta recebida noutro comando.Redireção de escritas legada; o PostgreSQL hoje prefere triggers ou vistas atualizáveis.
Replicação
Uma definição do lado do emissor de que tabelas e tipos de mudança fluem para as réplicas.Declarar o que uma base de dados oferece a subscritores de replicação lógica.
Um recetor que liga a uma publicação e aplica as suas mudanças em tabelas locais.Puxar mudanças de outra base de dados PostgreSQL para esta.
Um marcador que faz o primário reter o WAL até um consumidor o ter lido.Garantir que um standby ou subscritor retoma sem perder mudanças.