# PostgreSQL

### **Comandos Básicos**

| COMANDO                                         | DESCRIÇÃO                                                                                                                        |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `su - postgres`                                 | Acessa com o usuário `postgres` no SO. Geralmente a senha é `postgres` e é com esse usuário que se utiliza o comando **`psql`**. |
| `psql`                                          | Conecta ao banco de dados                                                                                                        |
| `psql -U <user> -W`                             | Conecta ao banco com determinado usuário e depois inserindo a senha                                                              |
| `psql -h <ip> -U <user> <database>`             | Conectando em um host remoto                                                                                                     |
| `psql -U <user> -w`                             | Conecta ao banco com um usuário que não possui senha                                                                             |
| `psql <database> -U <user> -W`                  | Conecta ao banco em um determinado databse, com determinado usuário e depois inserindo a senha                                   |
| <p><code>\l</code></p><p><code>\list</code></p> | Lista os databases                                                                                                               |
| `\c <database>`                                 | Seleciona o database                                                                                                             |
| `\d`                                            | Lista as tabelas                                                                                                                 |
| `\du`                                           | Listando usuários do Banco de Dados                                                                                              |
| `CREATE user <user> WITH PASSWORD '<pass>';`    | Criando um novo usuário no Banco de Dados                                                                                        |
| `ALTER USER <user> WITH SUPERUSER`              | Deixando um usuário do Banco de Dados com privilégios root                                                                       |

### Conexão via PHP

```
$db_connection = pg_connect("host=<host> dbname=<database> user=<user> password=<password>");
$result = pg_query($db_connection, "<query>");
print_r(pg_fetch_all($result));
```

### Lendo Arquivos

Aqui iremos ler algum arquivo que esteja no host alvo e salvar o seu conteúdo em uma tabela.

```
CREATE TABLE <table>(t text);
COPY demo from '</path/to/file>';
SELECT * FROM <table>;
```
