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
Quick Edit (versión gratuita totalmente funcional) Pro (Pago)
Editor de códigos con coloreado de palabras reservadas.
Database Modeler Pro (versión gratuita completamente funcional, pago para eliminar publicidad)
Aplicación para modelado de base de datos y exportación/importación en distintos lenguajes
Termux (versión gratuita totalmente funcional)
Terminal linux en android, muy potente y funcional.
SQL Client (Gratis)
Cliente acceso remoto a motores de base de datos.
Habilitar PHP y PGSQL
pkg install php php-pgsql apr-util php-apache-pgsql
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