Búsqueda de sitios web

Cómo instalar y usar PostgreSQL en Ubuntu 18.04


PostgreSQL (Postgres para abreviar) es un sistema de base de datos de documentos relacionales estable, potente, avanzado, de código abierto y de alto rendimiento. Utiliza y mejora el lenguaje SQL junto con una gran cantidad de funciones para el almacenamiento y la gestión seguros de datos.

Es eficiente, confiable y escalable para manejar volúmenes de datos grandes y complicados y configurar entornos de nivel empresarial y tolerantes a fallas, al tiempo que garantiza una alta integridad de los datos. Postgres también es altamente extensible con características como índices que vienen con API para que pueda desarrollar sus propias soluciones para resolver sus desafíos de almacenamiento de datos.

En este artículo, explicaremos cómo instalar PostgreSQL en un servidor Ubuntu 18.04 (también funciona en versiones anteriores de Ubuntu) y aprenderemos algunas formas básicas de usarlo.

Cómo instalar PostgreSQL en Ubuntu

Primero, cree un archivo /etc/apt/sources.list.d/pgdg.list que almacene la configuración del repositorio, luego importe la clave del repositorio a su sistema, actualice la lista de paquetes del sistema e instale el paquete Postgres. usando los siguientes comandos.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 pgadmin4 

Una vez que se haya instalado postgres, el servicio de base de datos se inició automáticamente y puede confirmar escribiendo el siguiente comando.

sudo systemctl status postgresql.service

Cómo utilizar funciones y bases de datos de PostgreSQL

En postgres, la autenticación del cliente está controlada por el archivo de configuración /etc/postgresql/10/main/pg_hba.conf. El método de autenticación predeterminado es “peer” para el administrador de la base de datos, lo que significa que obtiene el nombre de usuario del sistema operativo del cliente del sistema operativo y verifica si coincide con el nombre de usuario de la base de datos solicitado para permitir el acceso, para conexiones locales. (como se muestra en la siguiente captura de pantalla).

Durante el proceso de instalación, se creó una cuenta de usuario del sistema llamada postgres sin contraseña; este también es el nombre de usuario predeterminado del administrador de la base de datos.

sudo vim /etc/postgresql/10/main/pg_hba.conf

Además, en postgres la gestión de permisos de acceso a la base de datos se realiza a través de roles. Un rol puede considerarse como un usuario de base de datos o un grupo de usuarios de base de datos, dependiendo de cómo esté configurado el rol.

La función predeterminada también es postgres. Es importante destacar que, conceptualmente, los roles de la base de datos no están conectados en absoluto con los usuarios del sistema operativo, pero en la práctica es posible que no estén separados (por ejemplo, cuando se trata de autenticación de clientes).

Es importante destacar que los roles pueden poseer objetos de base de datos y pueden asignar privilegios sobre esos objetos a otros roles para controlar quién tiene acceso a qué objetos. Además, es posible otorgar membresía en un rol a otro rol.

Para configurar otros roles para usar contraseñas cifradas para administrar las bases de datos que se les asignan, además del rol predeterminado de postgres, debe cambiar la línea a.

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

Cómo utilizar PostgreSQL en Ubuntu

Una vez configurado todo, puede acceder a la cuenta del sistema Postgres con el siguiente comando, donde el indicador -i le indica a sudo que ejecute el shell especificado por la entrada de la base de datos de contraseñas del usuario objetivo como un shell de inicio de sesión.

sudo -i -u postgres 
psql		#to launch the postgres shell program  
postgres=#

Para acceder al shell de Postgres directamente, sin acceder primero a la cuenta de usuario de Postgres, ejecute el siguiente comando.

sudo -i -u postgres psql

Puede cerrar/salir de postgres escribiendo el siguiente comando.

postgres=# \q

Crear roles de base de datos PostgreSQL

Cree una nueva función de usuario usando el siguiente comando.

postgres=# CREATE ROLE tecmint;

Para crear un rol con un atributo LOGIN, use el siguiente comando (los roles con el atributo LOGIN pueden considerarse los mismos que los usuarios de una base de datos).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

También se puede crear una función con una contraseña; esto es útil si configuró el método de autenticación del cliente para solicitar a los usuarios que proporcionen una contraseña cifrada al conectarse a la base de datos.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Enumerar los roles de base de datos PostgreSQL existentes

Para enumerar las funciones de usuario existentes, utilice cualquiera de estos comandos.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Eliminar una función de base de datos PostgreSQL

Para eliminar cualquier rol de usuario existente, utilice el comando DROP ROLE como se muestra.

postgres=# DROP ROLE tecmint;

Crear una base de datos PostgreSQL

Una vez que haya creado un rol con un nombre particular (por ejemplo, usuario tecmint), puede crear una base de datos (con el mismo nombre que el rol) que será administrada por ese rol como se muestra.

postgres=# CREATE DATABASE tecmint;

Ahora, para administrar la base de datos tecmint, acceda al shell postgres como el rol tecmint y proporcione su contraseña de la siguiente manera.

sudo -i -u tecmint psql

Crear una tabla PostgreSQL

Crear tablas es tan fácil que crearemos una tabla de prueba llamada autores, que almacena información sobre los autores de TecMint.com, como se muestra.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

Después de crear una tabla, intente completarla con algunos datos, como se muestra a continuación.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

Para ver los datos almacenados en una tabla, puede ejecutar un comando SELECT.

tecmint=> SELECT * FROM authors;

Listar tablas de bases de datos PostgreSQL

Puede enumerar todas las tablas de la base de datos actual con el siguiente comando.

tecmint=>\dt

Eliminar/eliminar una tabla PostgreSQL

Para eliminar una tabla en la base de datos actual, utilice el comando DROP.

tecmint=> DROP TABLE authors;

Listar todas las bases de datos PostgreSQL

Para enumerar todas las bases de datos, utilice cualquiera de los siguientes comandos.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Eliminar/eliminar una base de datos PostgreSQL

Si desea eliminar una base de datos, utilice el comando DROP, por ejemplo.

tecmint=>DROP DATABASE tecmint;

Cambiar a otra base de datos PostgreSQL

También puede cambiar de una base de datos a otra fácilmente usando el siguiente comando.

tecmint=>\connect database_name

Para obtener más información, consulte la documentación de PostgreSQL 10.4.

¡Eso es todo por ahora! En este artículo, explicamos cómo instalar y utilizar el sistema de gestión de bases de datos PostgreSQL en Ubuntu 18.04. Puedes enviarnos tus consultas o pensamientos en los comentarios.