Introducción
Siguiendo con los tutoriales de Codeigniter, ahora el ejemplo es con una conexión usando PostgreSQL. No voy a explicar las conexiones, o consultas, ya que todo eso se delega al framework, de tal forma que en eso no hay cambios, son consultas que se van armando, y codeigniter se encarga de realizarlas a la base de datos que se configure, lo que sí explicaré un poco más, es sobre la configuración que se tiene que realizar para poder utilizar Postgresql con Codeigniter 4.
Requerimientos
- XAMPP 7.4.11
- PostgreSQL >11
- Codeigniter 4
- En este caso y las configuraciones se realizaron con Fedora 32 x86_64 (no probado con windows)
Instalación de PostgreSQL
La instalación de PostgreSQL no la explicaré aquí, sino en otro tutorial que tengo
https://blog.linuxitos.com/instalar-postgresql-12-fedora-31
Instalación de XAMPP
Instalación de XAMPP en Fedora https://blog.linuxitos.com/instalar-xampp-7-4-5-fedora-32
Configuración adicional de XAMPP
Previo a descargar el proyecto con PostgreSQL, es necesario realizar la siguiente configuración en XAMPP
sudo gedit /opt/lampp/etc/php.ini
Se busca la línea ;extension=»pgsql.so» y se descomenta:
extension=php_pdo_pgsql.dll extension=php_pgsql.dll extension="pgsql.so"
Descargar proyecto de gitlab
El proyecto lo subí a gitlab, así que ahí lo pueden descargar:
https://gitlab.com/ferm/codeigniter4-tutorials-postgresql
Una vez descargado el proyecto de GitLab, se monta sobre htdocs dentro del directorio de XAMPP, el cual está en /opt/lampp/htdocs/
Asignar permisos al directorio del proyecto
Abrir la terminal y entrar a la ruta de /opt/lampp/htdocs/
sudo chown -R daemon:tu-usuario codeigniter4-tutorials-postgresql
sudo chmod -R 775 codeigniter4-tutorials-postgresql
sudo chmod 777 -R codeigniter4-tutorials-postgresql/writable
Si el cambiaron el nombre al proyecto, entones cambiarlo aquí también, o bien su nombre de usuario.
Crear la base de datos
En éste caso, se usa pgamin 3 para conectarse al servidor de postgresql, sin embargo, si quieren usar otro, no hay problema. O bien pueden crearla de manera manual, el script está en el proyecto.
Abrir pgadmin, crear una conexión una base de datos, y restaurarla desde el archivo que está en el proyecto.
Configurar la conexión a postgresql desde codeigniter
Hay dos archivos solamente que son necesarios modificar:
Archivo .env
Éste archivo contiene la url del proyecto, encriptación, contraseñas de las bases de datos, etc.
Sólo modificamos la url del proyecto, y la base de datos, lo demás lo dejo a su consideración, además, debo mencionar que éste proyecto está configurado en modo development.
En el archivo .env se modifican los siguientes accesos que correspondan a la configuración del servidor de postgresql que estén usando
#-------------------------------------------------------------------- # DATABASE #-------------------------------------------------------------------- database.default.hostname =localhost database.default.database =ci_ajax_pagination database.default.username =postgres database.default.password = database.default.DBDriver =Postgre database.default.port =5432
Archivo app/Config/App.php
Aquí se modifca la url del proyecto, nombre, etc.
public $baseURL = 'http://localhost/devs/ci4_postgresql_tutorials/';
Archivo app/Config/Database.php
Se modifican los parámetros de acuerdo a la configuración del servidor de postgresql que estén utilizando
public $default = [ 'DSN' => 'pgsql:host=localhost;port=5432;dbname=ci_ajax_pagination;user=user;password=password', //'DSN' => '', 'hostname' => 'localhost', 'username' => '', 'password' => '', 'database' => 'ci_ajax_pagination', 'DBDriver' => 'Postgre', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'cacheOn' => false, 'cacheDir' => '', /*'charset' => 'latin1', 'DBCollat' => 'latin1_swedish_ci',*/ 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 5432, ];
Correr el proyecto
Una vez realizado todos esos cambios, ahora abrir la url del proyecto en el navegador http://localhost/codeigniter4-tutorials-postgresql/
En el gif de ejemplo, es otra url, pero eso simplemente es porque tengo muchos proyecto de ejemplos, y por comodidad los he agrupado en una directorio llamado devs.
Y eso sería todo, si tienen alguna duda, o comentario, por favor dejarlo aquí abajo.
Gracias… Tenia un problema para conectar con postgres pero tu info solucionó mi problemas