Manager, Developer Education
PostgreSQL, o Postgres, es un sistema de administración de bases de datos relacionales que proporciona una implementación del lenguaje de consulta SQL. Cumple con los estándares y tiene muchas funciones avanzadas como transacciones fiables y concurrencia sin bloqueos de lectura.
Esta guía demuestra cómo instalar Postgres en un servidor Ubuntu 20.04.
Para completar este turorial, necesitará un servidor de Ubuntu 20.04 configurado conforme a nuestra guía de configuración inicial para servidores de Ubuntu 20.04. Una vez completado este tutorial de requisitos previos, su servidor debería contar con un non-root user con permisos sudo y un firewall básico.
Para instalar PostgreSQL, primero actualice el índice de paquetes locales de su servidor:
- sudo apt update
Luego, instale el paquete de Postgres junto con un paquete -contrib
, que agrega algunas utilidades y funcionalidades adicionales:
- sudo apt install postgresql postgresql-contrib
Por defecto, Postgres utiliza un concepto llamado “roles” para gestionar la autenticación y la autorización. En cierto modo, son similares a los usuarios y grupos de estilo Unix.
Tras la instalación, Postgres se configura para usar la autenticación ident. Esto significa que asocia los roles de Postgres con una cuenta de sistema Unix o Linux correspondiente. Si existe un rol dentro de Postgres, un nombre de usuario de Unix o Linux con el mismo nombre puede iniciar sesión ocupando ese rol.
El procedimiento de instalación creó una cuenta de usuario llamada postgres, que se asocia con el rol predeterminado de Postgres. Existen algunas maneras de usar esta cuenta para acceder a Postgres. Una forma es cambiar a la cuenta postgres en su servidor escribiendo:
- sudo -i -u postgres
A continuación, puede acceder a la línea de comandos de Postgres escribiendo:
- psql
Esto le permitirá acceder a la línea de comandos de PostgreSQL y desde esta podrá interactuar de inmediato con el sistema de administración de bases de datos.
Para salir de la línea de comandos de PostgreSQL, ejecute lo siguiente:
- \q
Con esto, regresará a la línea de comandos de Linux de postgres
.
También puede ejecutar el comando que desee con la cuenta de postgres de forma directa a través de sudo
.
- sudo -u postgres psql
Esto le permitirá iniciar sesión de forma directa en Postgres sin el shell bash
intermediario entre ellos.
De nuevo, puede salir de la sesión interactiva de Postgres escribiendo lo siguiente:
- \q
Si inició sesión a través de la cuenta de postgres, puede crear un nuevo rol escribiendo lo siguiente:
- createuser --interactive
Si, como alternativa, prefiere usar sudo
para cada comando sin dejar de usar su cuenta normal, escriba lo siguiente:
- sudo -u postgres createuser --interactive
La secuencia de comandos le mostrará algunas opciones y, según sus respuestas, ejecutará los comandos correctos de Postgres para crear un usuario conforme a sus especificaciones.
OutputEnter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
Otra suposición que el sistema de autenticación de Postgres realiza por defecto es que para cualquier rol utilizado en el inicio de sesión habrá una base de datos con el mismo nombre al que este podrá acceder.
Esto significa que, si el usuario que creó en la última sección se llama sammy, ese rol intentará conectarse con una base de datos que por defecto también se llama “sammy”. Puede crear la base de datos apropiada con el comando createdb
.
Si inició sesión a través de la cuenta de postgres, escribiría algo similar a lo siguiente:
- createdb sammy
Si, como alternativa, prefiere utilizar sudo
para cada comando sin dejar de emplear su cuenta normal, escribiría lo siguiente:
- sudo -u postgres createdb sammy
Para iniciar sesión con la autenticación basada en ident
, necesitará un usuario de Linux con el mismo nombre de su rol y su base de datos de Postgres.
Si no tiene un usuario disponible de Linux que coincida, puede crear uno con el comando adduser
. Deberá hacerlo desde su cuenta non-root con privilegios sudo
(es decir, sin iniciar sesión como usuario de postgres):
- sudo adduser sammy
Una vez que esté disponible esta cuenta nueva, podrá cambiar y conectarse a la base de datos escribiendo lo siguiente:
- sudo -i -u sammy
- psql
También podrá hacerlo de forma directa:
- sudo -u sammy psql
Este comando le permitirá iniciar sesión de forma automática, suponiendo que todos los componentes se hayan configurado de forma correcta.
Si desea que su usuario se conecte a una base de datos diferente, puede lograrlo especificando la base de datos de esta manera:
- psql -d postgres
Ya que inició sesión, puede verificar la información de su conexión actual escribiendo lo siguiente:
- \conninfo
OutputYou are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
De esta manera, habrá configurado PostgreSQL en su servidor de Ubuntu 20.04. Si desea obtener más información sobre Postgres y cómo usarlo, le recomendamos que consulte las siguientes guías:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!