ALTER TABLE, CREATE VIEW e CREATE INDEX

Altere a estrutura de uma tabela, salve uma consulta com um nome e acelere as buscas.

Sintaxe

ALTER TABLE name ADD COLUMN column type;
ALTER TABLE name ADD CONSTRAINT rule CHECK (condition);
CREATE VIEW name AS SELECT …;
CREATE INDEX name ON table (column);
DROP TABLE [IF EXISTS] name;
  • Uma view não armazena dados; ela executa a consulta toda vez.
  • Chaves primárias e restrições UNIQUE criam um índice automaticamente.

Exemplo

SELECT indexname FROM pg_indexes WHERE tablename = 'orders' ORDER BY indexname;

Os índices da tabela orders: o criado pelo PostgreSQL para a chave primária.

Tabelas usadas: orders. Experimente em uma lição abaixo.

Erros comuns

  • DROP TABLE não pode ser desfeito fora de uma transação.
  • Cada índice extra deixa inserções e atualizações um pouco mais lentas.

Pratique