Saltar al contenido principal

Solución de problemas de PostgreSQL

Cómo hacer en PostgreSQL...

Tareas comunes de PostgreSQL y dónde encontrar las instrucciones completas.

Hacer que PostgreSQL funcione más rápido

El rendimiento de PostgreSQL depende principalmente de la velocidad del disco y de la RAM disponible. La mejora más importante es una unidad de estado sólido (SSD); una unidad de 7200 RPM es aceptable, pero no se recomiendan las unidades de 5400 RPM.

Actualizar PostgreSQL

PokerTracker 4 es compatible con PostgreSQL 9.6 o superior (recomendamos PostgreSQL 16). Para pasar a una versión más reciente, sigue las guías específicas:

Siempre haz 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 integrada — úsala siempre que sea posible. El método externo con pgAdmin 4 a continuación solo sirve para casos poco comunes en los que las herramientas integradas no pueden الوصول a tu base de datos, por ejemplo, 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 escenario.)

nota

Las capturas de pantalla a continuación 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

  1. Abre pgAdmin 4.

    Windows: Inicio > PostgreSQL > pgAdmin 4. macOS: /Aplicaciones/pgAdmin 4.

  2. Conéctate al servidor.

    En el árbol Browser, expande Servers > PostgreSQL y conéctate. Si te pide una contraseña, la predeterminada es dbpass; otra contraseña común es postgrespass.

  3. Expande Databases y selecciona tu base de datos.

    Haz clic derecho sobre la base de datos de la que quieres hacer una copia de seguridad y elige Backup....

    pgAdmin 4 database backup
  4. 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 ( "..." ) a la derecha para seleccionar la ubicación y el nombre del archivo de la copia de seguridad.

    Deja todos los demás campos con los valores predeterminados.

    Backing up a PT4 Database in pgAdmin 4
  5. Haz clic en el botón Backup para iniciar.

    Verás una notificación emergente en la esquina inferior derecha de pgAdmin cuando el proceso de copia de seguridad haya comenzado y cuando se haya completado.

    pgAdmin 4 database backup started and completed

Usar pgAdmin 4 para restaurar una base de datos

  1. Crea una nueva base de datos.

    En el árbol Browser, haz clic derecho en Databases y elige Create > Database....

    pgAdmin 4 create database
  2. Escribe el nombre de la base de datos y luego haz clic en Save.

    pgAdmin 4 create database name
  3. Restaura la copia de seguridad en la nueva base de datos.

    Haz clic derecho en la nueva base de datos y elige Restore....

    pgAdmin 4 restore database
  4. Selecciona el archivo de copia de seguridad que creaste antes.

    pgAdmin 4 restore - select backup file
  5. Haz clic en Restore.

    No se necesitan más cambios. pgAdmin mostrará una notificación emergente en la parte inferior derecha de la pantalla cuando el proceso de restauración comience y cuando termine.

    pgAdmin 4 restore started & completed

Agregar una base de datos restaurada manualmente

  1. Abra la ventana de Administración de bases de datos (Base de datos > Administración de bases de datos) y haga clic en Nuevo.

  2. Active Esta base de datos ya existe, haga clic en Explorar bases de datos y seleccione la base de datos que acaba de restaurar.

    Configure a restored PT4 database

Problemas

Soluciones a los errores más comunes de PostgreSQL.

No se puede iniciar sesión en la base de datos

Error: no se pudo conectar al servidor / conexión rechazada

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 normalmente significa que el servicio de PostgreSQL no está en ejecución. Reinícielo; consulte Reiniciar el servidor PostgreSQL.

Si reiniciarlo no ayuda, un archivo postmaster.pid obsoleto puede estar bloqueando el inicio. Con el servicio de PostgreSQL detenido, busque postmaster.pid en la carpeta de datos (Windows: C:\Program Files\PostgreSQL\16\data; macOS: /Library/PostgreSQL/16/data) y elimínelo; luego reinicie el equipo. Sustituya 16 por la versión que tenga instalada. No elimine postmaster.pid a menos que el servicio de PostgreSQL esté detenido.

Error: no hay ninguna entrada 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

Edite el archivo pg_hba.conf.

Debe editar el archivo pg_hba.conf como administrador. Ejecute Bloc de notas haciendo clic con el botón derecho en su icono y seleccionando Ejecutar como administrador. Haga clic en Archivo > Abrir y seleccione el archivo pg_hba.conf, que normalmente se encuentra en C:\Program Files\PostgreSQL\16\data\pg_hba.conf.

Desplácese hasta el final y agregue esta línea exactamente como la ve aquí:

host all all ::1/128 md5

Guarde el archivo y cierre Bloc de notas. Para aplicar los cambios, reinicie su computadora o haga clic en Inicio > Programas > PostgreSQL > Recargar configuración.

Problemas al instalar o ejecutar PostgreSQL

Los problemas al instalar, ejecutar o conectar PostgreSQL a la red suelen deberse a que el software de seguridad bloquea el acceso. Consulte la Guía de solución de problemas del firewall para confirmar que PokerTracker 4 y PostgreSQL tienen acceso total.

No se puede conectar: usuario o contraseña incorrectos

Si PostgreSQL se instaló en su equipo antes que PokerTracker 4, use la contraseña que se configuró al instalarlo. Si antes probó otro tracker, pruebe con postgrespass; si antes tuvo una versión diferente de PokerTracker, el valor predeterminado puede ser dbpass.

Si no recuerda su contraseña y las opciones predeterminadas no funcionan, puede configurar PostgreSQL para que no requiera contraseña en las conexiones desde su equipo local:

La contraseña seguirá siendo obligatoria para acceder al servidor desde cualquier lugar que no sea su equipo local.

Debe editar el archivo pg_hba.conf como administrador. Ejecute Bloc de notas haciendo clic con el botón derecho en su icono y seleccionando Ejecutar como administrador. Haga clic en Archivo > Abrir y seleccione el archivo pg_hba.conf, que normalmente se encuentra en C:\Program Files\PostgreSQL\16\data\pg_hba.conf.

Desplácese hasta el final y reemplace cada instancia de md5 o scram-sha-256 por la palabra trust.

Guarde el archivo y cierre Bloc de notas. Para aplicar los cambios, reinicie su computadora o haga clic en Inicio > Programas > PostgreSQL > Recargar configuración.

No se puede importar la mano

Si ve 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 comunes.

La primera es la corrupción de datos por un fallo del equipo, lo que requiere reindexar la base de datos. Reindexe desde la ventana Base de datos > Administración de bases de datos (Mantenimiento > Reindexar) — consulte Mantenimiento de la base de datos para ver el procedimiento completo. Después del mantenimiento, reconstruya la caché para que la base de datos funcione como se espera.

Reindex PT4 database

La segunda causa es un hardware defectuoso. Aunque no lo recomendamos, puede configurar PostgreSQL para que ignore estos errores editando el archivo postgresql.conf.

Debes editar el archivo postgresql.conf como administrador. Ejecuta Notepad haciendo clic derecho en su icono y seleccionando Run As Administrator. 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 agrega el texto zero_damaged_pages = on.

Guarda el archivo y cierra Notepad. Para aplicar los cambios, reinicia tu computadora o haz clic en Start > Programs > PostgreSQL > Reload Configuration.

aviso

Si sigue teniendo problemas con su disco duro, considere reemplazarlo por una unidad de 7200 RPM (o más rápida) o por un SSD.

PostgreSQL en un equipo de red

Puede alojar PostgreSQL en otro equipo de su red local. Consulte Servidor PostgreSQL alojado en una red local para ver las instrucciones de configuración.

Este método no cuenta con soporte oficial. Como PokerTracker 4 no fue diseñado para acceso remoto a la base de datos, algunas funciones — Copia de seguridad, Restaurar, ajuste de la base de datos y mantenimiento de la base de datos — solo funcionan cuando la base de datos está en el mismo equipo que PokerTracker 4.

PostgreSQL en una unidad separada

Para ejecutar su base de datos desde una unidad diferente, desinstale PostgreSQL completamente de su equipo (consulte más abajo) y luego vuelva a instalarlo en la unidad que elija. Para más detalles, consulte la publicación del foro sobre crear una base de datos en una unidad separada.

PostgreSQL en una unidad intercambiable

Esta guía configura su base de datos en un disco duro intercambiable para que pueda moverlo entre equipos y usar la misma base de datos. Esto evita las limitaciones de red de PostgreSQL y le permite usar su base de datos fuera de su red local.

Asume que PokerTracker 4 está instalado en dos equipos con Windows y bases de datos independientes. Por el momento, no recomendamos esta opción para usuarios de macOS.

Antes de comenzar, haga una copia de seguridad de sus bases de datos y guárdela en un lugar seguro.

Preparar la unidad intercambiable

  1. Abra Inicio > Equipo (la ventana "Mi PC"; volverá aquí con frecuencia).
  2. Haga clic derecho en su unidad intercambiable, elija Cambiar nombre y asígnele un nombre para su base de datos (por ejemplo, pg_16).
  3. Haga clic derecho en la unidad de nuevo y elija Formatear. Establezca el sistema de archivos en NTFS con un tamaño de unidad de asignación de 4096, elija Formato rápido y luego haga clic en Iniciar.
  4. Asigne una letra de unidad que esté disponible en ambos equipos. Abra Inicio > haga clic derecho en Equipo > Administrar > Administración de discos. Haga clic derecho en su unidad intercambiable, elija Cambiar la letra y rutas de acceso de unidad > Cambiar..., seleccione Asignar la siguiente letra de unidad y elija P (por PostgreSQL). Acepte la advertencia para continuar.

Desinstalar PostgreSQL

  1. Abra Inicio > Panel de control > Programas y características. Espere a que se cargue la lista, haga clic derecho en PostgreSQL y elija Desinstalar. Tome nota del número de versión.
  2. Abra un Símbolo del sistema con privilegios elevados (haga clic derecho en Símbolo del sistema > Ejecutar como administrador) y ejecute net user /delete postgres. Debería ver "El comando se completó correctamente." Si obtiene "acceso denegado", no está ejecutándolo como administrador. Escriba exit cuando termine.
  3. Elimine la carpeta restante en C:\Program Files\PostgreSQL. Confirme primero que sus datos estén respaldados y protegidos.

Descargar e instalar PostgreSQL

Descargue la versión de Enterprise DB de PostgreSQL que desea instalar, por lo general la versión más reciente dentro de la misma versión principal que ya estaba usando.

Ejecute el instalador y, cuando se le solicite la ubicación de instalación, busque su unidad P: en P:\PostgreSQL\16 (reemplace 16 por su versión; haga clic en el icono de nueva carpeta para crear la carpeta).

Continúe con el instalador. En la pantalla de la contraseña, ingrese dbpass en ambos campos. Haga clic en Siguiente hasta que finalice la instalación.

`dbpass` password for PokerTracker 4

Restaurar bases de datos

Restaure sus bases de datos respaldadas usando el mismo método que utilizó para hacer la copia de seguridad.

Apagado e inicio de PostgreSQL

Ahora pase al otro equipo y sincronícelo con la unidad intercambiable.

aviso

DEBE detener el servicio de PostgreSQL cada vez que mueva la unidad entre equipos, o corre el riesgo de perder el servidor de base de datos.

En su equipo principal:

  1. Cierre PokerTracker 4.
  2. Abra Inicio > haga clic derecho en Equipo > Administrar > Servicios.
  3. Busque PostgreSQL en la lista, haga clic derecho sobre él y elija Detener. Ahora puede retirar la unidad con seguridad.

Antes de conectar la unidad al otro equipo, asegúrese de que el servicio de PostgreSQL NO esté en ejecución allí. Una vez conectada la unidad, inicie el servicio: haga clic derecho en PostgreSQL > Iniciar.

Segundo equipo

Si PostgreSQL está instalado en este equipo, desinstálelo primero.

  1. Conecte la unidad y asígnele la letra P: como lo hizo en el primer equipo (consulte Preparar la unidad intercambiable).
  2. Descargue la misma versión de PostgreSQL que usó antes y ejecute el instalador, nuevamente estableciendo la ubicación en P:\PostgreSQL\16.
  3. Permita que el instalador cree la contraseña del servicio, pero en la pantalla de contraseña desmarque Inicializar base de datos. Complete la instalación.
  4. Edite C:\Program Files\PokerTracker 4\Data\Config\PokerTracker.cfg, elimine toda la información de la base de datos y guarde los cambios.
  5. Ejecute PokerTracker 4. En la pantalla de configuración de PostgreSQL, ingrese la contraseña dbpass y haga clic en Conectar.
  6. Cuando se le pida crear una base de datos, marque Esta base de datos ya existe, haga clic en Examinar, seleccione su base de datos y haga clic en Conectar.

Ahora tiene la misma base de datos disponible en ambos equipos.

nota

Recuerde detener el servicio de PostgreSQL antes de mover la unidad, y volver a iniciarlo después de conectarla al otro equipo (Inicio > Programas > PostgreSQL > Iniciar servicio).