Android

Como instalar o postgresql no debian 9

Como instalar o PostgreSQL no Linux Debian 10

Como instalar o PostgreSQL no Linux Debian 10

Índice:

Anonim

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:

  1. Comece atualizando o índice do pacote local:

    sudo apt update

    Instale 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-contrib

    Quando 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 psql e 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)

O Psql é um programa de terminal interativo que permite interagir com o servidor PostgreSQL.

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.conf sejam atendidos. Senha - Uma função pode ser conectada fornecendo uma senha. As senhas podem ser armazenadas como scram-sha-256 md5 e password (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.

  1. 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 john no banco de dados que criamos na etapa anterior, conecte-se ao shell do PostgreSQL:

    sudo -u postgres psql

    e 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 postgresql