Accesso al Database

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?
1 Mi Piace

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.

HTH

2 Mi Piace

ok good idea.
Actually I figured it out. It runs on port 5432 also in the container.
it should read:
expose:

  • “5432:5432” # PostgreSQL

thanks

6 Mi Piace

Ciao a tutti,

Sono in grado di accedere al mio database postgres tramite pgadmin seguendo questi passaggi:

  • Rimuovere il codice di expose port dal file app.yml e ricompilare l’app.
  • Accedere al portale di gestione del server (ad es. Digital Ocean, AWS, ecc.). Creare una regola firewall che apra la porta 5432.
  • Utilizzando la scheda SSH di pgadmin: accedere al server utilizzando l’indirizzo e le credenziali del server.

Fatemi sapere se funziona per voi.

Cordiali saluti,
Kimberly

@EricGT non ci avevo mai pensato! Grazie!! :slight_smile:

1 Mi Piace

Ciao!

Volevo ricontrollare con te, per favore. Quando esporto il dump.sql in un database postgresql, mi ritrovo con tabelle vuote. Non è chiaro il perchÊ. Ecco i passaggi che seguo dopo aver scaricato il file di backup:

  1. Apri pgAdmin
  2. Crea un nuovo database
  3. Apri Query Tool
  4. Usa ‘Apri’ in Query Tool e seleziona il file dump.sql
  5. Esegui lo script di dump

Dice che tutto è andato a buon fine, ma quando faccio ‘visualizza dati’ nelle tabelle, sono vuote.

Inoltre, probabilmente è gestito dall’istanza, ma sembra che la tabella degli utenti non sia inclusa, ma ho bisogno di quella tabella per sapere chi ha fatto cosa.

Mi è sfuggito qualcosa qui? Grazie!

Qual è la dimensione di dump.sql? Dovrebbe essere di dimensioni considerevoli (almeno qualche MB). Puoi dare un’occhiata all’interno del file? Ad esempio:

$ zgrep -i "CREATE TABLE public.users" dump.sql.gz
# l'output dovrebbe essere
> CREATE TABLE public.users (

Se non vedi questo, il dump sembra sbagliato.

Inoltre, se condividi i passaggi su come stai esportando il dump o incolli qui l’output della tua console, possiamo capire meglio il tuo problema.

1 Mi Piace

Grazie mille! :slight_smile:

6,34 GB!

L'immagine mostra una riga di codice SQL su un terminale, che tenta di utilizzare un file denominato "dump.sql" per esprimere un'istruzione CREATE TABLE. (Didascalia dell'IA)

Per scaricare il dump, ho seguito i passaggi suggeriti sopra da @EricGT:

Dopo di che ho seguito questi passaggi:

E poi quando voglio visualizzare i dati, mostra:

Ho appena rifatto questo per controllare.

  1. Usando la pagina di amministrazione https:///admin/backup ho richiesto un download e seguito i passaggi, c’erano diversi passaggi che includevano la verifica tramite email e il download di un file.
  2. Il file scaricato era un file gz ad esempio abc-2025-01-23-095947-v20250122131007.sql.gz. Su Windows ho decompresso il file usando 7-zip che ha creato una directory con lo stesso nome meno il .gz alla fine.
C:\Users\Groot\Downloads>dir *.sql.gz
23/01/2025  05:04           407.213.170 abc-2025-01-23-095947-v20250122131007.sql.gz

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

<DIR>          abc-2025-01-23-095947-v20250122131007.sql
  1. Usando un prompt dei comandi di Windows aperto nella directory con il file sql per verificare l’esistenza del file sql
C:\Users\Groot\Downloads\abc-2025-01-23-095947-v20250122131007.sql>dir

01/23/2025  05:04     1.572.346.154 abc-2025-01-23-095947-v20250122131007.sql
               1 File(s)  1.572.346.154 byte
  1. Usando lo stesso prompt dei comandi di Windows utilizzato per digitare il comando per elencare l’inizio del file 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';

Spero che questo ti porti al punto in cui puoi usare il file SQL con PGAdmin per importare i dati.


NB

Quando ho pubblicato a riguardo circa 5 anni fa, il tipo di file scaricato era tar.gz, ora è sql.gz. L’unica differenza è che ora è necessario un passaggio di decompressione in meno.

2 Mi Piace

Ciao @EricGT

Grazie mille per il tuo aiuto! Ho seguito tutti gli stessi passaggi (con uno in piĂš poichĂŠ il mio file ha ancora tar.gz). Ho raggiunto lo stesso risultato con il file sql:

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

Tuttavia, il problema è che quando uso PgAdmin per ottenere i dati, tutte le tabelle sono vuote e la tabella Users è semplicemente mancante.

Mi dispiace, non posso aiutarti con PgAdmin. Non uso PgAdmin e dovrei installarlo per provare. Installare PgAdmin non è un passo che mi interessa fare.

L’unica volta che ho avuto accesso a un database Discourse esportato è stato per installare PostgreSQL, odbc-postgresql e usare iusql come indicato qui.

1 Mi Piace

Grazie mille per tutto il tuo aiuto! Lo apprezzo molto. Si scopre che stavo cercando di usare l’ultima versione di postgresql mentre dump.sql proveniva da una versione precedente. L’ho scoperto mentre cercavo di seguire la guida che hai usato. Grazie!

1 Mi Piace