Como instalar o PostgreSQL no Ubuntu, CentOS e Windows?

Publicados: 2021-06-08

PostgreSQL é um dos mais populares sistemas de banco de dados objeto-relacional de código aberto, multiplataforma e robusto, de alto desempenho e confiável com uma forte comunidade.

Ele remonta a 1986 como parte do projeto POSTGRES na Universidade da Califórnia, Berkeley, e carrega 30 anos de desenvolvimento ativo em sua plataforma central. Seu desempenho consistente ao longo dos anos provou sua integridade, arquitetura e extensibilidade para uso empresarial. É compatível com ACID e oferece suporte para complementos poderosos, como o popular extensor de banco de dados geoespacial PostGIS.

Vamos cobrir a instalação do PostgreSQL em plataformas comuns neste artigo.

Então vamos começar.

Ubuntu

PostgreSQL está disponível para todos os sabores e versões do Ubuntu. Você tem a opção de instalar e usar a versão disponível por padrão com a sua versão do Ubuntu e suportada por toda a vida ou usar uma versão específica adicionando o repositório PostgreSQL e instalando o mesmo. Estaremos cobrindo as duas opções aqui.

Para usar a versão padrão com suporte fornecida pelo repositório do Ubuntu, execute:

 $ sudo apt-get update $ sudo apt-get -y install postgresql

O PostgreSQL Apt Repository suporta as versões LTS atuais do Ubuntu, ou seja, 20.04 , 18.04 e 16.04 . Embora possa não ser totalmente suportado, os mesmos pacotes funcionam em versões não-LTS também usando a versão LTS mais próxima.

Para usar o repositório apt PostgreSQL , siga estas etapas:

 $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install postgresql

Para instalar uma versão específica do repositório PostgreSQL, em vez de apenas postgresql que se refere à versão mais recente, especifique-o como postgresql-12 :

 $ sudo apt-get -y install postgresql-12

O repositório também contém pacotes diferentes, incluindo complementos de terceiros. Por exemplo, os pacotes comumente disponíveis para a versão 12 do PostgreSQL incluem:

postgresql-client-12 bibliotecas de cliente e binários de cliente
postgresql-12 servidor de banco de dados núcleo
postgresql-contrib-9.x módulos adicionais fornecidos (parte do pacote postgresql-xx na versão 10 e posterior)
libpq-dev bibliotecas e cabeçalhos para desenvolvimento de front-end da linguagem C
postgresql-server-dev-12 bibliotecas e cabeçalhos para desenvolvimento de back-end da linguagem C
pgadmin4 Utilitário de administração gráfica pgAdmin 4

Assim que a instalação for concluída, você pode verificar o status do serviço de banco de dados usando o comando abaixo:

 $ sudo systemctl status postgresql.service

Para o Ubuntu, pós-instalação, o serviço deve estar habilitado e funcionando como:

 $ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sun 2021-06-06 16:06:45 UTC; 46s ago Main PID: 3364 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 1113) Memory: 0B CGroup: /system.slice/postgresql.service Jun 06 16:06:45 ubuntu20cloud systemd[1]: Starting PostgreSQL RDBMS... Jun 06 16:06:45 ubuntu20cloud systemd[1]: Finished PostgreSQL RDBMS. $

CentOS

Como o Ubuntu, os repositórios RHEL / CentOS também contêm uma versão específica do PostgreSQL, que é suportada por todo o sistema operacional. Você pode instalar o mesmo usando:

 $ sudo yum install -y postgresql-server

ou você pode usar DNF se estiver usando CentOS 8.

 $ sudo dnf install -y postgresql-server

Execute os comandos abaixo de pós-instalação para inicializar o banco de dados, habilite o serviço PostgreSQL e inicie-o:

 $ sudo postgresql-setup initdb $ sudo systemctl enable postgresql.service $ sudo systemctl start postgresql.service

Ou para usar os pacotes diretamente dos repositórios yum do PostgreSQL , temos que adicionar o repositório como:

 $ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

E então, para instalar uma versão específica do PostgreSQL como a versão 13, que é a versão estável mais recente no momento em que este artigo foi escrito, use:

 $ sudo yum install -y postgresql13-server

O repositório yum também contém pacotes adicionais para PostgreSQL, dos quais alguns dos mais importantes estão listados abaixo:

cliente postgresql bibliotecas e binários de cliente
servidor postgresql servidor de banco de dados núcleo
postgresql-contrib módulos adicionais fornecidos
postgresql-devel bibliotecas e cabeçalhos para desenvolvimento de linguagem C

Execute as etapas de pós-instalação abaixo para inicializar o banco de dados, habilite o serviço PostgreSQL e inicie-o:

 $ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb $ sudo systemctl enable postgresql-13 $ sudo systemctl start postgresql-13

Você pode verificar o status do serviço de banco de dados usando o comando abaixo:

 $ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2021-06-06 16:39:35 GMT; 1min 12s ago Process: 7011 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS) Process: 7005 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service ├─7014 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432 ├─7015 postgres: logger process ├─7017 postgres: checkpointer process ├─7018 postgres: writer process ├─7019 postgres: wal writer process ├─7020 postgres: autovacuum launcher process └─7021 postgres: stats collector process Jun 06 16:39:34 centos7cloud systemd[1]: Starting PostgreSQL database server... Jun 06 16:39:35 centos7cloud systemd[1]: Started PostgreSQL database server. $

janelas

Os instaladores do Windows de 32 e 64 bits estão disponíveis no site oficial do PostgreSQL aqui.

  • Você pode baixar o binário aplicável com base na versão e arquitetura necessárias.

download postgresql

  • Estaremos baixando a última versão disponível, que é a v13.3 para a plataforma Windows de 64 bits. Quando o download for concluído, inicie o instalador clicando duas vezes nele.

postgresql-install-launch

  • Clique em Avançar para prosseguir.

postgresql-install-location

  • Clique em Avançar para continuar com o caminho padrão ou especifique seu caminho de instalação personalizado.

  • Você pode manter os componentes padrão selecionados e clicar em Avançar para continuar.

postgresql-install-datadir

  • Em seguida, ele pede a localização do diretório de dados; isso pode ser mantido como padrão, a menos que você tenha um disco ou diretório dedicado separado atribuído a ele. Clique em Avançar para prosseguir.

postgresql-install-password

  • Especifique uma senha forte que será atribuída ao usuário postgres . Clique em Avançar quando terminar.

postgresql-install-port

  • A porta padrão 5432 deve ser adequada para a maioria dos casos. Clique em Avançar para ir para a próxima página.

postgresql-install-locale

  • Selecione o local para o banco de dados e clique em Avançar para continuar.

confirmação da instalação do postgresql

  • Todas as configurações selecionadas para o assistente de instalação serão listadas para você revisar e confirmar. Se algo precisar ser alterado, volte e altere o mesmo ou clique em Avançar para prosseguir para a próxima página.

postgresql-install-confirmation-1

  • A instalação mostrará que está pronto para prosseguir com a instalação. Quando estiver pronto, clique em Avançar para iniciar a instalação.

postgresql-install-progress

  • Aguarde a conclusão da instalação. Uma confirmação será mostrada para o mesmo.

postgresql-install-completed

  • Depois de concluído, você pode desmarcar Stack Builder e clicar em Concluir para sair do assistente de instalação. Clique no menu Iniciar, procure por SQL Shell (psql) e clique em seu ícone para abrir o psql shell.

psql-start-menu

  • SQL Shell (psql) abre onde você pode interagir com sua instância PostgreSQL após especificar os detalhes da conexão. Todos os itens podem ser selecionados como padrão simplesmente pressionando Enter exceto para a senha, onde você precisa inserir a senha especificada para o usuário postgres durante o assistente de instalação. Isso o levará ao prompt do postgres=# .

psql-sql-shell-windows

Conecte-se ao PostgreSQL

Um usuário postgres é criado automaticamente após a instalação, que tem acesso de superadmin à instância de banco de dados. No Linux, como um usuário privilegiado, você pode alternar para esta conta como:

 $ sudo su - postgres

Uma vez lá, podemos redefinir a senha do usuário do postgres como:

 $ psql -c "alter user postgres with password '[email protected]'"

Em seguida, inicie o prompt do PostgreSQL com psql como:

 $ psql

Isso o levará ao prompt do PostgreSQL:

 $ psql psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1)) Type "help" for help. postgres=#

Nesse prompt, você pode interagir com o banco de dados e fazer a administração do banco de dados ou tarefas do usuário. Como demonstração, as etapas a seguir criam um banco de dados e um usuário e, em seguida, atribuem privilégios ao novo usuário para trabalhar no novo banco de dados:

 postgres=# CREATE DATABASE geekflaredb; CREATE DATABASE postgres=# CREATE USER geekuser WITH ENCRYPTED PASSWORD '[email protected]'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE geekflaredb to geekuser; GRANT postgres=#

Podemos então listar os bancos de dados usando o comando \l :

 postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- geekflaredb | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =Tc/postgres + | | | | | postgres=CTc/postgres+ | | | | | geekuser=CTc/postgres postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) postgres=#

Agora você pode simplesmente se conectar a um banco de dados usando:

 postgres=# \c geekflaredb You are now connected to database "geekflaredb" as user "postgres". geekflaredb=#

Resumo

PostgreSQL é um dos bancos de dados amplamente adotados no mundo corporativo por causa de sua robustez, conjunto de recursos e escalabilidade. É fácil de aprender e tenta ser compatível com os padrões SQL.

Há um tutorial disponível para PostgreSQL em seu site oficial.