PostgreSql - alandrade21/docsCompartilhados GitHub Wiki

  1. Verificando Versão Instalada
  2. Desinstalação
  3. Instalação
  4. Senha Primeiro Acesso
  5. Impedindo Start Automático
  6. Serviço
  7. Mover Diretório de Dados de lugar
  8. Preparar servidor para acesso remoto

Verificando Versão Instalada

dpkg -l | grep postgres

Desinstalação

sudo apt remove --purge <lista de pacotes>

Instalação

Adiciona no /etc/apt/sources.list.d/pgdg.list:

deb http://apt.postgresql.org/pub/repos/apt bullseye-pgdg main

Vc tb pode rodar o comando echo "deb http://apt.postgresql.org/pub/repos/apt bullseye-pgdg main" > /etc/apt/sources.list.d/pgdg.list

Importar a chave do repositório:

sudo apt install curl ca-certificates gnupg
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null

Instalação:

sudo apt update
sudo apt install postgresql-13

Adicione no /etc/apt/sources.list.d/pgadmin4.list:

deb deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/bullseye pgadmin4 main

Vc tb pode rodar o comando echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/bullseye pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list

Importar a chave do repositório:

sudo curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add

Instalação:

sudo apt update
sudo apt install pgadmin4

Senha Primeiro Acesso

sudo passwd postgres
su postgres
psql -c "ALTER USER postgres WITH PASSWORD 'nova_senha'" -d template1

Impedindo Start Automático

Abra o arquivo /etc/postgresql/11/main/start.conf e troque a entrada auto por manual.

Serviço

sudo pg_ctlcluster 11 main status
sudo pg_ctlcluster 11 main stop
sudo pg_ctlcluster 11 main start

Mover Diretório de Dados de Lugar

Confere o lugar atual

$ sudo -u postgres psql
postgres=# SHOW data_directory;

vai aparecer algo como

       data_directory
------------------------------
/var/lib/postgresql/11/main
(1 row)

Saia do console postgres

postgres=# \q

Para o postgres

sudo systemctl stop postgresql@11-main
sudo systemctl status postgresql@11-main

Copia a pasta

sudo rsync -av /var/lib/postgresql /opt/

Renomeia a antiga, por segurança

sudo mv /var/lib/postgresql/11/main /var/lib/postgresql/11/main.bak

Abra o arquivo /etc/postgresql/11/main/postgresql.conf e altere o diretório.

Reinicia o server

sudo systemctl start postgresql@11-main
sudo systemctl status postgresql@11-main
sudo pg_ctlcluster 11 main start
sudo pg_ctlcluster 11 main status

Verifica a configuração

$ sudo -u postgres psql
postgres=# SHOW data_directory;
postgres=# \q

Remove o diretório anterior

sudo rm -Rf /var/lib/postgresql/11/main.bak

Preparar Servidor para Acesso Remoto

edite /etc/postgresql/11/main/postgresql.conf e localize a entrada listen_addresses e descomente-a. Configure-a para: listen_addresses = '*'

Edite o arquivo /etc/postgresql/11/main/pg_hba.conf e altere a entrada host all para: host all all 0.0.0.0/0 md5

Reinicie o servidor.

⚠️ **GitHub.com Fallback** ⚠️