Configuração do Banco de Dados PostgreSQL (Production) - (PT-BR)

TL;DR

PostgreSQL é um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto. Hoje, o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código aberto mais avançados, contando com diversos recursos. O PostgreSQL é compatível com diversos Sistemas Operacionais, dentre eles, o Linux, Windows e Mac OS. Para mais informações acessem o site https://www.postgresql.org.

Let’s get started

Neste tutorial você aprenderá a configurar o banco de dados PostgreSQL para uso em produção. Chega de conversa e vamos inciar o tutorial.

Instalação do PostgreSQL 9.x no Ubuntu e derivados

Atualize os repositórios:

~$ sudo apt-get update

Instale o PostgreSQL:

~$ sudo apt-get install postgresql postgresql-contrib

Teste o acesso ao PostgreSQL:

~$ sudo -i -u postgres
~$ psql
~# \q

Criar, Deletar e Acessar, uma base de dados:

~$ createdb mydb
~$ dropdb mydb
~$ psql mydb

Alterar a senha do usuário postgres:

~$ sudo -i -u postgres
~$ psql -d postgres -U postgres psql
~# ALTER USER postgres with PASSWORD 'minha_senha';
~# \q
~$ exit

Reinicie o PostgreSQL:

~$ sudo service postgresql restart

Adicione o postgres ao grupo sudo:

~$ sudo gpasswd -a postgres sudo

Alternar para usuário postgres no terminal como superusuário:

~$ sudo su - postgres

Crie um novo usuário no postgres:

~$ sudo -u postgres createuser -d -R -P my_user

Crie uma base de dados para o novo usuário:

~$ sudo -u postgres createdb -O my_user db_test

Entre no postgres com o superusuário:

~$ psql --username=postgres --password

Dê permissão para um usuário específico acessar uma determinada base de dados:

~# GRANT ALL PRIVILEGES ON DATABASE db_test TO my_user;
~# \q

Entrar no postgres com o novo usuário:

~$ psql --username=my_user --password

Extra (Opcional)

Liberar acesso remoto ao PostgreSQL

Libere o acesso remoto pela rede ao PostgreSQL (não recomendado para uso em produção):
*substitua o 9.x pelo número de sua versão atual do PostgreSQL

~$ sudo nano /etc/postgresql/9.x/main/postgresql.conf

Alterar:

de # listen_address = 'localhost'
para listen_address = '*'
~$ sudo nano /etc/postgresql/9.x/main/pg_hba.conf

Adicione a seguinte linha ao final do arquivo:

host all all 0.0.0.0/0 md5

A forma mais correta de configurar o acesso externo ao banco de dados é configurar um proxy para acesso ao banco. Dessa maneira o acesso não ficará disponível abertamente na internet.

Para mais informações recomendo o seguintes links 01 e 02. Em breve postarei um tutorial ensinando passo a passo como fazer esta configuração.

Instalando o PgAdmin

Instale o programa PgAdmin3 para gerenciar o banco de dados com uma interface gráfica:

~$ sudo apt-get install pgadmin3 -y

Para mais informações acessem o link.

Considerações Finais

Chegamos ao final do tutorial, caso tenha acontecido algum problema favor reportar nos comentários. Caso tudo tenha dado certo chegou a hora de criar suas tabelas e pôr o seu banco de dados no ar. Happy Code :)

Update

Foi feito uma pequena correção no tutorial sobre como fazer o acesso remoto ao Banco de Dados, sugestão feita nos comentários do post. Obrigado todos pelo feedback ;)

Disclaimer

É permitido a reprodução integral desse material desde que sejam feitas as devidas referências ao autor ;)

Referências

[1] PostgreSQL. PostgreSQL. Acessado em Fevereiro de 2017. Disponível em: https://www.postgresql.org.

[2] PostgreSQL Wikipedia. PostgreSQL Wiki. Acessado em Fevereiro de 2017. Disponível em: https://pt.wikipedia.org/wiki/PostgreSQL.

[3] Comunidade Brasileira de PostgreSQL. PostgreSQL Brasil. Acessado em Fevereiro de 2017. Disponível em: https://www.postgresql.org.br.

Written in February 19, 2017

Comments

More Publications