
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
Muchas gracias por compartir tu conocimiento! Me sirvio mucho como referencia para unas dudas que tenia.