Last active
August 29, 2015 14:05
-
-
Save eduardo-matos/d37b67aec8271926eb6c to your computer and use it in GitHub Desktop.
Anotações sobre PostgreSQL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # listar bancos de dados | |
| \list | |
| # passa a usar o banco | |
| \c <banco> | |
| # sair do prompt | |
| \q | |
| # mostrar todas as tabelas | |
| \dt | |
| # descrever tabela | |
| \d+ <tabela> | |
| # mostrar usuários | |
| \du | |
| # habilitar output horizontal | |
| \x on | |
| # definir senha para usuário | |
| \password <user> | |
| # criar usuário | |
| CREATE USER <user> | |
| # criar papel | |
| # 'role' e 'user' são dois lados da mesma moeda. a qualquer momento podemos transformar usuários em papéis e vice-versa. | |
| # papéis normalmente atuam como um container de privilégios, de onde usuários podem herdá-los. | |
| # na prática, a diferença entre os dois é que usuários podem fazer login, enquanto papéis não. | |
| # papel com senha = usuário | |
| # usuário sem senha = papel | |
| CREATE ROLE <role> | |
| # converte 'role' para 'user' | |
| ALTER ROLE myrole LOGIN | |
| # converte 'user' para 'role' | |
| ALTER ROLE myrole NOLOGIN | |
| # == CREATE ROLE | |
| CREATE GROUP workers | |
| # mudar o dono de um banco de dados | |
| # donos de bancos de dados natualmente têm privilégios para dropar objectos e mudar sua definição, | |
| # e esses privilégios NÃO podem ser concedidos a outros usuários. | |
| ALTER DATABASE <database> OWNER TO <role> | |
| # Limitar acesso de usuário ao banco de dados | |
| REVOKE CONNECT ON DATABASE <database> FROM PUBLIC; | |
| REVOKE CONNECT ON DATABASE <database> FROM <user>; | |
| GRANT CONNECT ON DATABASE <database> TO <user>; | |
| # Limitar controle de operações de usuário nas tabelas de um banco de dados. | |
| # É necessário antes fazer login nesse banco de dados. | |
| # Assume-se que existe somente o schema public nesse banco de dados. | |
| REVOKE ALL ON ALL TABLES IN SCHEMA public FROM PUBLIC; | |
| REVOKE ALL ON ALL TABLES IN SCHEMA public FROM <user>; | |
| GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO <user>; | |
| GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO <user>; # important to allow creating sequences |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment