#bancoDeDados

PostgreSQL na prática


Assim como grande parte dos desenvolvedores, meu primeiro contato com banco de dados foi utilizando o MySQL.  Com o passar do tempo tive a oportunidade de trabalhar com o PostgreSQL que é um sistema gerenciador de banco de dados objeto relacional. Desde então eu passei a utilizá-lo principalmente em projetos em que utilizo o Hibernate.

Atualmente administro bases de dados alocadas no PostgreSQL e para isso tive que conhecê-lo além das conexões com os sistemas. Portanto, meu objetivo com este post é mostrar o uso de alguns comandos básicos que auxiliam o desenvolvedor na manutenção da base de dados.

Se você ainda não instalou o PostgreSQL, dê uma olhada neste post.

Comandos usados no terminal

Logar no terminal como root e alterar para o usuário postgres:


# su - postgres

Exportar/Backup/Dump de apenas um banco de dados:


$ pg_dump nome_do_banco > nomeDoArquivoDeSaida

Importar/Restore de apenas um banco de dados:


$ psql nome_do_banco < nomeDoArquivoDeEntrada

Exportar/Backup/Dump de todos os banco de dados:


$ pg_dumpall > nomeDoArquivoDeSaida

Importar/Restore de todos os banco de dados:


$ psql -f nomeDoArquivoDeEntrada

Criar usuário:


$ createuser nome_do_usuario

Deletar usuário:


$ dropuser nome_do_usuario

Criar banco de dados:


$ createdb nome_do_banco

Deletar banco de dados:


$ dropdb nome_do_banco

Entrar no shell interativo do PostgreSQL:


$ psql

Comandos no shell interativo do PostgreSQL

Criar usuário:


postgres=# CREATE ROLE nome_do_usuario;

Criar banco de dados:


postgres=# CREATE DATABASE nome_do_banco;

Cria um banco de dados com um usuário/dono específico:


postgres=# CREATE DATABASE nome_do_banco OWNER nome_do_usuario;

Alterar senha:


postgres=# ALTER USER nome_do_usuario WITH PASSWORD ‘senha’;

Deletar usuário:


postgres=# DROP ROLE nome_do_usuario;

Deletar/Drop banco de dados:


postgres=# drop database nome_do_banco;

Para sair do shell interativo do PostgreSQL:


postgres=# \q

Espero que possa ser útil.
Até breve 😉

Anúncios
Padrão

17 comentários sobre “PostgreSQL na prática

  1. Josué Costa disse:

    Olá Brena! Estou com problemas com o programa que instalei, o Stoq. Eu não estou conseguindo logar no sistema. A instrução que achei na internet até agora, orienta remover a base de dados e reinstalar o programa. Mas eu não estou conseguindo, eu não sei qual é a base de dados. Acho que deve ser “postgreSQL”, pois foi o esse que instalei.
    Usei o comando: dropdb “nome da base”( no lugar de “nome da base” usei “postgresql”.
    Não funcionou!
    Sabe como me ajudar…

  2. Márcio disse:

    Brena,
    obrigado pelas dicas. de tudo que encontrei na internet seu post foi o melhor. Simples, claro e direto.
    só estou tendo um probleminha e gpstaria da sua ajuda.
    quando digito psql -l aparece os banco de dados. Tentei alterar o OWNER conforme sua explicação mas recebo a seguinte mensagem de erro: ALTER: command not found.
    Poderia me ajudar?

    desde já agradeço

      • Márcio disse:

        Então Brena

        é uma longa (longa mesmo) história.
        O comando Alter Owner era uma tentativa para conseguir compartilhar um banco de dados.
        Uso o programa Stoq. Para a base de dados ele usa Postgre.
        Usando em em computador está uma maravilha.
        Mas agora precisa usá-lo em dois computadores (1 seria o servidor o outro seria o terminal).
        Acontece que no computador terminal não consigo acessar o banco de dados que está no servidor.
        A mensagem que dá é a seguinte:

        could not connect to server: Conexão recusada
        Is the server running on host “192.168.1.101” and accepting
        TCP/IP connections on port 5432?
        ; used connection string ‘dbname=postgres user=pdv password=12345678 host=192.168.1.101 port=5432’

        Já tentei editar o arquivo pg_hba.conf e postgresql.conf mas de tanto que alterei acabei estragando e tive que reinstalar tudo.

  3. lu disse:

    Boa tarde! estamos iniciando com banco em postgre e estou precisando saber como construir um shell script com comandos do postgre ex: conectar em bancos, consultar, extrair dados de tabelas, deconectar etc… tudo via shell. Se tiver alguma documentação completa sobre isso, poderia me informar?

    Obrigada

  4. welen disse:

    Queria saber como seria o comando para selecionar campo de uma tabela de um banco para mandar para outra tabela de outro banco?

    Obrigada

  5. Recentemente precisei alterar o dono do banco:

    ALTER DATABASE nome_do_banco OWNER TO nome_do_usuario_que_sera_o_novo_dono_do_banco

    E para renomear o banco de dados:

    ALTER DATABASE nome_do_banco RENAME TO novo_nome_do_banco

    😉

  6. Excelente!!

    Na minha humilde opinião, faltaram apenas dois comandos essenciais para o dia-a-dia.

    Backup de apenas uma Tabela do Banco
    pg_dump -t tabela banco > destino.sql

    Restaurar apenas uma Tabela do Banco
    pg_dump -t tabela banco < origem.sql

    Abraços

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s