PostgreSQL instalación en GNU/Linux y configuración
hola a todos hoy comento sobre la instalación de postgresql en una distribución GNU\Linux, bueno usaremos ubuntu server tambien puedes usar tu distribucion Ubuntu u otras distribuciones GNU/Linux.
seguimos estos pasos para la instalacion de postgresql.
antes de todo debes de estar con tu sesion de root para poder realizar los comandos directamente de lo contrario tendras que ejecutarlo con sudo apt-...... bueno comencemos.
una nota antes de empezar para cualquier paquete que uno quiera instalar ya sea en una distribucion linux Debian, Ubuntu, Xubuntu, Kubuntu o cualquiern otra distribucion Gnu/Linux siempre debes de aplicar la actualizacion de los repositorios con el siguientes comandos.
Debian, Ubuntu, Kubuntu, Lubuntu y demas distribuciones basadas en Debian
# apt-get update
Archlinux, BlackArch, Upricity, Manjaro y demas distribuciones basadas en Archlinux
$ sudo pacman -Sy postgresql
ahora vienen los comandos para otras metadistros
$ sudo dnf install postgresql
$ sudo yum install postgresql
y bueno esto lo comentare en otro post pero ya vieron que siempre debemos de tener actualizado los repositorios para poder descargar siempre el ultimo paquete.
bueno ahora comenzamos con la instalacion de postgresql.
# apt-get install postgresql postgresql-contrib
bueno al concluir esta instalacion postgresql esta listo para utilizar la indentificacion ident
esto significa que los roles que postgresql maneja lo asocia con una cuenta Unix/Linux si el rol existe en postgresql un nombre de usuario Unix/Linux con el mismo nombre podra identificarse como ese rol.
Cambiando a una cuenta Postgresql
en la instalcion de postgresql, se creo un usuario postgres
y que este esta asociando con el rol
de postgres por defecto asi que ahora te identificaras con el usuario postgresql.
haremos el cambio de cuenta a la cuenta postgres aca ya puedes estar en tu sesion de usuario normal de tu sistema GNU/Linux.
$ sudo -i -u postgres
al ejecutar este comando te pedira el passwd
de tu cuenta de usuario solo escribes tu passwd
y listo veras que estaras logueado con la cuenta de postgres.
ahora debes de acceder a la consola de postgresql ejecutando el siguiente comando.
$ psql
bueno una vez que exitosamente ejecutaste este comando psql
podras interactuar con el sistema de administracion de las base de datos de postgresql.
ahora para ver las base de datos por defecto que estan dentro de postgres
ejecuta lo siguiente.
postgres=# \l
este comando que ejecutaste con backslash \l
es la abrebiaciond de list asi que debiste ver en la columna Name
base de datos con el siguiente nombre postgres , template0, template1
y todo estas base de datos por defecto estan como propietario el usuario por defecto postgres
.
para salir de la consola de postgresql ejecuta los siguiente.
postgres=# \q
y bueno con esto te saliste de la consola de postgres, pero debes de saber que sigues en la sesion de postgres para salir de esta sesion y volver con tu sesion de usuario GNU/Linux
puedes ejecutar lo siguientes comandos:
el mas comun
$ exit
o este atajo de tecla
Ctrl + d
y este atajo es de mi preferencia.
Acceso a la Consola de Postgresql sin cambiar de Cuentas
bueno ahora con el comando sudo
podemos usar la sesion del usuario postgres por defecto y nos con un parametro mas nos dirigira a las consola de postgres.
$ sudo -u postgres psql
bueno si el comando que ejecutaste exitosamente salio bien, te habras dado cuenta de que te dirigio a la consola de postgres.
bueno ya que has probado esto ahora vuelves a ejecutar uno de los comandos anteriores para salir de la consola de postgresql.
postgres=# \q
Creacion de un Rol nuevo
bueno vemos que actualmente tenemos el rol de postgres configurado dentro de la base de datos, y bueno podemos crear varios roles desde la linea de comandos con el comando createrole
. y la bandera --interactive
le pedira los valores nesesarios.
bueno ahora empezemos con esto primero nos loguearemos con la cuenta de postgres
$ sudo -i -u postgres
luego de esto ejecutaremos los siguientes comandos para crear el usuario interactivo.
createuser --interactive
bueno ahora te aparecera los siguiente datos
Enter name of role to add:
bueno aca dale un nombre
Shall the new role be a superuser (y/n)
y aca te pregunta si sera un super usuario dale y
y listo.
ahora si en el caso no quieres hacer el logueo del usuario por defecto de postgres
entonces puedes ejecutar:
sudo -u postgres createuser --interactive
bueno ya que hiciste esto veras que es lo mismo que anteriormente hicimos cuando estubimos logueado con el comando de postgresql.
ahora si quieres obtener mas informacion sobre el comando para crear un usuario interactivo ejecutas lo siguiente.
$ man createuser
Bueno ahora veamos como crear una base de datos nueva
ahora para los que ingresaron con el usuario postgres
y pudieron ver anteriormente las base de datos por defecto.
ahora en la ultima seccion creamos un usuario interactivo como ejemplo con el nombre de wilson
bueno al momento de iniciar sesion con el nombre de usuario wilson
esto tratara de buscar una base de datos con el mismo nombre entonces para que no tengas problemas al momento de iniciar sesion con el nuevo usuario crearemos una base de datos con el mismo nombre "wilson"
bueno ahora que esta con la sesion de postgres puedes ejecutar cualquier de estos dos comandos:
$ createdb wilson
ahora si en el caso no estes con la sesion de usuario por defecto de postgres
entonces ejecutas el siguiente comando:
$ sudo -u postgres createdb wilson
y bueno con esto estara creada la base de datos ya sea que lo hayas realizado con el comando anterior por que estabas con la sesion por defecto de postgres
o con este ultimo que ejecuaste.
bueno ahora pensaras que todo estara y estaras dispuesto a ingresar al administrador de base de datos pero te falta algo que es crear un usuario en Unix/Linux
por que el indet
de postgres buscara el nombre wilson
como usuario en tu sistema GNU/Linux bueno como no lo tienes entonces lo crearemos para que podamos acceder tranquilamente con este usuario a la base de datos.
bueno ejecutaremos en la consola de nuestra distribucion GNU/Linux
los comandos para agregar un usuario.
$ sudo adduser wilson
al ingresar el nuevo usuario del sistema GNU/Linux te pedira un password
pues le pones un password
te pedira que repitas pues lo haces solo es para verficar tu password
y todo lo demas que te pedira lo dejas por defecto o en blanco ("cuando digo por defecto le haces enter y asi los dejas en blanco")
excepto si una de las opciones te obliga.
bueno ahora si no ejecutaste algo correctamente o algo te ha salido mal para poder acceder al usuario creado en este ejemplo wilson
entonces tendras que revisar los pasos anterires por que has debido de fallar en algun paso anterior.
algo que debes verificar tambien es que tienes que tener en cuenta que el usuario que creo la base de datos nueva llamada wilson
esta como duenio el usuario por defecto postgres
entonces para modificar esto haces lo siguiente.
ingresas a la consola con el usuario nuevo o el por defecto de postgres y ejecutas lo siguiente:
ALTER DATABASE nombreBaseDeDatos OWNER TO nombreUsuario;
y listo vuelves a listar las base de datos y verificaras que el propietario duenio de la base de datos es database = wilson, owner = wilson
.
bueno eso es todo con postgres.
Comentarios: