Cómo crear una base de datos PostgreSQL en Plesk y conectarla a PrestaShop
Introducción: ¿Por qué usar PostgreSQL con PrestaShop?
Si estás buscando dar el salto a una base de datos más robusta o simplemente necesitas usar PostgreSQL por requisitos de tu proyecto, has llegado al lugar correcto. Aunque PrestaShop viene configurado por defecto para trabajar con MySQL/MariaDB, es posible hacerlo funcionar con PostgreSQL si tienes los conocimientos adecuados o si usas un módulo específico.
En este artículo te voy a guiar paso a paso para que puedas crear una base de datos PostgreSQL en Plesk y luego conectarla a tu tienda PrestaShop. No importa si eres principiante, aquí te lo explico todo de forma clara y sencilla.
Antes de empezar, ten en cuenta que PrestaShop no soporta oficialmente PostgreSQL. Sin embargo, existen adaptadores y módulos de terceros que permiten esta conexión. Si tu objetivo es usar PostgreSQL porque tu hosting lo requiere, te recomiendo que primero consultes con tu proveedor si tienen experiencia con esta configuración.
Requisitos previos para crear una base de datos PostgreSQL en Plesk
Antes de lanzarnos a la piscina, necesitas tener ciertas cosas listas:
- Acceso a Plesk: Debes tener credenciales de administrador o, al menos, acceso al panel de control de tu hosting.
- Plesk con soporte PostgreSQL: No todos los planes de hosting incluyen PostgreSQL. Verifica que tu panel tenga el ícono de "Bases de datos PostgreSQL" o consulta con tu proveedor.
- PrestaShop instalado: Idealmente, ya deberías tener PrestaShop funcionando con MySQL para luego migrar o configurar la conexión a PostgreSQL.
- Módulo o adaptador: Como mencioné antes, necesitarás un módulo que permita a PrestaShop hablar con PostgreSQL. Puedes buscar en el marketplace oficial o en foros especializados.
[!INFO]
Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es diferente. En ese caso, el acceso al panel se realiza por el puerto 2106. Pero no te preocupes, este artículo se centra en Plesk, que es el panel más común en hosting compartido y VPS.
Paso 1: Acceder a Plesk y localizar el administrador de bases de datos
Lo primero es entrar a tu panel de control Plesk. Normalmente se accede escribiendo en tu navegador algo como https://tu-dominio.com:8443 o https://tu-ip:8443. Si no estás seguro, consulta el correo de bienvenida de tu hosting.
Una vez dentro, busca la sección "Bases de datos" en el menú lateral o en la pestaña de "Sitios web y dominios". Dependiendo de la versión de Plesk, puede aparecer como un ícono de base de datos o un enlace directo.
[!TIP]
Si no ves la opción de PostgreSQL, es posible que tu plan no lo incluya. Contacta con tu proveedor y pregunta si pueden habilitarlo. En algunos casos, solo es cuestión de activar un servicio en el panel.
Paso 2: Crear la base de datos PostgreSQL en Plesk
Ahora sí, vamos a crear nuestra base de datos. Sigue estos pasos:
2.1. Hacer clic en "Agregar base de datos"
En la sección de bases de datos, verás un botón que dice "Agregar base de datos" o "Crear nueva base de datos". Haz clic en él.
2.2. Configurar los parámetros principales
Se te abrirá un formulario con varios campos. Esto es lo que debes completar:
- Nombre de la base de datos: Elige un nombre descriptivo, por ejemplo,
prestashop_pg. Evita espacios y caracteres especiales. - Tipo de base de datos: Aquí es clave. Selecciona PostgreSQL en el menú desplegable. Si no aparece, revisa el paso anterior.
- Servidor de base de datos: Puedes dejar el que viene por defecto o elegir uno específico si tienes varios.
2.3. Crear un usuario para la base de datos
En el mismo formulario, verás la opción de crear un usuario. Te recomiendo que marques la casilla "Crear un usuario de base de datos" y completes:
- Nombre de usuario: Por ejemplo,
presta_user. - Contraseña: Usa una contraseña segura. Puedes generar una automáticamente con el botón que suele aparecer al lado del campo, o escribirla tú.
[!WARNING]
Anota el nombre de la base de datos, el usuario y la contraseña en un lugar seguro. Los necesitarás más adelante para conectar PrestaShop. Si los pierdes, tendrás que restablecer la contraseña desde Plesk.
2.4. Finalizar la creación
Haz clic en "Aceptar" o "Crear". Plesk tardará unos segundos en crear la base de datos. Verás que aparece en la lista de bases de datos con su tipo (PostgreSQL) y el usuario asociado.
Paso 3: Configurar PrestaShop para usar PostgreSQL
Aquí viene la parte delicada. Como ya te adelanté, PrestaShop no viene preparado para PostgreSQL de fábrica. Necesitas un adaptador. Te explico las opciones:
3.1. Buscar e instalar un módulo de conexión PostgreSQL
En el back office de PrestaShop (tu panel de administración), ve a "Módulos" > "Marketplace" y busca "PostgreSQL". Si no encuentras nada, tendrás que buscar en Google o en foros como PrestaShop Community.
Un módulo popular se llama "PrestaShop PostgreSQL Connector". Este tipo de módulos suelen ser de pago o gratuitos, pero funcionan como un puente entre la aplicación y la base de datos.
3.2. Configurar el adaptador (si es necesario)
Una vez instalado el módulo, deberás configurarlo con los datos de tu base de datos:
- Servidor:
localhosto la dirección IP del servidor de PostgreSQL (normalmente eslocalhostsi está en el mismo hosting). - Puerto: El puerto por defecto de PostgreSQL es el
5432. Asegúrate de que esté abierto en tu firewall. - Nombre de la base de datos: El que creaste en Plesk.
- Usuario: El usuario que creaste.
- Contraseña: La contraseña correspondiente.
[!INFO]
Algunos proveedores de hosting no permiten conexiones externas a PostgreSQL por seguridad. Si estás en un hosting compartido, lo más probable es que solo puedas conectarte desdelocalhost.
3.3. Modificar el archivo de configuración de PrestaShop (método manual)
Si no encuentras un módulo, puedes intentar modificar el archivo app/config/parameters.php de PrestaShop. Este archivo contiene la configuración de la base de datos. Busca estas líneas:
'database_host' => 'localhost',
'database_name' => 'prestashop',
'database_user' => 'root',
'database_password' => 'tu_password',
Y cambia los valores por los de tu base PostgreSQL. Además, tendrás que añadir la línea 'database_type' => 'postgresql' o algo similar, pero esto solo funcionará si PrestaShop tiene soporte nativo, lo cual no es el caso en la mayoría de versiones.
[!WARNING]
Modificarparameters.phpsin conocimiento puede romper tu tienda. Si no estás seguro, haz una copia de seguridad antes de tocar nada. Te recomiendo encarecidamente usar un módulo en lugar de este método manual.
Paso 4: Migrar los datos de MySQL a PostgreSQL (si ya tenías PrestaShop)
Si ya tenías una tienda funcionando con MySQL y quieres migrar a PostgreSQL, el proceso es más complejo. No puedes simplemente cambiar la configuración, porque los datos no se transfieren automáticamente.
4.1. Exportar los datos de MySQL
Desde Plesk, entra en tu base de datos MySQL y usa la herramienta "Exportar" para descargar un archivo .sql. Este archivo contendrá todas las tablas y datos de tu tienda.
4.2. Convertir y adaptar el formato
PostgreSQL y MySQL tienen diferencias en tipos de datos, funciones y sintaxis. No puedes importar directamente el archivo .sql de MySQL en PostgreSQL. Necesitas una herramienta de conversión como pgloader o hacerlo manualmente con scripts.
4.3. Importar en PostgreSQL
Una vez convertido el archivo, ve a Plesk, selecciona tu base PostgreSQL y usa la opción "Importar" para cargar el archivo .sql convertido.
[!TIP]
Este proceso de migración es avanzado. Si no te sientes cómodo, contrata a un desarrollador o busca un servicio de migración especializado. Es fácil perder datos si no se hace correctamente.
Paso 5: Verificar la conexión y solucionar problemas comunes
Después de configurar todo, es hora de probar si la conexión funciona. Aquí tienes una lista de verificación y problemas típicos:
5.1. Prueba básica de conexión
Entra a tu tienda PrestaShop y navega por algunas páginas. Si ves los productos, categorías y el panel de administración funciona, la conexión es correcta.
5.2. Error "Connection to server failed"
Si ves este error, revisa:
- Que el servidor de PostgreSQL esté corriendo. En Plesk, puedes verificar el estado del servicio en "Herramientas y configuración" > "Servicios".
- Que el puerto
5432esté abierto en el firewall. - Que el usuario y la contraseña sean correctos.
5.3. Error "Table doesn't exist"
Esto significa que la base de datos está vacía o que no se importaron correctamente las tablas. Revisa que hayas importado los datos correctamente.
5.4. Problemas de permisos
Asegúrate de que el usuario de la base de datos tenga permisos de lectura, escritura y modificación sobre todas las tablas. En Plesk, puedes gestionar los permisos en la sección de la base de datos.
[!WARNING]
Si tu hosting usa Syspanel (puerto 2106), no podrás gestionar PostgreSQL de la misma manera que en Plesk. En ese caso, tendrás que usar herramientas de línea de comandos comopsqlo un cliente gráfico como pgAdmin.
Preguntas frecuentes (FAQ)
¿PrestaShop soporta oficialmente PostgreSQL?
No, PrestaShop está diseñado para MySQL/MariaDB. El soporte para PostgreSQL es experimental o mediante módulos de terceros. No es recomendable para tiendas en producción a menos que tengas experiencia técnica.
¿Puedo cambiar de MySQL a PostgreSQL sin perder datos?
Sí, pero es un proceso complejo que requiere conversión de datos. No es un cambio de un clic. Necesitas herramientas de migración y conocimientos de ambas bases de datos.
¿Qué es mejor para mi tienda: MySQL o PostgreSQL?
Para PrestaShop, MySQL es la opción recomendada y más estable. PostgreSQL es más potente en ciertos escenarios de alto rendimiento, pero no es la elección natural para esta plataforma. Si no tienes una razón específica para usar PostgreSQL, quédate con MySQL.
¿Dónde puedo encontrar ayuda si me atoro?
Los foros de PrestaShop y las comunidades de PostgreSQL son buenos lugares para preguntar. También puedes consultar con tu proveedor de hosting, ya que suelen tener experiencia con estas configuraciones.
¿Qué pasa si no veo la opción de PostgreSQL en Plesk?
Contacta con tu proveedor de hosting. Es posible que no tengan PostgreSQL instalado en el servidor o que tu plan no lo incluya. Pregunta si pueden activarlo.
Conclusión y recomendaciones finales
Crear una base de datos PostgreSQL en Plesk es un proceso sencillo que puedes hacer en menos de cinco minutos. Sin embargo, conectarla a PrestaShop es una tarea más compleja que requiere de módulos adicionales o modificaciones manuales.
Mi recomendación personal es que, salvo que tengas una razón de peso (como un requisito de tu servidor o un proyecto específico), uses MySQL para PrestaShop. Es la combinación más estable, documentada y compatible. Si aun así decides seguir con PostgreSQL, asegúrate de tener un buen plan de respaldo y de probar todo en un entorno de desarrollo antes de tocar tu tienda en producción.
Recuerda que en Syspanel (puerto 2106) el proceso es diferente y necesitarás conocimientos avanzados de administración de sistemas. Si no es tu caso, busca ayuda profesional.
Espero que esta guía te haya sido útil. Si tienes alguna duda, déjala en los comentarios o consulta con tu proveedor de hosting. ¡Buena suerte con tu tienda!
