Tutorial

Cómo instalar Quickstart en Ubuntu 20.04 [Guía de inicio rápido]

UbuntuPostgreSQLQuickstartDatabasesUbuntu 20.04

Introducción

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.

Requisitos previos

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.

Paso 1: Instalar PostgreSQL

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

Paso 2: Utilizar roles y bases de datos de PostgreSQL

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

Paso 3: Crear un nuevo rol

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.

Output
Enter name of role to add: sammy Shall the new role be a superuser? (y/n) y

Paso 4: Crear una nueva base de datos

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

Paso 5: Abrir una línea de comandos de Postgres con el nuevo rol

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
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Conclusión

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:

Creative Commons License