PostgreSQL en Android

Lo primero que debemos hacer es instalar Termux

Dentro de termux Ejecuta:

pkg install postgresql

Si pregunta, acepta. Después espera a que se termine de instalar.

Configurar directorio de datos

Psql necesita guardar los datos en algún directorio. Yo recomiendo crearlos en /home, así que procedemos a ejecutar:

mkdir ~/datos_psql

Opcional: 

mkdir -p $PREFIX/var/lib/postgresql

Asociar directorio de datos en psql

Ahora ejecuta initdb con el directorio en donde se guardarán los datos de PostgreSQL así:

initdb ~/datos_psql

Opcional:

initdb $PREFIX/var/lib/postgresql

Encender servidor

PostgreSQL ya está instalado y el directorio de datos está configurado. Ahora lo iniciamos con:

pg_ctl -D ~/datos_psql start

Como ves estamos invocando a pg_ctl indicando el directorio de datos. La última opción indica que queremos encender el servidor.

Opcional:

pg_ctl -D $PREFIX/var/lib/postgresql start

Apagar servidor

Por ahora no lo necesitamos, pero si quieres apagarlo más tarde simplemente ejecuta:

pg_ctl -D ~/datos_psql stop

Es casi lo mismo de arriba pero ahora se detiene en lugar de que comience.

Opcional:

pg_ctl -D $PREFIX/var/lib/postgresql stop

Crear base de datos e iniciar sesión

Antes de ingresar a la CLI de PostgreSQL hay que crear una base de datos con createdb nombre_bd en mi caso:

createdb prueba

En el caso que queramos especificar el dueño:

createdb -O TUUSUARIO prueba

Después iniciamos con psql nombre_bd en mi caso:

psql prueba

Creación de superusuario

Aunque anteriormente no iniciamos sesión con un usuario, podemos crear uno. Yo lo configuré para software en donde se necesita acceder a la base de datos con un usuario y una contraseña. Para ello ejecutamos:

createuser --superuser --pwprompt TUUSUARIO

Obviamente cambiando TUUSUARIO por tu nombre de usuario. La opción --pwprompt es para que pregunte por la contraseña.

Recomendación (Alias)

Abrir servidor

Cada vez que vuelvan a abrir termux el servidor se cerrara, por lo que les recomiendo crear un alias para no tener que iniciar el servidor con el comando completo cada vez.

cd

nano .bash_profile

Al final del archivo añador una de las 2 líneas (segun que opcion eligieron)

alias postgres='pg_ctl -D ~/datos_psql  start'

Opcional:

alias postgres='pg_ctl -D $PREFIX/var/lib/postgresql start'

Entonces cada vez que debamos iniciar el servidor escribimos simplemente.

postgres

Abrir base de datos con usuario creado

Tambien recomiendo hacer un alias para abrir la base de datos con el usuario creado

alias psql2='psql -U TUUSUARIO -W -h localhost'

Ahora solo debemos escribir algo como lo siguiente para abrir la base de datos

psql2 prueba

Recordar que psql2, prueba y TUUSUARIO debes cambiarlo por tus datos

Para acceder a la base de datos, recomiendo seguir este manual

Software Recomendado Android

Base de Datos

Habilitar PHP y PGSQL

pkg install php php-pgsql apr-util

nano /data/data/com.termux/files/usr/lib/php.ini

Añadimos la extensión:

extension=pgsql.so

extension=pdo_pgsql.so

Luego probamos con el comando:

php --ri pgsql

Nos debería responder algo como lo siguiente:

pgsql


PostgreSQL Support => enabled

PostgreSQL (libpq) Version => 16.3

Multibyte character support => enabled

Active Persistent Links => 0

Active Links => 0


Directive => Local Value => Master Value

pgsql.allow_persistent => On => On

pgsql.max_persistent => Unlimited => Unlimited

pgsql.max_links => Unlimited => Unlimited

pgsql.auto_reset_persistent => Off => Off

pgsql.ignore_notice => Off => Off

pgsql.log_notice => Off => Off