Acessando Banco de Dados

Estou tentando acessar meu banco de dados por meio de uma interface gráfica (Psequel).

Encaminhei a porta do meu container da seguinte forma:

app.yml:

expose:
  <definições padrão>
  - "15432:5432" # PostgreSQL

Também alterei minha senha assim:

./launcher enter app
su - postgres
psql
ALTER ROLE postgres WITH PASSWORD '<sua senha>';

E não consigo acessar o banco de dados. Alguma sugestão?

Se você precisar apenas de uma imagem estática do banco de dados, faça o download de um backup em https://<site>/admin/backups. O arquivo deve ser um *.tar.gz e, ao ser descompactado, será um arquivo *.sql. Crie um banco de dados PostgreSQL em outra máquina (que pode ser até mesmo seu laptop) e, em seguida, importe o arquivo *.sql.

Agora você deverá conseguir acessar os dados da forma que desejar, usando qualquer meio que permita conexão a um banco de dados PostgreSQL.

Eu utilizo o método acima, mas acesso o banco de dados do Discourse no PostgreSQL via ODBC.

Espero ter ajudado.

ok boa ideia.
Na verdade, eu descobri. Ele roda na porta 5432 também dentro do container.
deveria estar escrito:
expose:
<definições padrão>

  • “5432:5432” # PostgreSQL

obrigado

Olá a todos,

Consigo acessar meu banco de dados postgres via pgadmin usando os seguintes passos:

  • Remova o código de porta de exposição do seu app.yml e reconstrua o aplicativo.
  • Vá para o seu portal de gerenciamento de servidor (ou seja, Digital Ocean, AWS etc.). Crie uma regra de firewall que abra a porta 5432.
  • Usando a aba SSH do pgadmin: faça login no seu servidor usando o endereço e as credenciais do servidor.

Me avisem se isso funcionar para vocês.

Atenciosamente,
Kimberly

@EricGT nunca tinha pensado nisso! Obrigado!! :slight_smile:

Olá!

Gostaria de confirmar com você, por favor. Quando exporto o dump.sql para um banco de dados postgresql, as tabelas ficam vazias. Não está claro o porquê. Aqui estão os passos que sigo após baixar o arquivo de backup:

  1. Abrir o pgAdmin
  2. Criar um Novo Banco de Dados
  3. Abrir a Ferramenta de Consulta (Query Tool)
  4. Usar ‘Abrir’ na Ferramenta de Consulta e selecionar o arquivo dump.sql
  5. Executar o Script de Dump

Ele diz que tudo foi bem-sucedido, mas quando ‘visualizo os dados’ nas tabelas, elas estão vazias.

Além disso, provavelmente é como a instância é gerenciada, mas parece que a tabela de usuários não está incluída também, mas preciso dessa tabela para saber quem fez o quê.

Perdi alguma coisa aqui? Obrigado!

Qual o tamanho do dump.sql? Ele deve ser considerável (alguns MB no mínimo). Você pode dar uma olhada dentro do arquivo? Ex:\n\nsh\n$ zgrep -i \"CREATE TABLE public.users\" dump.sql.gz\n# o resultado deve ser\n\u003e CREATE TABLE public.users (\n\n\nSe você não vir isso, o dump parece errado.\n\nAlém disso, se você compartilhar seus passos sobre como está exportando o dump ou colar sua saída de console aqui, poderemos entender melhor seu problema.

Muito obrigado! :slight_smile:

6,34 GB!

A imagem mostra uma linha de código SQL em um terminal, tentando usar um arquivo chamado "dump.sql" para expressar uma instrução CREATE TABLE. (Legenda da IA)

Para baixar o dump, segui os passos sugeridos acima por @EricGT:

Depois disso, segui estes passos:

E então, quando quero ver os dados, ele mostra:

Acabei de refazer isso para verificar.

  1. Usando a página de administração https:///admin/backup solicitei um download e segui os passos, houve várias etapas que incluíram verificação por e-mail e download de um arquivo.
  2. O arquivo baixado foi um arquivo gz, por exemplo, abc-2025-01-23-095947-v20250122131007.sql.gz. No Windows, descompactei o arquivo usando 7-zip, o que criou um diretório com o mesmo nome, menos o .gz no final.
C:\Users\Groot\Downloads>dir *.sql.gz
23/01/2025  05:04 AM       407,213,170 abc-2025-01-23-095947-v20250122131007.sql.gz

C:\Users\Groot\Downloads>dir *.sql

23/01/2025  05:04 AM    <DIR>          abc-2025-01-23-095947-v20250122131007.sql
  1. Usando um prompt de comando do Windows aberto no diretório com o arquivo sql para verificar se o arquivo sql existe
C:\Users\Groot\Downloads\abc-2025-01-23-095947-v20250122131007.sql>dir

23/01/2025  05:04 AM     1,572,346,154 abc-2025-01-23-095947-v20250122131007.sql
               1 Arquivo(s)  1,572,346,154 bytes
  1. Usando o mesmo prompt de comando do Windows, digitei o comando para listar o início do arquivo sql.

type /a | more

C:\Users\Groot\Downloads\abc-2025-01-23-095947-v20250122131007.sql>type "abc-2025-01-23-095947-v20250122131007.sql" /a | more

abc-2025-01-23-095947-v20250122131007.sql


--
-- PostgreSQL database dump
--

-- Dumped from database version 15.8 (Debian 15.8-1.pgdg110+1)
-- Dumped by pg_dump version 15.10 (Debian 15.10-1.pgdg120+1)

-- Started on 2025-01-23 09:59:47 UTC

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';

Espero que isso o leve ao ponto em que você possa usar o arquivo SQL com o PGAdmin para importar os dados.


NB

Quando postei sobre isso há cerca de 5 anos, o tipo de arquivo baixado era tar.gz, agora é sql.gz. A única diferença é que agora é necessária uma etapa a menos de descompressão.

Olá @EricGT

Muito obrigado pela sua ajuda! Segui todos os mesmos passos (com um extra, já que meu arquivo ainda tem tar.gz). Cheguei ao mesmo resultado com o arquivo sql:

--
-- PostgreSQL database dump
--
.........
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';

No entanto, o problema é que quando uso o PgAdmin para obter os dados, todas as tabelas estão vazias e a tabela Users simplesmente não existe.

Desculpe, não posso ajudar com o PgAdmin. Eu não uso PgAdmin e teria que instalá-lo para tentar. Instalar o PgAdmin não é um passo que eu queira dar.

A única vez que acessei um banco de dados Discourse exportado foi para instalar o PostgreSQL, odbc-postgresql e usar o iusql como observado aqui.

Muito obrigado por toda a ajuda! Eu realmente aprecio. Acontece que eu estava tentando usar a versão mais recente do postgresql, enquanto o dump.sql era de uma versão anterior. Descobri isso enquanto tentava seguir o guia que você usou. Obrigado!