0% encontró este documento útil (0 votos)
26 vistas

Postgresql Ubuntu

Este documento proporciona instrucciones para instalar y utilizar PostgreSQL en Ubuntu 18.04. Explica cómo instalar PostgreSQL y sus paquetes asociados, crear roles de usuario y bases de datos, y conectarse a bases de datos. También muestra cómo crear y eliminar tablas dentro de las bases de datos de PostgreSQL.

Cargado por

clopez5556
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas

Postgresql Ubuntu

Este documento proporciona instrucciones para instalar y utilizar PostgreSQL en Ubuntu 18.04. Explica cómo instalar PostgreSQL y sus paquetes asociados, crear roles de usuario y bases de datos, y conectarse a bases de datos. También muestra cómo crear y eliminar tablas dentro de las bases de datos de PostgreSQL.

Cargado por

clopez5556
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

Cómo instalar y utilizar PostgreSQL

en Ubuntu 18.04
PostedDecember 5, 2019 16.7k viewsUbuntuPostgreSQLUbuntu 18.04Databases
By Justin Ellingwood and Mark Drake
Introducción
Los sistemas de administración de bases de datos relacionales son un componente
clave de una gran cantidad de aplicaciones y sitios web. Proporcionan una alternativa
estructurada para almacenar la información, organizarla y acceder a ella.

PostgreSQL, o Postgres, es un sistema de administración de bases de datos


relacionales que proporciona una implementación del lenguaje de consulta SQL. Es
una opción popular para muchos proyectos pequeños y grandes, y tiene la ventaja de
cumplir con los estándares y ofrecer muchas características avanzadas, como
transacciones confiables y simultaneidad sin bloqueos de lectura.

En esta guía se muestra la forma de instalar Postgres en una instancia de VPS de


Ubuntu 18.04 y también se proporcionan instrucciones para la administración básica
de bases de datos.

Requisitos previos
Para completar este turorial, necesitará un servidor de Ubuntu 18.04 configurado
conforme a nuestra guía de configuración inicial para servidores de Ubuntu 18.04.
Una vez completado este tutorial de requisitos previos, su servidor debería contar con
un usuario con permisos sudo no root y un firewall básico.

Paso 1: Instalar PostgreSQL


Los repositorios predeterminados de Ubuntu contienen paquetes de Postgres, para
que pueda instalarlos utilizando el sistema de empaquetado apt.

Dado que es la primera vez que utiliza apt en esta sesión, actualice su índice local de
paquetes. Luego, instale el paquete de Postgres junto con un paquete -contrib, que
agrega algunas utilidades y funcionalidades adicionales:

sudo apt update


sudo apt install postgresql postgresql-contrib
Ahora que el software está instalado, podemos revisar su funcionamiento y la forma
en que puede diferenciarse de otros sistemas de administración de bases de datos
similares que pueda haber utilizado.

Paso 2: Utilizar roles y bases de datos de


PostgreSQL
Por defecto, Postgress utiliza un concepto llamado “roles” para gestionar la
autenticación y la autorización. Estos son, en algunos aspectos, parecidos a las
cuentas normales de estilo Unix, pero Postgres no distingue entre los usuarios y los
grupos, y en su lugar prefiere el término más flexible de “rol”.

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. Para usar Postgres, puede iniciar sesión
en esa cuenta.

Existen algunas maneras de usar esta cuenta para acceder a Postgres.

Cambiar a la cuenta de postgres


Cambie a la cuenta de postgres en su servidor escribiendo lo siguiente:

sudo -i -u postgres
Ahora podrá acceder de inmediato a una linea de comandos de Postgres escribiendo
lo siguiente:

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.

Salga de la línea de comandos de PostgreSQL escribiendo lo siguiente:

\q
Con esto, regresará a la línea de comandos de Linux de postgres.

Acceder a una línea de comandos de Postgres sin cambiar de cuenta


También puede ejecutar el comando que desee con la cuenta de postgres de forma
directa a través de sudo.

Por ejemplo, en el último caso se le indicó acceder a la línea de comandos de


Postgres pasando primero al usuario de postgres y luego ejecutando psql para abrir la
línea de comandos de Postgres. Puede realizarlo en un solo paso ejecutando el
comando único psql como usuario de postgres con sudo, como se muestra:

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
Para muchos casos de uso se requiere más de un rol de postgres. Continúe leyendo
para saber como configurar estos roles.

Paso 3: Crear un nuevo rol


En este momento, solo tiene el rol de postgres configurado dentro de la base de
datos. Puede crear nuevos roles desde la línea de comandos con el
comando createrole. El indicador --interactive le solicitará el nombre del nuevo
rol y también le preguntará si debería tener permisos de superusuario.

Si inició sesión a través de la cuenta de postgres, puede crear un nuevo usuario


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


El script 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
Puede obtener un mayor control pasando algunos indicadores adicionales. Consulte
las opciones visitando la página de man:

man createuser
Ahora su instalación de Postgres tiene un usuario nuevo, pero aún no agregó bases de
datos. En la sección siguiente se describe este proceso.

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


Esta flexibilidad ofrece varias vías para crear bases de datos cuando sea necesario.

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 no 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".
Esto resultará útil si se conecta a bases de datos no predeterminadas o con usuarios no
predeterminados.

Paso 6: Crear y eliminar tablas


Ahora que sabe cómo conectarse al sistema de bases de datos de PostgreSQL, puede
aprender algunas tareas básicas de administración de Postgres.

Primero, cree una tabla para almacenar datos. A modo de ejemplo, puede ser una
tabla en la que se describan algunos equipos para áreas recreativas.

La sintaxis básica de este comando es la siguiente:

CREATE TABLE table_name (


column_name1 col_type (field_length) column_constraints,
column_name2 col_type (field_length),
column_name3 col_type (field_length)
);
Como puede observar, estos comandos otorgan un nombre a la tabla y luego definen
las columnas, el tipo de columna y la extensión máxima de los datos de campo. De
manera opcional, también puede añadir restricciones de tabla para cada columna.

Podrá obtener más información sobre cómo crear y administrar tablas en


Postgres aquí.

Para fines demostrativos, cree una tabla sencilla como la siguiente:

CREATE TABLE playground (


equip_id serial PRIMARY KEY,
type varchar (50) NOT NULL,
color varchar (25) NOT NULL,
location varchar(25) check (location in ('north', 'south', 'west', 'east',
'northeast', 'southeast', 'southwest', 'northwest')),
install_date date
);
Con estos comandos se creará una tabla que hará un inventario de los equipos para
áreas recreativas. Esto comienza con un ID de equipo, que es del tipo serial. Este
tipo de dato es un número entero que se incrementa de forma automática. También
asignó a esta columna la restricción de primary key , lo cual significa que los valores
deben ser únicos y no nulos.

Para dos de las columnas (equip_id e install_date), los comandos no especifican


una extensión de campo. Esto se debe a que algunos tipos de columna no requieren
una extensión específica porque la extensión está implícita en el tipo.

Con los dos comandos próximos se crean columnas para type y color del equipo
respectivamente. Estas no pueden estar vacías. Después de esto, el comando crea una
columna location y una restricción según la cual el valor debe ser uno de los ocho
posibles. Con el último comando, se crea una columna de fecha en la cual se registra
la fecha en la que usted instaló el equipo.

Puede ver su tabla nueva escribiendo lo siguiente:

\d
Output
List of relations
Schema | Name | Type | Owner
--------+-------------------------+----------+-------
public | playground | table | sammy
public | playground_equip_id_seq | sequence | sammy
(2 rows)
Su tabla de áreas de recreación se encuentra aquí, pero también existe algo
llamado playground_equip_id_seq que responde al tipo sequence. Esto es una
representación del tipo serial que usted atribuyó a su columna de equip_id. Esto
realiza un seguimiento del número que sigue en la secuencia y se genera de forma
automática para columnas de este tipo.

Si desea ver solo la tabla sin la secuencia, puede escribir lo siguiente:

\dt
Output
List of relations
Schema | Name | Type | Owner
--------+------------+-------+-------
public | playground | table | sammy
(1 row)

Paso 7: Agregar, consultar y eliminar datos en una


tabla
Ahora que dispone de una tabla, puede insertar datos en ella.

A modo de ejemplo, agregue un tobogán y un columpio llamando a la tabla en la que


desea realizar la adición, nombre las columnas y luego proporcione datos para cada
una de ellas, como se muestra:

INSERT INTO playground (type, color, location, install_date) VALUES ('slide',


'blue', 'south', '2017-04-28');
INSERT INTO playground (type, color, location, install_date) VALUES ('swing',
'yellow', 'northwest', '2018-08-16');
Debe tener cuidado al ingresar los datos para evitar algunos errores comunes. Para
empezar, no escriba los nombres de las columnas entre comillas. Estás sí se
necesitarán para los valores de la columna que ingresó.

Otro aspecto que debe tener en cuenta es no ingresar un valor para la


columna equip_id. Esto se debe a que se genera de forma automática cuando se crea
una nueva fila en la tabla.

Recupere la información que agregó escribiendo lo siguiente:

SELECT * FROM playground;


Output
equip_id | type | color | location | install_date
----------+-------+--------+-----------+--------------
1 | slide | blue | south | 2017-04-28
2 | swing | yellow | northwest | 2018-08-16
(2 rows)
Aquí, puede ver que su equip_id se completó con éxito y que todos sus otros datos se
organizaron de forma correcta.

Si el tobogán del área de recreación se daña y tiene que eliminarlo, también puede
eliminar la fila de su tabla escribiendo lo siguiente:

DELETE FROM playground WHERE type = 'slide';


Consulte la tabla de nuevo:

SELECT * FROM playground;


Output
equip_id | type | color | location | install_date
----------+-------+--------+-----------+--------------
2 | swing | yellow | northwest | 2018-08-16
(1 row)
Observará que su tobogán ya no se encuentra en la tabla.

Paso 8: Agregar y eliminar columnas en una tabla


Después de crear una tabla, puede modificarla para agregar o eliminar las columnas
con relativa facilidad. Agregue una columna para mostrar la última visita de
mantenimiento por cada equipo escribiendo lo siguiente:

ALTER TABLE playground ADD last_maint date;


Si vuelve a visualizar la información de su tabla, observará que se agregó la nueva
columna (pero no se ingresaron datos):

SELECT * FROM playground;


Output
equip_id | type | color | location | install_date | last_maint
----------+-------+--------+-----------+--------------+------------
2 | swing | yellow | northwest | 2018-08-16 |
(1 row)
Eliminar una columna es igual de sencillo. Si determina que su equipo de trabajo
utiliza una herramienta separada para dar seguimiento al historial de mantenimiento,
puede eliminar la columna escribiendo lo siguiente:
ALTER TABLE playground DROP last_maint;
Con esto, se eliminan la columna last_maint y los valores que se encuentren en ella,
pero deja intactos todos los demás datos.

Paso 9: Actualizar datos de una tabla


Hasta ahora, a través de este tutorial aprendió a agregar registros a una tabla y a
eliminarlos de ella, pero aún no se abordó la forma de modificar los registros
existentes.

Puede actualizar los valores de una entrada existente buscando el registro que desee y
fijando el valor que prefiera utilizar para la columna. Puede consultar el registro
“columpio” (coincidirá con *cada *columpio de su tabla) y cambiar el color a “rojo”.
Esto podría resultar útil si pintara el columpio:

UPDATE playground SET color = 'red' WHERE type = 'swing';


Puede verificar la eficacia de la operación consultando los datos de nuevo:

SELECT * FROM playground;


Output
equip_id | type | color | location | install_date
----------+-------+-------+-----------+--------------
2 | swing | red | northwest | 2010-08-16
(1 row)
Como puede ver, ahora el color registrado de su tobogán será el rojo.

Conclusión
De esta manera, habrá configurado PostgreSQL en su servidor de Ubuntu 18.04. Sin
embargo, aún queda *mucho *más por aprender con Postgres. A continuación, se
ofrecen algunas guías más en las que se abarca el uso de Postgres:

 Comparación de los sistemas de administración de bases de datos relacionales


 Aprenda a crear y administrar tablas con Postgres
 Mejore su desempeño en la administración de roles y permisos
 Realice consultas con Postgres a través de Select
 Aprenda a proteger PostgreSQL
 Aprenda a hacer una copia de respaldo de una base de datos de Postgres

También podría gustarte