Android

Como instalar o postgresql no debian 10

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. Possui muitos recursos poderosos, como backups on-line, 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.

Este tutorial mostra as etapas de instalação do servidor de banco de dados PostgreSQL no Debian 10. Também exploraremos os fundamentos da administração básica de banco de dados.

Instalando o PostgreSQL

No momento da redação deste artigo, a versão mais recente do PostgreSQL disponível nos repositórios padrão da Debian é o PostgreSQL versão 11.5.

Para instalar o PostgreSQL no servidor Debian, execute as seguintes etapas como root ou usuário com privilégios de sudo:

  1. Comece atualizando o índice do pacote APT:

    sudo apt update

    Instale o servidor PostgreSQL e o pacote contrib, 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. Para verificar a instalação, use a ferramenta psql para imprimir a versão do servidor:

    sudo -u postgres psql -c "SELECT version();"

    A saída deve ser algo como o seguinte:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

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. Dependendo de como você configura a função, ela pode representar um usuário do banco de dados ou um grupo de usuários do banco de dados.

O PostgreSQL suporta vários métodos de autenticação. Os métodos mais usados ​​são:

  • Confiança - Uma função pode se conectar sem uma senha, desde que os critérios definidos no pg_hba.conf sejam atendidos.Password - 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 - suportado apenas para 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 . Para conexões locais, o PostgreSQL está configurado para usar o método de autenticação de mesmo nível.

O usuário "postgres" é criado automaticamente quando o PostgreSQL é instalado. 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 "postgres", alterne para o usuário postgres e acesse um prompt do PostgreSQL usando o utilitário psql :

sudo su - postgres psql sudo su - postgres

A partir daqui, você pode interagir com o servidor 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.

Criando Função e Banco de Dados PostgreSQL

O comando createuser permite criar novas funções na linha de comandos. 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 kylo , um banco de dados chamado kylodb e concederemos privilégios no banco de dados à função.

  1. Primeiro, crie a função emitindo o seguinte comando:

    sudo su - postgres -c "createuser kylo"

    Em seguida, crie o banco de dados usando o comando createdb :

    sudo su - postgres -c "createdb kylodb"

    Para conceder permissões ao usuário no banco de dados, conecte-se ao shell do PostgreSQL:

    sudo -u postgres psql

    Execute a seguinte consulta:

    grant all privileges on database kylodb to kylo;

Habilitar acesso remoto ao servidor PostgreSQL

Por padrão, o servidor PostgreSQL escuta apenas na interface local 127.0.0.1 .

Abra o arquivo de configuração postgresql.conf e adicione listen_addresses = '*' na seção CONNECTIONS AND AUTHENTICATION . Isso instrui o servidor a ouvir em todas as interfaces de rede.

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/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 para que as alterações entrem em vigor:

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:*

A saída deve mostrar que o servidor PostgreSQL escuta em todas as interfaces (0.0.0.0).

A última etapa é configurar o servidor para aceitar logins remotos editando o arquivo pg_hba.conf .

Abaixo estão alguns exemplos mostrando diferentes casos de uso:

/etc/postgresql/11/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an 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 an 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

Nós mostramos como instalar e configurar o PostgreSQL no Debian 10. Para obter mais informações sobre este tópico, consulte a documentação do PostgreSQL.

banco de dados debian postgresql