Passa al contenuto principale

Risoluzione dei problemi PostgreSQL

Come fare con PostgreSQL...

Attività comuni di PostgreSQL e dove trovare le istruzioni complete.

Rendere PostgreSQL più veloce

Le prestazioni di PostgreSQL dipendono soprattutto dalla velocità del disco e dalla RAM disponibile. Il miglioramento singolo più importante è un Solid State Drive (SSD); un disco a 7200 RPM è accettabile, ma i dischi a 5400 RPM non sono raccomandati.

Aggiornare PostgreSQL

PokerTracker 4 supporta PostgreSQL 9.6 o superiore (consigliamo PostgreSQL 16). Per passare a una versione più recente, segui le guide dedicate:

Esegui sempre il backup dei database prima di aggiornare.

Backup e ripristino in pgAdmin 4

PokerTracker 4 include backup e ripristino integrati — usali ogni volta che è possibile. Il metodo esterno con pgAdmin 4 riportato di seguito serve solo nei rari casi in cui gli strumenti integrati non riescono a raggiungere il database, ad esempio quando PokerTracker 4 viene eseguito in una macchina virtuale ma PostgreSQL è installato sul sistema operativo host. (Vedi la networking guide per quello scenario.)

note

Le schermate qui sotto mostrano una versione più vecchia di pgAdmin. I passaggi sono equivalenti in pgAdmin 4.

Usare pgAdmin 4 per eseguire il backup di un database

  1. Apri pgAdmin 4.

    Windows: Start > PostgreSQL > pgAdmin 4. macOS: /Applications/pgAdmin 4.

  2. Connettiti al server.

    Nella struttura Browser, espandi Servers > PostgreSQL e connettiti. Se viene richiesta una password, quella predefinita è dbpass; un’altra password comunemente usata è postgrespass.

  3. Espandi Databases e seleziona il database.

    Fai clic con il tasto destro sul database che vuoi salvare e scegli Backup....

    pgAdmin 4 database backup
  4. Scegli il nome file e la posizione del backup.

    Digita il percorso e il nome del file, oppure fai clic sul pulsante di sfoglia ( "..." ) a destra per selezionare posizione e nome del file di backup.

    Lascia tutti gli altri campi con i valori predefiniti.

    Backing up a PT4 Database in pgAdmin 4
  5. Fai clic sul pulsante Backup per avviare.

    Vedrai un popup nell’angolo in basso a destra di pgAdmin quando il processo di backup sarà avviato e quando sarà completato.

    pgAdmin 4 database backup started and completed

Usare pgAdmin 4 per ripristinare un database

  1. Crea un nuovo database.

    Nella struttura Browser, fai clic con il tasto destro su Databases e scegli Create > Database....

    pgAdmin 4 create database
  2. Digita il nome del database, quindi fai clic su Save.

    pgAdmin 4 create database name
  3. Ripristina il backup nel nuovo database.

    Fai clic con il tasto destro sul nuovo database e scegli Restore....

    pgAdmin 4 restore database
  4. Seleziona il file di backup creato in precedenza.

    pgAdmin 4 restore - select backup file
  5. Fai clic su Restore.

    Non sono necessarie altre modifiche. pgAdmin mostrerà un popup in basso a destra dello schermo quando il processo di ripristino inizia e quando termina.

    pgAdmin 4 restore started & completed

Aggiungere un database ripristinato manualmente

  1. Apri la finestra Database Management (Database > Database Management) e fai clic su New.

  2. Attiva This database already exists, fai clic su Browse Databases e seleziona il database che hai appena ripristinato.

    Configure a restored PT4 database

Problemi

Soluzioni agli errori PostgreSQL più comuni.

Impossibile accedere al database

Error: could not connect to server / connection refused

unable to login to database (PT4_xxxx_xx_xx_xxxxxx) - reason: could not connect to server: connection refused (0x0000274D/10061) Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?

Ciò di solito significa che il servizio PostgreSQL non è in esecuzione. Riavvialo — vedi Riavvia il server PostgreSQL.

Se il riavvio non risolve il problema, un file postmaster.pid obsoleto potrebbe impedire l'avvio. Con il servizio PostgreSQL arrestato, cerca postmaster.pid nella cartella dei dati (Windows: C:\Program Files\PostgreSQL\16\data; macOS: /Library/PostgreSQL/16/data) ed eliminalo, quindi riavvia il computer. Sostituisci 16 con la versione installata. Non eliminare postmaster.pid a meno che il servizio PostgreSQL non sia arrestato.

Errore: nessuna voce pg_hba.conf

unable to login to database (PT4 DB). Reason: FATAL: no pg_hba.conf entry for host "::1", user "postgres", database "PT4 DB", SSL off

Modifica il file pg_hba.conf.

Devi modificare il file pg_hba.conf come amministratore. Avvia Blocco note facendo clic con il pulsante destro sulla sua icona e selezionando Esegui come amministratore. Fai clic su File > Apri e seleziona il file pg_hba.conf, normalmente situato in C:\Program Files\PostgreSQL\16\data\pg_hba.conf.

Scorri fino in fondo e aggiungi esattamente questa riga come la vedi qui:

host all all ::1/128 md5

Salva il file e chiudi Blocco note. Per applicare le modifiche, riavvia il computer oppure fai clic su Start > Programmi > PostgreSQL > Ricarica configurazione.

Problemi di installazione o di esecuzione di PostgreSQL

I problemi di installazione, esecuzione o connessione in rete di PostgreSQL sono spesso causati da software di sicurezza che blocca l'accesso. Consulta la Guida alla risoluzione dei problemi del firewall per verificare che PokerTracker 4 e PostgreSQL abbiano accesso completo.

Impossibile connettersi - nome utente o password errati

Se PostgreSQL è stato installato sul tuo computer prima di PokerTracker 4, usa la password impostata durante l'installazione. Se in precedenza hai provato un altro tracker, prova postgrespass; se in precedenza avevi una versione diversa di PokerTracker, il valore predefinito potrebbe essere dbpass.

Se non ricordi la password e le opzioni predefinite non funzionano, puoi configurare PostgreSQL in modo che non richieda una password per le connessioni dal tuo computer locale:

Le password saranno comunque richieste per l'accesso al server da qualsiasi posizione diversa dal tuo computer locale.

Devi modificare il file pg_hba.conf come amministratore. Avvia Blocco note facendo clic con il pulsante destro sulla sua icona e selezionando Esegui come amministratore. Fai clic su File > Apri e seleziona il file pg_hba.conf, normalmente situato in C:\Program Files\PostgreSQL\16\data\pg_hba.conf.

Scorri fino in fondo e sostituisci ogni occorrenza di md5 o scram-sha-256 con la parola trust.

Salva il file e chiudi Blocco note. Per applicare le modifiche, riavvia il computer oppure fai clic su Start > Programmi > PostgreSQL > Ricarica configurazione.

Impossibile importare la hand history

Se vedi un errore come questo:

Unable to import hand (#18202934050). Reason: Unable to execute query: COPY tourney_holdem_hand_summary FROM STDIN;; Reason: Fatal Error (ERROR: could not read block 0 of relation 1663/16438/16742: Invalid argument CONTEXT: COPY tourney_holdem_hand_summary, line 1: "54551 100 736 3 971 18202934050 2008/06/17 20:55:42 2008/06/17 17:22:44 9 2 2 2 1500.00 1500.00 1500..." )

...o questo:

Unable to import hand (#7651813545). Reason: Unable to execute query: COPY holdem_hand_player_statistics FROM STDIN;; Reason: Fatal Error (ERROR: index "hhps:idx5-id_session" contains unexpected zero page at block 0 HINT: Please REINDEX it. CONTEXT: COPY holdem_hand_player_statistics, line 1: "70112 696 696 0 2 8819 2008/08/15 04:05:59 8 f f 0 f 0 f f f f f 0 f 0 t f f t f 0 f 0 t f t t f 0 f..." )

Ci sono due cause comuni.

La prima è un danneggiamento dei dati causato da un crash del computer, che richiede la reindicizzazione del database. Reindicizza dalla finestra Database > Database Management (Housekeeping > Reindex) — vedi Database Housekeeping per la procedura completa. Dopo l'housekeeping, ricostruisci la cache in modo che il database funzioni come previsto.

Reindex PT4 database

La seconda causa è un hardware difettoso. Anche se non lo consigliamo, puoi impostare PostgreSQL in modo che ignori questi errori modificando il file postgresql.conf.

Devi modificare il file postgresql.conf come amministratore. Avvia Notepad facendo clic con il tasto destro sulla sua icona e selezionando Esegui come amministratore. Fai clic su File > Apri e seleziona il file postgresql.conf, normalmente presente in C:\Program Files\PostgreSQL\16\data\postgresql.conf.

Scorri fino in fondo, crea una nuova riga e aggiungi il testo zero_damaged_pages = on.

Salva il file e chiudi Notepad. Per applicare le modifiche, riavvia il computer oppure fai clic su Start > Programmi > PostgreSQL > Ricarica configurazione.

warning

Se continui ad avere problemi con il disco rigido, valuta la sostituzione con un'unità da 7200 RPM (o più veloce) oppure con un SSD.

PostgreSQL su un computer in rete

Puoi ospitare PostgreSQL su un altro computer della tua rete locale. Consulta PostgreSQL Server Hosted on a Local Network per le istruzioni di configurazione.

Questo metodo non è ufficialmente supportato. Poiché PokerTracker 4 non è stato progettato per l'accesso remoto al database, alcune funzioni — Backup, Restore, ottimizzazione del database e manutenzione del database — funzionano solo quando il database si trova sullo stesso computer di PokerTracker 4.

PostgreSQL su un'unità separata

Per eseguire il database da un'unità diversa, rimuovi completamente PostgreSQL dal computer (vedi sotto), quindi reinstallalo sull'unità scelta. Per maggiori dettagli, vedi il post del forum su creating a database on a separate drive.

PostgreSQL su un'unità hotswap

Questa guida configura il database su un disco rigido hot-swappable, così puoi spostarlo tra computer diversi e usare lo stesso database. In questo modo si evitano i limiti di rete di PostgreSQL e puoi usare il database anche al di fuori della rete locale.

Si presume che PokerTracker 4 sia installato su due computer Windows con database separati. Al momento non consigliamo questa opzione agli utenti macOS.

Prima di iniziare, esegui il backup dei tuoi database e conserva la copia di backup in un luogo sicuro.

Prepara l'unità Hotswap

  1. Apri Start > Computer (la finestra "Risorse del computer" — vi tornerai spesso).
  2. Fai clic con il pulsante destro sull'unità hotswap, scegli Rinomina e assegnale il nome del tuo database (ad esempio, pg_16).
  3. Fai clic con il pulsante destro sull'unità di nuovo e scegli Formatta. Imposta il file system su NTFS con dimensione unità di allocazione 4096, scegli Formattazione rapida, quindi fai clic su Start.
  4. Assegna una lettera di unità disponibile su entrambi i computer. Apri Start > fai clic con il pulsante destro su Computer > Gestisci > Gestione disco. Fai clic con il pulsante destro sull'unità hotswap, scegli Cambia lettera e percorso di unità > Cambia..., seleziona Assegna la seguente lettera di unità e scegli P (per PostgreSQL). Accetta l'avviso per continuare.

Disinstalla PostgreSQL

  1. Apri Start > Pannello di controllo > Programmi e funzionalità. Attendi che l'elenco venga caricato, fai clic con il pulsante destro su PostgreSQL e scegli Disinstalla. Prendi nota del numero di versione.
  2. Apri un Prompt dei comandi con privilegi elevati (fai clic con il pulsante destro su Prompt dei comandi > Esegui come amministratore) ed esegui net user /delete postgres. Dovresti vedere "Il comando è stato eseguito correttamente." Se compare "accesso negato", non stai eseguendo come amministratore. Digita exit al termine.
  3. Elimina la cartella residua in C:\Program Files\PostgreSQL. Assicurati prima che i tuoi dati siano stati salvati e messi al sicuro.

Scarica e installa PostgreSQL

Scarica la versione Enterprise DB di PostgreSQL che vuoi installare — in genere l'ultima release della stessa versione principale che stavi già usando.

Esegui il programma di installazione e, quando ti viene chiesto il percorso di installazione, sfoglia l'unità P: in P:\PostgreSQL\16 (sostituisci 16 con la tua versione; fai clic sull'icona della nuova cartella per crearla).

Continua con l'installer. Nella schermata della password inserisci dbpass in entrambi i campi. Fai clic su Avanti fino al completamento dell'installazione.

`dbpass` password for PokerTracker 4

Ripristina i database

Ripristina i database di cui hai eseguito il backup usando lo stesso metodo che hai usato per salvarli.

Arresto e avvio di PostgreSQL

Ora passa all'altro computer e sincronizzalo con l'unità hotswap.

warning

DEVI arrestare il servizio PostgreSQL ogni volta che sposti l'unità tra computer diversi, altrimenti rischi di perdere il server del database.

Sul computer principale:

  1. Chiudi PokerTracker 4.
  2. Apri Start > fai clic con il pulsante destro su Computer > Gestisci > Servizi.
  3. Individua PostgreSQL nell'elenco, fai clic con il pulsante destro e scegli Arresta. Ora puoi rimuovere l'unità in sicurezza.

Prima di collegare l'unità all'altro computer, assicurati che il servizio PostgreSQL NON sia in esecuzione lì. Una volta collegata l'unità, avvia il servizio: fai clic con il pulsante destro su PostgreSQL > Avvia.

Secondo computer

Se PostgreSQL è installato su questo computer, disinstallalo prima.

  1. Collega l'unità e assegna la lettera P: come hai fatto sul primo computer (vedi Prepara l'unità Hotswap).
  2. Scarica la stessa versione di PostgreSQL usata prima ed esegui il programma di installazione, impostando di nuovo il percorso su P:\PostgreSQL\16.
  3. Lascia che il programma di installazione crei la password del servizio, ma nella schermata della password deseleziona Initialize Database. Completa l'installazione.
  4. Modifica C:\Program Files\PokerTracker 4\Data\Config\PokerTracker.cfg, rimuovi tutte le informazioni del database e salva.
  5. Avvia PokerTracker 4. Nella schermata di configurazione di PostgreSQL, inserisci la password dbpass e fai clic su Connect.
  6. Quando ti viene chiesto di creare un database, seleziona This Database Already Exists, fai clic su Browse, seleziona il tuo database e fai clic su Connect.

Ora hai lo stesso database disponibile su entrambi i computer.

note

Ricorda di arrestare il servizio PostgreSQL prima di spostare l'unità e di avviarlo di nuovo dopo averla collegata all'altro computer (Start > Programs > PostgreSQL > Start Service).