Solución de problemas de PostgreSQL
Cómo hacer... en PostgreSQL
Tareas habituales de PostgreSQL y dónde encontrar las instrucciones completas.
Hacer que PostgreSQL funcione más rápido
El rendimiento de PostgreSQL depende sobre todo de la velocidad del disco y de la RAM disponible. La mejora individual más importante es una unidad de estado sólido (SSD); una unidad de 7200 RPM es aceptable, pero no se recomiendan las de 5400 RPM.
- Ajusta PostgreSQL para que use más de tu RAM — consulta Optimización del rendimiento de PostgreSQL.
- Mantén tu base de datos optimizada a medida que crece — consulta Mantenimiento de la base de datos.
- Para recomendaciones de hardware, consulta las Preguntas frecuentes sobre hardware recomendado.
Actualizar PostgreSQL
PokerTracker 4 es compatible con PostgreSQL 9.6 o superior (recomendamos PostgreSQL 16). Para pasar a una versión más nueva, sigue estas guías específicas:
- Cómo actualizar PostgreSQL manualmente
- Cómo actualizar manualmente versiones principales de PostgreSQL (macOS)
Haz siempre una copia de seguridad de tus bases de datos antes de actualizar.
Copia de seguridad y restauración en pgAdmin 4
PokerTracker 4 incluye copia de seguridad y restauración integradas: úsalo siempre que sea posible. El método externo con pgAdmin 4 que aparece a continuación solo se utiliza en casos excepcionales en los que las herramientas integradas no pueden acceder a tu base de datos, como cuando PokerTracker 4 se ejecuta en una máquina virtual pero PostgreSQL está instalado en el sistema operativo anfitrión. (Consulta la guía de red para ese caso.)
Las capturas de pantalla siguientes muestran una versión antigua de pgAdmin. Los pasos son equivalentes en pgAdmin 4.
Usar pgAdmin 4 para hacer una copia de seguridad de una base de datos
-
Abre pgAdmin 4.
Windows: Inicio > PostgreSQL > pgAdmin 4. macOS: /Applications/pgAdmin 4.
-
Conéctate al servidor.
En el árbol Browser, despliega Servers > PostgreSQL y conéctate. Si te pide una contraseña, la predeterminada es dbpass; otra contraseña usada con frecuencia es postgrespass.
-
Despliega Databases y selecciona tu base de datos.
Haz clic con el botón derecho en la base de datos que quieras copiar de seguridad y elige Backup....

-
Elige el nombre y la ubicación del archivo de copia de seguridad.
Escribe la ruta y el nombre del archivo, o haz clic en el botón de exploración ( "..." ) de la derecha para seleccionar la ubicación y el nombre del archivo de copia de seguridad.
Deja todos los demás campos con los valores predeterminados.

-
Haz clic en el botón Backup para empezar.
Verás una ventana emergente en la esquina inferior derecha de pgAdmin cuando haya empezado el proceso de copia de seguridad y cuando haya finalizado.

Usar pgAdmin 4 para restaurar una base de datos
-
Crea una base de datos nueva.
En el árbol Browser, haz clic con el botón derecho en Databases y elige Create > Database....

-
Escribe el nombre de la base de datos y luego haz clic en Save.

-
Restaura la copia de seguridad en la nueva base de datos.
Haz clic con el botón derecho en la nueva base de datos y elige Restore....

-
Selecciona el archivo de copia de seguridad que creaste anteriormente.

-
Haz clic en Restore.
No se necesitan más cambios. pgAdmin mostrará un mensaje emergente en la esquina inferior derecha de la pantalla cuando comience el proceso de restauración y cuando finalice.

Añadir una base de datos restaurada manualmente
-
Abre la ventana de gestión de bases de datos (Database > Database Management) y haz clic en New.
-
Activa This database already exists, haz clic en Browse Databases y selecciona la base de datos que acabas de restaurar.

Problemas
Soluciones a los errores de PostgreSQL más comunes.
No se puede iniciar sesión en la base de datos
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?
Esto suele significar que el servicio de PostgreSQL no se está ejecutando. Reinícialo; consulta Reiniciar el servidor PostgreSQL.
Si reiniciarlo no ayuda, puede que un archivo postmaster.pid obsoleto esté bloqueando el arranque. Con el servicio de PostgreSQL detenido, busca postmaster.pid en la carpeta de datos (Windows: C:\Program Files\PostgreSQL\16\data; macOS: /Library/PostgreSQL/16/data) y elimínalo; después, reinicia el ordenador. Sustituye 16 por la versión que tengas instalada. No elimines postmaster.pid a menos que el servicio de PostgreSQL esté detenido.
Error: no pg_hba.conf entry
unable to login to database (PT4 DB). Reason: FATAL: no pg_hba.conf entry for host "::1", user "postgres", database "PT4 DB", SSL off
Edita el archivo pg_hba.conf.
- Windows
- macOS
Debes editar el archivo pg_hba.conf como administrador. Ejecuta Bloc de notas haciendo clic con el botón derecho en su icono y seleccionando Ejecutar como administrador. Haz clic en Archivo > Abrir y selecciona el archivo pg_hba.conf, que normalmente se encuentra en C:\Program Files\PostgreSQL\16\data\pg_hba.conf.
Desplázate hasta el final y añade esta línea exactamente como la ves aquí:
host all all ::1/128 md5
Guarda el archivo y cierra el Bloc de notas. Para aplicar los cambios, reinicia el ordenador o haz clic en Inicio > Programas > PostgreSQL > Recargar configuración.
-
Abre la aplicación Terminal que se encuentra en /Applications/Utilities/Terminal.
-
Abre pg_hba.conf en el editor Nano.
Escribe
sudo nano /Library/PostgreSQL/16/data/pg_hba.confy pulsa Return. Introduce la contraseña de administrador de macOS si se solicita. -
Desplázate hasta el final del archivo con la tecla de flecha hacia abajo y añade esta línea exactamente como la ves aquí:
host all all ::1/128 md5 -
Pulsa CTRL+O para guardar y luego CTRL+X para salir.
-
Reinicia el ordenador para aplicar los cambios.
Sustituye 16 por la versión de PostgreSQL instalada.
Problemas al instalar o ejecutar PostgreSQL
Los problemas al instalar, ejecutar o conectar PostgreSQL en red suelen deberse a que un software de seguridad bloquea el acceso. Consulta la Guía de solución de problemas del cortafuegos para confirmar que PokerTracker 4 y PostgreSQL tienen acceso completo.
No conecta: usuario o contraseña incorrectos
Si PostgreSQL se instaló en tu ordenador antes que PokerTracker 4, utiliza la contraseña que se configuró al instalarlo. Si antes probaste otro tracker, prueba con postgrespass; si antes tenías otra versión de PokerTracker, la predeterminada puede ser dbpass.
Si no recuerdas tu contraseña y las opciones predeterminadas no funcionan, puedes configurar PostgreSQL para que no exija contraseña en las conexiones desde tu ordenador local:
Aun así, se seguirán requiriendo contraseñas para acceder al servidor desde cualquier lugar que no sea tu ordenador local.- Windows
- macOS
Debes editar el archivo pg_hba.conf como administrador. Ejecuta Bloc de notas haciendo clic con el botón derecho en su icono y seleccionando Ejecutar como administrador. Haz clic en Archivo > Abrir y selecciona el archivo pg_hba.conf, que normalmente se encuentra en C:\Program Files\PostgreSQL\16\data\pg_hba.conf.
Desplázate hasta el final y sustituye todas las apariciones de md5 o scram-sha-256 por la palabra trust.
Guarda el archivo y cierra el Bloc de notas. Para aplicar los cambios, reinicia el ordenador o haz clic en Inicio > Programas > PostgreSQL > Recargar configuración.
-
Abre la aplicación Terminal que se encuentra en /Applications/Utilities/Terminal.
-
Abre pg_hba.conf en el editor Nano.
Escribe
sudo nano /Library/PostgreSQL/16/data/pg_hba.confy pulsa Intro. Introduce la contraseña de administrador de macOS si se solicita. -
Desplázate hasta el final del archivo con la flecha abajo y reemplaza todas las apariciones de md5 o scram-sha-256 por la palabra trust.
-
Pulsa CTRL+O para guardar y luego CTRL+X para salir.
-
Reinicia el ordenador para aplicar los cambios.
Sustituye 16 por la versión de PostgreSQL que tengas instalada.
No se puede importar una mano
Si ves un error como este:
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 este:
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..." )
Hay dos causas habituales.
La primera es una corrupción de datos causada por un fallo del ordenador, lo que requiere reindexar tu base de datos. Reindexa desde la ventana Database > Database Management (Housekeeping > Reindex) — consulta Mantenimiento de la base de datos para ver el procedimiento completo. Después del mantenimiento, reconstruye la caché para que tu base de datos funcione como se espera.

La segunda causa es un hardware defectuoso. Aunque no lo recomendamos, puedes configurar PostgreSQL para que ignore estos errores editando el archivo postgresql.conf.
- Windows
- macOS
Debes editar el archivo postgresql.conf como administrador. Ejecuta Notepad haciendo clic con el botón derecho en su icono y seleccionando Ejecutar como administrador. Haz clic en File > Open y selecciona el archivo postgresql.conf, que normalmente se encuentra en C:\Program Files\PostgreSQL\16\data\postgresql.conf.
Desplázate hasta el final, crea una nueva línea y añade el texto zero_damaged_pages = on.
Guarda el archivo y cierra Notepad. Para aplicar los cambios, reinicia el ordenador o haz clic en Start > Programs > PostgreSQL > Reload Configuration.
-
Abre la aplicación Terminal que se encuentra en /Applications/Utilities/Terminal.
-
Abre postgresql.conf en el editor Nano.
Escribe
sudo nano /Library/PostgreSQL/16/data/postgresql.confy pulsa Intro. Introduce la contraseña de administrador de macOS si se solicita. -
Desplázate hasta el final del archivo, crea una nueva línea y añade el texto
zero_damaged_pages = on. -
Pulsa CTRL+O para guardar y luego CTRL+X para salir.
-
Reinicia el ordenador para aplicar los cambios.
Sustituye 16 por la versión de PostgreSQL que tengas instalada.
Si sigues teniendo problemas con el disco duro, considera sustituirlo por uno de 7200 RPM (o más rápido) o por un SSD.
PostgreSQL en un ordenador en red
Puedes alojar PostgreSQL en otro ordenador de tu red local. Consulta Servidor PostgreSQL alojado en una red local para obtener instrucciones de configuración.
Este método no cuenta con soporte oficial. Como PokerTracker 4 no fue diseñado para acceso remoto a bases de datos, algunas funciones — Backup, Restore, ajuste de la base de datos y mantenimiento de la base de datos — solo funcionan cuando la base de datos está en el mismo ordenador que PokerTracker 4.
PostgreSQL en una unidad independiente
Para ejecutar tu base de datos desde otra unidad, desinstala completamente PostgreSQL de tu ordenador (consulta más abajo) y luego vuelve a instalarlo en la unidad que elijas. Para más detalles, consulta la publicación del foro sobre crear una base de datos en una unidad independiente.
PostgreSQL en una unidad extraíble
Esta guía configura tu base de datos en un disco duro extraíble, de modo que puedas moverla entre ordenadores y usar la misma base de datos. Esto evita las limitaciones de red de PostgreSQL y te permite usar la base de datos fuera de tu red local.
Parte de la base de que PokerTracker 4 está instalado en dos ordenadores con Windows y bases de datos separadas. Por ahora no recomendamos esta opción a usuarios de macOS.
Antes de empezar, haz una copia de seguridad de tus bases de datos y guárdala en un lugar seguro.
Preparar la unidad extraíble
- Abre Inicio > Equipo (la ventana de "Mi PC"; volverás aquí con frecuencia).
- Haz clic con el botón derecho en tu unidad extraíble, elige Rename y ponle el nombre de tu base de datos (por ejemplo,
pg_16). - Haz clic con el botón derecho en la unidad otra vez y elige Format. Configura el sistema de archivos en NTFS con un tamaño de bloque de 4096, elige Quick Format y luego haz clic en Start.
- Asigna una letra de unidad que esté disponible en ambos ordenadores. Abre Inicio > haz clic con el botón derecho en Equipo > Administrar > Administración de discos. Haz clic con el botón derecho en tu unidad extraíble, elige Change Drive Letter and Paths > Change..., selecciona Assign the following drive letter y elige P (para PostgreSQL). Acepta la advertencia para continuar.
Desinstalar PostgreSQL
- Abre Inicio > Panel de control > Programas y características. Espera a que se cargue la lista, haz clic con el botón derecho en PostgreSQL y elige Uninstall. Anota el número de versión.
- Abre una ventana de símbolo del sistema con privilegios elevados (haz clic con el botón derecho en Command Prompt > Run as Administrator) y ejecuta
net user /delete postgres. Deberías ver "The command completed successfully." Si aparece "access denied", no estás ejecutándolo como administrador. Escribeexitcuando termines. - Elimina la carpeta restante en C:\Program Files\PostgreSQL. Asegúrate primero de que tus datos están respaldados y protegidos.
Descargar e instalar PostgreSQL
Descarga la versión de Enterprise DB de PostgreSQL que quieras instalar — por lo general, la última versión dentro de la misma versión principal que ya estabas usando.
Ejecuta el instalador y, cuando te pida la ubicación de instalación, busca tu unidad P: en P:\PostgreSQL\16 (sustituye 16 por tu versión; haz clic en el icono de nueva carpeta para crearla).
Sigue con el instalador. En la pantalla de contraseña, introduce dbpass en ambos cuadros. Haz clic en Next hasta que finalice la instalación.

Restaurar bases de datos
Restaura tus bases de datos respaldadas utilizando el mismo método que usaste para hacer la copia de seguridad.
Apagado y arranque de PostgreSQL
Ahora pasa al otro ordenador y sincronízalo con la unidad extraíble.
DEBES detener el servicio de PostgreSQL cada vez que muevas la unidad entre ordenadores, o corres el riesgo de perder el servidor de base de datos.
En tu ordenador principal:
- Cierra PokerTracker 4.
- Abre Inicio > haz clic con el botón derecho en Equipo > Administrar > Servicios.
- Busca PostgreSQL en la lista, haz clic con el botón derecho y elige Stop. Ahora puedes retirar la unidad con seguridad.
Antes de conectar la unidad al otro ordenador, asegúrate de que el servicio de PostgreSQL NO se está ejecutando allí. Una vez conectada la unidad, inicia el servicio: haz clic con el botón derecho en PostgreSQL > Start.
Segundo ordenador
Si PostgreSQL está instalado en este ordenador, desinstálalo primero.
- Conecta la unidad y asígnale la letra P: tal como hiciste en el primer ordenador (consulta Preparar la unidad extraíble).
- Descarga la misma versión de PostgreSQL que usaste antes y ejecuta el instalador, volviendo a configurar la ubicación en P:\PostgreSQL\16.
- Deja que el instalador cree la contraseña del servicio, pero en la pantalla de contraseña desmarca Initialize Database. Completa la instalación.
- Edita C:\Program Files\PokerTracker 4\Data\Config\PokerTracker.cfg, elimina toda la información de la base de datos y guarda los cambios.
- Ejecuta PokerTracker 4. En la pantalla de configuración de PostgreSQL, introduce la contraseña dbpass y haz clic en Connect.
- Cuando te pida crear una base de datos, marca This Database Already Exists, haz clic en Browse, selecciona tu base de datos y haz clic en Connect.
Ahora tienes la misma base de datos disponible en ambos ordenadores.
Recuerda detener el servicio de PostgreSQL antes de mover la unidad y volver a iniciarlo después de conectarla al otro ordenador (Start > Programs > PostgreSQL > Start Service).