PostgreSQL Flashcards
Para que servem os índices GIST?
Eles são uma alternativa para trabalhar com dados geográficos, aumentando o desempenho em tabelas com esse índice.
Pra que serve o comando FETCH FIRST?
Serve para limitar o número de linhas retornadas na query. Análogo ao LIMIT de outros bancos de dados.
FETCH FIRST 5 ROWS ONLY
Pra que serve o comando WITH TIES?
Retorna os dados empatados, se houver, na última posição.
FETCH FIRST 3 ROWS WITH TIES
Pra que serve o comando TRUNCATE TABLE nome?
Para esvaziar os dados de uma tabela, nesse caso, vai esvaziar os dados da tabela chamada de “nome”
Como criar uma tabela utilizando um comando select?
Criando dados na mão:
SELECT coluna1,coluna2 INTO nome_tabela;
Puxando dados de uma outra tabela:
SELECT coluna1 INTO tabela_nova FROM tabela_antiga;
Pra que serve o comando RETURNING?
Retorna o resultado de INSERT, UPDATE ou DELETE.
Exemplo:
INSERT INTO produtos (nome, preco)
VALUES (‘Produto 12’, 350.00)
RETURNING *;
INSERT INTO produtos (nome, preco)
VALUES (‘Produto 11’, 400.00)
RETURNING id;
Quais são os DCL do postgre?
Grant, revoke e alter default privileges.
GRANT {permissões} ON {objeto} TO {usuário ou função};
REVOKE {permissões} ON {objeto} FROM {usuário ou função};
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO public;
Quais são os comandos relacionados a transação no postgre?
BEGIN ou START TRANSACTION;
COMMIT;
ROLLBACK;
SAVEPOINT;
Como é a estrutura de uma procedure no postgre?
CREATE PROCEDURE TransferirDinheiro( valor DECIMAL(10,2), origem INT, destino INT ) LANGUAGE plpgsql AS \$\$ BEGIN BEGIN; UPDATE contas SET saldo = saldo - valor WHERE id = origem; UPDATE contas SET saldo = saldo + valor WHERE id = destino; COMMIT; END; \$\$;
Como invocar uma procedure?
CALL TransferirDinheiro(100, 1, 2);
Como criar uma view no postgre?
CREATE VIEW nome_da_view AS [select comum]
Pra que serve o operador ::?
Operador de casting.
Exemplo:
SELECT 123::text AS texto;
OBS: é uma alternativa ao
~~~
SELECT CAST(‘123’ AS integer);
~~~
Pra que serve o operador ::tsvector?
Transformar texto em vetor
Pra que serve o operador ::tsquery?
Transformar texto em query para ser utilizado numa busca
Pra que serve o operador @@?
É usado para verificar se há uma ocorrência de uma palavra dentro de um texto.
Principalmente utilizado com tsvector e tsquery.
O que é e como criar uma view materializada?
É uma view que armazena os resultados na memória.
CREATE MATERIALIZED VIEW
Como atualizar uma view materializada?
REFRESH MATERIALIZED
Como é a estrutura de uma function no postgre?
CREATE FUNCTION sum(int[]) RETURNS int8 AS \$\$ DECLARE s int8 := 0; x int; BEGIN FOREACH x IN ARRAY $1 LOOP s := s + x; END LOOP; RETURN s; END; \$\$ language PLPGSQL;
Como invocar uma function?
SELECT soma(10, 5);
Comentários no Postgre
– ou /* */
Utilizando o psql, como visualizar a ajuda dos comandos?
psql \h
Pra que serve o arquivo postgresql.conf?
Este é o arquivo principal de configuração do PostgreSQL, onde você define parâmetros que afetam o comportamento do servidor.
Pra que serve o arquivo pg_hba.conf?
Este arquivo controla as regras de autenticação e acesso ao banco de dados, definindo quais usuários e redes podem se conectar e como devem ser autenticados.