Android

Como instalar o postgresql no centos 8

Cómo instalar PostgreSQL en Centos 8

Cómo instalar PostgreSQL en Centos 8

Índice:

Anonim

O PostgreSQL ou Postgres é um sistema de gerenciamento de banco de dados objeto-relacional de uso geral de código aberto com muitos recursos avançados que permitem criar ambientes tolerantes a falhas ou aplicativos complexos.

Neste guia, discutiremos como instalar o servidor de banco de dados PostgreSQL no CentOS 8. Antes de escolher qual versão instalar, verifique se seus aplicativos são compatíveis.

Também exploraremos o básico da administração de banco de dados PostgreSQL.

Pré-requisitos

Para poder instalar pacotes, você precisa estar logado como root ou usuário com privilégios de sudo.

Instalando o PostgreSQL no CentOS 8

No momento da redação deste artigo, existem duas versões do servidor PostgreSQL disponíveis para instalação nos repositórios padrão do CentOS: versão 9.6 e 10.0.

Para listar os fluxos de módulos disponíveis do PostgreSQL, digite:

dnf module list postgresql

A saída mostra que o módulo postgresql está disponível com dois fluxos. Cada fluxo possui dois perfis: servidor e cliente. O fluxo 10 com o servidor de perfil é o padrão:

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. Para instalar o fluxo padrão, servidor PostgreSQL versão 10.0, digite:

    sudo dnf install @postgresql:10

    Para instalar a versão 9.6 do servidor PostgreSQL, digite:

    sudo dnf install @postgresql:9.6

Você também pode instalar o pacote contrib, que fornece vários recursos adicionais para o banco de dados PostgreSQL:

sudo dnf install postgresql-contrib

Quando a instalação estiver concluída, inicialize o banco de dados PostgreSQL com o seguinte comando:

sudo postgresql-setup initdb

Initializing database… OK

Inicie o serviço PostgreSQL e ative-o na inicialização:

sudo systemctl enable --now postgresql

Use a ferramenta psql para verificar a instalação conectando-se ao servidor de banco de dados PostgreSQL e imprima sua versão:

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

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

Funções do PostgreSQL e métodos de autenticação

O PostgreSQL lida com 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 múltiplos 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 as condições definidas no pg_hba.conf sejam atendidas.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 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 servidor PostgreSQL. Este usuário é o superusuário da instância do PostgreSQL. É equivalente ao usuário root do MySQL.

Para efetuar login no servidor PostgreSQL como usuário do postgres , primeiro mude para o usuário e, em seguida, acesse o prompt do PostgreSQL usando o utilitário psql :

sudo su - postgres psql sudo su - postgres

A partir daqui, você pode interagir com a instância do PostgreSQL. Para sair do shell do PostgreSQL, digite:

\q

Você também pode acessar o prompt do PostgreSQL sem alternar os usuários com o comando sudo :

sudo -u postgres psql

Normalmente, o usuário do postgres é usado apenas no host local.

Criando Função e Banco de Dados PostgreSQL

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. Primeiro, conecte-se ao shell do PostgreSQL:

    sudo -u postgres psql

    Crie uma nova função do PostgreSQL usando o seguinte comando:

    create role john;

    Crie um novo banco de dados:

    create database johndb;

    Conceda privilégios ao usuário no banco de dados executando a seguinte consulta:

    grant all privileges on database johndb to john;

Habilitar acesso remoto ao servidor PostgreSQL

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

Para habilitar o acesso remoto ao seu servidor PostgreSQL, abra o arquivo de configuração:

sudo nano /var/lib/pgsql/data/postgresql.conf

Role para baixo até a seção CONNECTIONS AND AUTHENTICATION e adicione / edite a seguinte linha:

/var/lib/pgsql/data/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 systemctl restart postgresql

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 acima mostra que o servidor PostgreSQL está escutando na porta padrão 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:

/var/lib/pgsql/data/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

Conclusão

O CentOS 8 fornece duas versões do PostgreSQL: 9.6 e 10.0.

Para mais informações sobre este tópico, visite a documentação do PostgreSQL.

banco de dados centos postgresql