Como siempre, me toca hacer una instalación no estándar de un gestor de contenidos. En este caso WordPress con PostgreSQL.
Aunque por defecto en la instalación de WordPress no es posible seleccionar este tipo de base de datos. Es posible conseguirlo de forma muy sencilla gracias a un plugin llamado PG4WP (PostgreSQL for WordPress).
Antes de realizar la instalación de Wordpress, simplemente debemos descargarlo y descomprimirlo dentro de la carpeta wp-content con el siguiente resultado:
# ls -l
-rw-r--r-- 1 root root 30 2011-07-12 23:23 index.php
drwxr-xr-x 2 root root 4096 2011-07-12 23:23 languages
drwxr-xr-x 2 root root 4096 2011-09-11 02:07 pg4wp
drwxr-xr-x 3 root root 4096 2011-07-12 23:23 plugins
drwxr-xr-x 4 root root 4096 2011-07-12 23:23 themes
Posteriormente copiamos el fichero db.php de dicho plugin también a la carpeta wp-content:
# ls -l
-rw-r--r-- 1 root root 1247 2011-12-12 11:58 db.php
-rw-r--r-- 1 root root 30 2011-07-12 23:23 index.php
drwxr-xr-x 2 root root 4096 2011-07-12 23:23 languages
drwxr-xr-x 2 root root 4096 2011-09-11 02:07 pg4wp
drwxr-xr-x 3 root root 4096 2011-07-12 23:23 plugins
drwxr-xr-x 4 root root 4096 2011-07-12 23:23 themes
Ahora podremos seleccionar que driver, MySQL o PostgreSQL, queremos utilizar en nuestra instalación. Por defecto, como se ve a continuación, esta configurado para PostgreSQL.
# more db.php
...
if( !defined('PG4WP_ROOT'))
{
// You can choose the driver to load here
define('DB_DRIVER', 'pgsql'); // 'pgsql' or 'mysql' are supported for now
...
Como en cualquier instalación de Wordpress, indicamos en el fichero wp-config.php la base de datos, el usuario y el password. Pero en este caso serán los creado en PostgreSQL.
# more wp-config.php
...
// ** Ajustes de MySQL. Solicita estos datos a tu proveedor de alojamiento web. ** //
/** El nombre de tu base de datos de WordPress */
define('DB_NAME', 'db_postgreSQL');
/** Tu nombre de usuario de MySQL */
define('DB_USER', 'userdb_postgreSQL');
/** Tu contraseña de MySQL */
define('DB_PASSWORD', '*********************');
/** Host de MySQL (es muy probable que no necesites cambiarlo) */
define('DB_HOST', 'localhost');
...