I am trying to access my database via a GUI (Psequel).
I forwarded the port setting from my container as such:
app.yml:
expose:
<standard definitions>
- "15432:5432" # PostgreSQL
Also changed my password as such:
./launcher enter app
su - postgres
psql
ALTER ROLE postgres WITH PASSWORD '<your password>';
And I am unable to access the database. Any suggestions?
If you only need a static snap shot of the database then from https://<site>/admin/backups download a backup. It should be a *.tar.gz file and when uncompressed will be a *.sql file. Create a PostgreSQL database on another machine, which could even be your laptop, and then import the *.sql file.
Now you should be able to access the data all you want with any means that can connect to a PostgreSQL database.
I use the above but access the Discourse database in PostgreSQL via ODBC.
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:
Abrir o pgAdmin
Criar um Novo Banco de Dados
Abrir a Ferramenta de Consulta (Query Tool)
Usar ‘Abrir’ na Ferramenta de Consulta e selecionar o arquivo dump.sql
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ê.
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.
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.
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
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
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.
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.
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!