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.
Ich wollte mich noch einmal bei Ihnen erkundigen. Wenn ich den dump.sql in eine PostgreSQL-Datenbank exportiere, sind die Tabellen leer. Es ist nicht klar, warum. Hier sind die Schritte, die ich nach dem Herunterladen der Sicherungsdatei befolge:
pgAdmin öffnen
Neue Datenbank erstellen
Query Tool öffnen
Im Query Tool ‘Öffnen’ verwenden und die Datei dump.sql auswählen
Das Dump-Skript ausführen
Es wird angezeigt, dass alles erfolgreich war, aber wenn ich die Daten in den Tabellen “anzeigen” lasse, sind sie leer.
Außerdem ist es wahrscheinlich, wie die Instanz verwaltet wird, aber es scheint, dass die Benutzertabelle nicht enthalten ist, aber ich benötige diese Tabelle, um zu wissen, wer was getan hat.
Über die Admin-Seite https:///admin/backup wurde ein Download angefordert und die Schritte befolgt. Es gab mehrere Schritte, darunter die Verifizierung per E-Mail und das Herunterladen einer Datei.
Die heruntergeladene Datei war eine gz-Datei, z. B. abc-2025-01-23-095947-v20250122131007.sql.gz. Unter Windows wurde die Datei mit 7-zip dekomprimiert, wodurch ein Verzeichnis mit demselben Namen, aber ohne .gz am Ende, erstellt wurde.
Über dieselbe Windows-Eingabeaufforderung wurde der Befehl zum Auflisten des Anfangs der SQL-Datei eingegeben.
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';
Hoffentlich reicht das aus, damit Sie die SQL-Datei mit PGAdmin zum Importieren der Daten verwenden können.
Hinweis
Als ich vor etwa 5 Jahren darüber gepostet habe, war der Dateityp des heruntergeladenen Files tar.gz, jetzt ist es sql.gz. Der einzige Unterschied ist, dass jetzt ein Dekomprimierungsschritt weniger benötigt wird.
Vielen Dank für deine Hilfe! Ich habe alle Schritte befolgt (mit einem zusätzlichen, da meine Datei immer noch tar.gz hat). Ich habe das gleiche Ergebnis mit der SQL-Datei erzielt:
--
-- PostgreSQL database dump
--
.........
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
Das Problem ist jedoch, dass, wenn ich PgAdmin verwende, um die Daten abzurufen, alle Tabellen leer sind und die Benutzertabelle fehlt.
Es tut mir leid, ich kann nicht mit PgAdmin helfen. Ich benutze PgAdmin nicht und müsste es installieren, um es auszuprobieren. Die Installation von PgAdmin ist kein Schritt, den ich unternehmen möchte.
Das einzige Mal, dass ich auf eine exportierte Discourse-Datenbank zugegriffen habe, war, um PostgreSQL, odbc-postgresql zu installieren und iusql zu verwenden, wie hier hier erwähnt.
Vielen Dank für all Ihre Hilfe! Ich weiß es wirklich zu schätzen. Es stellte sich heraus, dass ich versuchte, die neueste PostgreSQL-Version zu verwenden, während dump.sql von einer früheren Version stammte. Das habe ich herausgefunden, als ich versuchte, dem Leitfaden zu folgen, den Sie verwendet haben. Vielen Dank!