Postgres
Comandos
- para logar:
$ psql user=>
- delogar:
$ \q
- listar todas as bases de dados, depois de logado:
\list ou \l
- conecta numa base específica:
\connect database_name
- listar todas as tabelas dentro de uma base, depois de logado:
\dt
- listar todas as colunas de uma tabela, depois de conectado a uma base:
\d+ nome-da-coluna;
Comandos
- para logar:
$ psql user=>
- delogar:
$ \q
- listar todas as bases de dados, depois de logado:
\list ou \l
- conecta numa base específica:
\connect database_name
- listar todas as tabelas dentro de uma base, depois de logado:
=> \dt
- listar todas as colunas de uma tabela, depois de conectado a uma base:
=> \d+ nome-da-coluna;
Seleção
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar:
=> select * from NOME-TABELA1;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:
=> select nome-coluna1, nome-coluna2 from nome-da-tabela;
Para ordenar:
=> select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;
Para copiar o resultado de uma seleção, use o \copy:
$ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;
Criando um usuário
# sudo -u postgres createuser -d nome-do-user
Create a user with a password:
CREATE USER davide WITH PASSWORD 'jw8s0F4';
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.
CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';
Create an account where the user can create databases:
CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;
Dump de uma base
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:
pg_dump dbname > outfile
Escrita
UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';
Gerando documentação
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o Postgres - Autodoc.