Ir al contenido principal

Más acerca de Postgresql




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

Anónimo dijo…
Hola... Pero y si yo quiero que inicie el servicio al iniciar linux, que debería hacer?

Entradas más populares de este blog

Código Python para pasar de notación postfija a infija

Este código es un borrador en  Python que convierte una expresión en notación postfija a notación infija ordenada por paréntesis:

TIPS: Tres algoritmos para convertir una imagen de color a gris en python

Hace un tiempo necesitaba convertir unas imágenes que estaban en color a escalas de grises utilizando python. Buscando en internet encontré un sitio donde explicaban las fórmulas que se utilizan en el GIMP para realizar la conversión.

La tira cómica de Raulito el Friki

Buscando algunas cosas que necesitaba para comunicar un dispositivo por voip, me encontré en un grupo de interés que hacía referencias al sitio y luego de leer un rato no paré de reírme.