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

pacman -Sy

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.