Las configuraciones que se explicarán son:
1) Como levantar postgresql de forma automática en linux.
2) Como ejecutar comandos postgresql desde cualquier carpeta en linux.
Otras funcionalidades:
- Como crear usuarios y asignar permisos en postresql.
1) Levantar postgresql de forma automática en linux
Para levantar el servicio de postgresql en segundo plano (background), es necesario ejecutar manualmente el siguiente comando:
# /opt/pgsql/bin/postmaster –D /opt/pgsql/datos >logfile 2>&1 &
Lo anterior se debe ejecutar cada vez que se inicie sesión.
Debido al problema que radica el estar pendiente de levantar manualmente el servicio, es que existe un "script de partida" el cual nos brinda la posibilidad de levantar de forma automática el servicio cada vez que se inicie el sistema operativo.
Postgresql nos provee de diversos scripts de los cuales utilizaremos el script llamado "linux". Este script lo dejaremos en la carpeta donde se encuentran todos los "demonios" en linux (un demonio es un programa que se ejecuta en segundo plano y de forma continua para brindar algún servicio) con el nombre de "postgres".
#cp /opt/pgsql/contrib/start-scripts/linux /etc/init.d/postgres
Copiando el archivo "linux" en la carpeta "init.d" con el nombre "postgres".
Mayor información acerca de comandos básicos en linux en Wikilearning.
Editar el archivo corrigiendo las rutas donde fue instalado postgresql. En nuestro caso es necesario debido a que instalamos postresql en un directorio distinto al que viene por defecto.
Las modificaciones realizadas son las siguientes:
# Installation prefix
prefix=/opt/pgsql
# Data directory
PGDATA="/opt/pgsql/datos"
En cualquier script los comentarios comienzan con el caracter #.
Luego de haber realizado los cambios, es necesario modificar los permisos para dejar el script como ejecutable (el archivo se debería ver de color verde).
#chmod 755 /etc/init.d/postgres
Modificando los permisos del archivo "postgres".
Para probar que funciona lo que hemos realizado hasta el momento.
#service postgres start
Iniciando el servicio postgres.
2) Ejecutar comandos postgresql desde cualquier carpeta en linux
Hasta el momento la única forma de ejecutar algún comando de postgresql era indicando explícitamente la carpeta bin del programa, pero esto puede ser modificado añadiendo la ruta al path.
Para dejar visibles los comandos de forma global, crear un script donde salga el path de postgresql y dejarlo en la carpeta /etc/profile.d/
#vi /etc/profile.d/postgres.sh
Creando el script donde estará especificada la ruta de postgresql
En nuestro caso el archivo contiene lo siguiente:
#Path para postgres
PATH=$PATH:"/opt/pgsql/bin"
export PATH
En cualquier script los comentarios comienzan con el caracter #.
Usuarios y permisos en postgresql
Para crear usuarios se utiliza el comando CREATE USER (para ver la ayuda: \h CREATE USER).
Por ejemplo:
CREATE USER usuario1 NOCREATEDB NOCREATEUSER PASSWORD 'xxxx';
Estamos creando el usuario "usuario1", el cual no puede crear instancias de bases de datos ni nuevos usuarios, además posee contraseña la cual es "xxx".
Para dar permisos se utiliza el comando GRANT (para ver la ayuda: \h GRANT).
Por ejemplo:
GRANT ALL PRIVILEGES ON DATABASE test TO usuario1;
Dando todos los permisos al usuario "usuario1" sobre la instancia "test".
Comentarios