Como instalar o PostgreSQL no Linux Debian 10
Índice:
- Pré-requisitos
- Instalando o PostgreSQL
- Funções do PostgreSQL e métodos de autenticação
- Criando Função e Banco de Dados PostgreSQL
- Habilitar acesso remoto ao servidor PostgreSQL
- Conclusão
O PostgreSQL, geralmente conhecido simplesmente como Postgres, é um sistema de gerenciamento de banco de dados relacional de objeto de uso geral de código aberto. O PostgreSQL possui muitos recursos avançados, como backups online, recuperação pontual, transações aninhadas, consultas SQL e JSON, controle de simultaneidade de versão múltipla (MVCC), replicação assíncrona e muito mais.
Neste tutorial, mostraremos como instalar o PostgreSQL no Debian 9 e explorar os fundamentos da administração básica de banco de dados.
Pré-requisitos
Antes de continuar com este tutorial, verifique se o usuário com o qual você efetuou login possui privilégios de sudo.
Instalando o PostgreSQL
No momento da redação deste artigo, a versão mais recente do PostgreSQL disponível nos repositórios Debian é o PostgreSQL versão 9.6.
Para instalar o PostgreSQL no seu servidor Debian, execute as seguintes etapas:
-
Comece atualizando o índice do pacote local:
sudo apt updateInstale o servidor PostgreSQL e o pacote de contribuição do PostgreSQL, que fornece recursos adicionais para o banco de dados PostgreSQL:
sudo apt install postgresql postgresql-contribQuando a instalação estiver concluída, o serviço PostgreSQL será iniciado automaticamente. Para verificar a instalação, conectaremos ao servidor de banco de dados PostgreSQL usando o utilitário
psqle imprimiremos a versão do servidor:sudo -u postgres psql -c "SELECT version();"A saída terá a seguinte aparência:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
Funções do PostgreSQL e métodos de autenticação
O PostgreSQL gerencia as permissões de acesso ao banco de dados usando o conceito de funções. Uma função pode representar um usuário de banco de dados ou um grupo de usuários de banco de dados.
O PostgreSQL suporta vários métodos de autenticação. Os métodos mais usados são:
- Confiança - com esse método, a função pode se conectar sem uma senha, desde que os critérios definidos no
pg_hba.confsejam atendidos. Senha - Uma função pode ser conectada fornecendo uma senha. As senhas podem ser armazenadas comoscram-sha-256md5epassword(texto não criptografado) Ident - Esse método é suportado apenas em conexões TCP / IP. Funciona obtendo o nome de usuário do sistema operacional do cliente, com um mapeamento de nome de usuário opcional.Peer - O mesmo que Ident, mas é suportado apenas em conexões locais.
A autenticação do cliente PostgreSQL é definida no arquivo de configuração denominado
pg_hba.conf
. Por padrão para conexões locais, o PostgreSQL está configurado para usar o método de autenticação de mesmo nível.
O usuário do
postgres
é criado automaticamente quando você instala o PostgreSQL. Este usuário é o superusuário da instância do PostgreSQL e é equivalente ao usuário raiz do MySQL.
Para efetuar login no servidor PostgreSQL como usuário do postgres, primeiro você precisa mudar para o usuário postgres e acessar o prompt do PostgreSQL usando o utilitário
psql
:
sudo su - postgres
psql
sudo su - postgres
A partir daqui, você pode interagir com sua instância do PostgreSQL. Para sair do shell do PostgreSQL, digite:
\q
Você pode usar o comando
sudo
para acessar o prompt do PostgreSQL sem mudar de usuário:
sudo -u postgres psql
O usuário do
postgres
normalmente é usado apenas no host local e é recomendável não definir a senha para esse usuário.
Criando Função e Banco de Dados PostgreSQL
Você pode criar novas funções na linha de comando usando o comando
createuser
. Somente superusuários e funções com privilégio
CREATEROLE
podem criar novas funções.
No exemplo a seguir, criaremos uma nova função chamada
john
um banco de dados chamado
johndb
e concederemos privilégios no banco de dados.
-
Crie uma nova função do PostgreSQL
O comando a seguir criará uma nova função chamada john:
sudo su - postgres -c "createuser john"Crie um novo banco de dados PostgreSQL
Crie um novo banco de dados chamado johndb usando o comando
createdb:sudo su - postgres -c "createdb johndb"Conceder privilégios
Para conceder permissões ao usuário
johnno banco de dados que criamos na etapa anterior, conecte-se ao shell do PostgreSQL:sudo -u postgres psqle execute a seguinte consulta:
grant all privileges on database johndb to john;
Habilitar acesso remoto ao servidor PostgreSQL
Por padrão, o PostgreSQL, servidor escuta apenas na interface local
127.0.0.1
. Para ativar o acesso remoto ao servidor PostgreSQL, abra o arquivo de configuração
postgresql.conf
e adicione
listen_addresses = '*'
na seção
CONNECTIONS AND AUTHENTICATION
.
sudo vim /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/main/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
salve o arquivo e reinicie o serviço PostgreSQL com:
sudo service postgresql restart
Verifique as alterações com o utilitário
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
Como você pode ver na saída acima, o servidor PostgreSQL está escutando em todas as interfaces (0.0.0.0).
A última etapa é configurar o servidor para aceitar conexões remotas editando o arquivo
pg_hba.conf
.
Abaixo estão alguns exemplos mostrando diferentes casos de uso:
/etc/postgresql/9.6/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Conclusão
Você aprendeu como instalar e configurar o PostgreSQL no seu servidor Debian 9. Para mais informações sobre este tópico, consulte a documentação do PostgreSQL.
banco de dados debian postgresqlComo instalar o postgresql no centos 7
O PostgreSQL ou Postgres é um sistema de gerenciamento de banco de dados objeto-relacional de uso geral de código aberto. Neste tutorial, mostraremos dois métodos diferentes para instalar o PostgreSQL na sua máquina CentOS 7.
Como instalar o postgresql no centos 8
Neste guia, discutiremos como instalar o servidor de banco de dados PostgreSQL no CentOS 8. Também exploraremos o básico da administração de banco de dados PostgreSQL.
Como instalar o postgresql no debian 10
Este tutorial mostra as etapas de instalação do servidor de banco de dados PostgreSQL no Debian 10. O PostgreSQL, geralmente conhecido simplesmente como Postgres, é um sistema de gerenciamento de banco de dados relacional para objetos de uso geral de código aberto.







