A medida que el tiempo y la tecnología continúan progresando, Internet ocupa una posición central en el mundo moderno. Es por eso que la mayoría de las empresas y negocios tienen sitios web y aplicaciones para representar el aspecto en línea de sus marcas. Independientemente de si usted es el propietario de un sitio web pequeño o grande, necesita la ayuda de ciertas herramientas para facilitar su trabajo. Entre ellos se encuentra el sistema de gestión de bases de datos.
Un sistema de gestión de bases de datos relacionales le permite categorizar y organizar adecuadamente los datos en su sitio web. De esta manera, puede obtener conclusiones significativas de una montaña de información digital.
- ¿Qué es PostgreSQL?
- Requisitos de preinstalación
- Paso 1: Instale PostgreSQL
- Paso 2: Roles y bases de datos de PostgreSQL
- Cambia a Tu Cuenta Postgres
- Acceder a un Mensaje de Postgres sin Cambiar de Cuenta
- Paso 3: Configurar un Rol
- Paso 4: Cree una base de datos
- Paso 5: Abra un nuevo mensaje
- Paso 6: Creación y eliminación de tablas
- Paso 7: Insertar y editar datos en la Tabla
- Paso 8: Modificación de columnas en una tabla
- Paso 9: Actualizar los datos de la tabla
- Conclusión
¿Qué es PostgreSQL?
PostgreSQL es un sistema de gestión de bases de datos de código abierto que es bastante popular. Es utilizado con frecuencia por los creadores de sitios web y aplicaciones para facilitar la administración. Esta robusta plataforma implementa el lenguaje de consultas SQL.
Una de las razones de su popularidad es su cumplimiento estándar. Un sistema de base de datos que cumple con los estándares garantiza que los administradores de sitios web no se metan en problemas con las autoridades legales. Además, PostgreSQL da a sus usuarios acceso a una serie de herramientas avanzadas que les permiten almacenar, organizar e implementar sus datos de manera conveniente. Algunas de estas características incluyen transacciones en línea seguras y control de concurrencia sin bloqueo.
En esta guía, discutiremos cómo puede instalar y usar PostgreSQL en un servidor en la nube Ubuntu 18.04 en CloudSigma. También abordaremos algunas acciones administrativas básicas que puede realizar en la base de datos. ¡Empecemos!
Requisitos de preinstalación
Antes de pasar a los pasos para instalar PostgreSQL, debe ocuparse de los requisitos previos. No hace falta decir que necesitará un servidor Ubuntu 18.04 para continuar. Tendrás que configurar al menos uno de tus servidores Ubuntu 18.04. Después de realizar la configuración inicial del servidor, debe confirmar que su servidor tiene un usuario no root con permisos sudo. También debería tener un cortafuegos. Puede instalar fácilmente su servidor siguiendo nuestro tutorial sobre configuración de su servidor Ubuntu. Cuando esto esté listo, puede comenzar a instalar PostgreSQL en su sistema.
Paso 1: Instale PostgreSQL
Los servidores Ubuntu ya ofrecen PostgreSQL por defecto. Todo lo que necesita hacer es actualizar el índice de paquetes local y usar el sistema de paquetes apt. La actualización es necesaria solo para el uso por primera vez en una sesión. Para instalar el paquete Postgres, utilice este comando:
sudo apt updatesudo apt install postgresql postgresql-contrib
La adición del paquete-contrib garantiza que obtenga algunas utilidades y funciones adicionales.
Paso 2: Roles y bases de datos de PostgreSQL
Ahora que ha instalado PostgreSQL en su sistema, veamos cómo puede hacer un buen uso del sistema de administración de bases de datos. Comenzaremos por familiarizarnos con el concepto de «roles» en la base de datos. Un’ rol ‘ en Postgres se utiliza para fines de autenticación y autorización. Este término abarca tanto a los usuarios como a los grupos. Tras la instalación, el programa crea una nueva cuenta de usuario para usted. Esta cuenta se llama postgres y está vinculada al rol predeterminado de Postgres. Debe iniciar sesión en esta cuenta para usar Postgres.
Al instalar PostgreSQL, esencialmente vincula sus roles de Postgres con la cuenta de sistema Unix o Linux correspondiente. Esto significa que Postgres utiliza el método de autenticación ident. Por lo tanto, puede usar su nombre de usuario Unix o Linux para iniciar sesión en el sistema si existe un rol coincidente en Postgres. Aquí hay algunas utilidades que puede extraer de su cuenta de Postgres:
-
Cambia a Tu Cuenta Postgres
Si desea cambiar a su cuenta de postgres, puede hacerlo ingresando este comando en su servidor:
sudo -i -u postgres
Escriba lo siguiente para abrir un nuevo mensaje Postgres:
psql
Ahora puede comenzar a interactuar con las diversas características del sistema PostgreSQL. Una vez que haya terminado, puede cerrar el símbolo del sistema y volver al símbolo del sistema de postgres Linux escribiendo esto:
\q
-
Acceder a un Mensaje de Postgres sin Cambiar de Cuenta
Es posible que abra un mensaje de Postgres sin cambiar de cuenta. Esto significa que ejecutará el comando directamente con sudo. En lugar de cambiar primero al usuario postgres, ejecutaremos directamente el comando psql con sudo:
sudo -u postgres psql
Como resultado de este comando, podrá iniciar sesión directamente en Postgres. No habrá ningún proyectil bash intermedio. Puede salir de la sesión una vez más con el siguiente comando:
\q
Paso 3: Configurar un Rol
Hasta ahora, hemos estado trabajando con una sola cuenta de postgres o ‘rol’. Este rol se configuró en la base de datos cuando instaló PostgreSQL. La mayoría de las veces, encontrará que necesita más de un rol en Postgres. Para satisfacer esta necesidad, puede crear nuevos roles en la base de datos. Esto se puede hacer con la ayuda del comando createrole. Aquí le mostramos cómo puede configurar un nuevo rol o usuario:
postgres@server:~$ createuser --interactive
Asegúrese de que ha iniciado sesión en su cuenta de postgres antes de ejecutar el comando. Agregar el indicador-interactivo significa que tendrá la oportunidad de nombrar el rol y determinar sus permisos. Puede decidir si desea o no que este usuario en particular tenga permisos de superusuario. Además, puede realizar esta acción sin cambiar de cuenta. Puede usar sudo para este propósito de la siguiente manera:
sudo -u postgres createuser --interactive
A continuación, se le pedirá que introduzca el nombre de rol deseado y determine el estado de superusuario:
Aparte de lo anterior, también puede hacer otras especificaciones para nuevos roles. Para ver los indicadores adicionales, puede acceder a la página de manual con este mensaje:
$ man createuser
Paso 4: Cree una base de datos
Ahora que sabe cómo agregar nuevos roles o usuarios, puede comenzar a agregar nuevas bases de datos. Al crear un rol nuevo, el sistema de autenticación Postgres intentará conectarlo automáticamente a una base de datos con un nombre coincidente. Por lo tanto, si ha nombrado al nuevo rol sammy, puede crear una base de datos con el nombre ‘sammy’ para que los dos se conecten de forma predeterminada. Puede crear nuevas bases de datos con el comando createdb. Ejecute este comando si ha cambiado a su cuenta de postgres:
postgres@server:~$ createdb sammy
Utilice este comando si está utilizando sudo en su lugar:
$ sudo -u postgres createdb sammy
Paso 5: Abra un nuevo mensaje
Para abrir un nuevo mensaje con su nuevo rol, primero tendrá que iniciar sesión. Como se mencionó anteriormente, PostgreSQL utiliza el método de autenticación basado en ident. Por lo tanto, necesitará una cuenta de usuario de Linux que tenga el mismo nombre que la que ha puesto en su rol y base de datos de Postgres. No se preocupe en caso de que no tenga un usuario de Linux como este. Puede crear uno fácilmente con la ayuda del comando adduser:
sudo adduser sammy
Asegúrese de cerrar sesión en su usuario de postgres antes de ejecutar este comando. Necesitas ejecutar esto desde tu cuenta que no es root usando sudo. Ahora que ha agregado un nuevo usuario con el nombre de su rol Postgres, puede cambiar a él. Escriba lo siguiente para conectarse a la base de datos:
sudo -i -u sammypsql
También puede realizar esta acción en línea utilizando:
sudo -u sammy psql
En última instancia, si todo está configurado correctamente, podrá iniciar sesión automáticamente con su usuario. En caso de que tenga varias rutas, puede especificar a qué base de datos desea conectarse con este comando:
psql -d postgres
A veces, cuando se conecta a usuarios o bases de datos no predeterminados, es posible que desee verificar la información de conexión actual. Para verificar la información de conexión, escriba lo siguiente:
sammy =# \conninfo
Verás algo como esto:
Paso 6: Creación y eliminación de tablas
Ahora que los conceptos básicos de usuarios y bases de datos están fuera del camino, podemos pasar a algunas tareas básicas de administración en Postgres. Una de las más importantes es crear una tabla. Debe poder crear una tabla para poder usarla para almacenar datos. Para crear una nueva tabla, escriba:
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 ver en la sintaxis anterior, no solo nombró su tabla, sino que también especificó el número de columnas, el tipo de columnas y la longitud máxima de los datos de campo. Si lo desea, también tiene la opción de agregar restricciones de tabla para cada una de las columnas. Utilizaremos el equipo del patio de recreo como un conjunto de datos de muestra para fines de explicación. Puede reemplazar estos valores por los suyos propios al crear sus tablas Postgres:
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);
Según el comando anterior, tendrá una mesa que consta de equipo de patio de recreo. Lo primero en la tabla es el ID del equipo que hemos especificado para ser del tipo serie. Dado que está configurado para ser un entero de incremento automático, el valor aumentará de manera consistente. Aplicamos la restricción de clave primaria a esta columna, lo que significa que cada valor debe ser único y no puede ser nulo. No especificamos ninguna longitud de campo para la columna equip_id o install_date. La razón por la que estas columnas no necesitan una longitud de campo predeterminada es que el tipo de datos ya implica la longitud.
A continuación, tenemos las columnas del tipo y el color del equipo del patio de recreo. Ninguno de estos valores puede ser nulo. El siguiente comando es para una columna de ubicación. Debido a la restricción aplicada, el valor solo puede ser una de las ocho opciones dadas. El último comando crea una columna de fecha para que pueda anotar cuándo se instaló el equipo en el patio de juegos.
Una vez que haya terminado de editar su tabla, puede escribir lo siguiente para verla:
sammy=# \d
Como se ha visto anteriormente, encontrará su tabla con una lista del equipo y otra entrada llamada playground_equip_id_seq. Es del tipo secuencia en lugar de tabla. Esto aparece debido al tipo de serie que aplicó a la columna equip_id de la tabla. El objetivo de esta entrada automática es hacer un seguimiento de los números en la secuencia. Si lo desea, también puede visualizar solo su mesa sin la secuencia. Escribe:
Paso 7: Insertar y editar datos en la Tabla
Después de formatear la tabla, puede comenzar a colocar datos en ella. Continuando con el ejemplo del paso anterior, podemos agregar equipos como toboganes y columpios a la mesa. En la sintaxis, especificará la tabla y la columna que desea editar y, a continuación, introducirá los datos. Aquí hay un ejemplo:
sammy=# 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');
Hay algunas cosas que debes tener mucho cuidado con este comando. Al introducir los datos, asegúrese de poner comillas alrededor de cada valor. Además, recuerde que no es necesario poner los nombres de las columnas entre comillas. Si desea ver la información que acaba de agregar, utilice el siguiente comando:
sammy=# SELECT * FROM playground;
Recuerde que no es necesario introducir valores para la columna equip_id, ya que se generan automáticamente con cada fila nueva. Como puede ver en la tabla anterior, cada fila obtiene un número de forma correcta y automática en la columna equip_id. En caso de que desee eliminar un elemento en lugar de agregar uno, puede usar el siguiente comando:
sammy=# DELETE FROM playground WHERE type = 'slide';
Vuelve a llamar a tu mesa para ver cómo se ha eliminado la entrada:
sammy=# SELECT * FROM playground;
Paso 8: Modificación de columnas en una tabla
Una vez que ha creado una tabla, no se establece en piedra. Puede modificarlo agregando y eliminando columnas según sea necesario. Por ejemplo, si también queremos agregar las fechas de la última visita de mantenimiento para cada pieza individual del equipo, podemos hacerlo escribiendo:
sammy=# ALTER TABLE playground ADD last_maint date;
Invoca tu mesa de nuevo y verás que le agregaste una nueva columna. Sin embargo, dado que aún no ha agregado ningún dato, estará vacío.
sammy=# SELECT * FROM playground;
Del mismo modo, también puede eliminar una columna de la tabla. Si se elimina la columna, también se eliminarán todos sus datos. Sin embargo, el resto de la tabla no se modificará. Para eliminar la columna fecha de la última visita de mantenimiento, utilice este comando:
sammy=# ALTER TABLE playground DROP last_maint;
Paso 9: Actualizar los datos de la tabla
Sabe cómo agregar nuevas entradas y eliminarlas de la tabla, pero ¿es posible cambiar las existentes? Puede actualizar los valores de las entradas existentes con facilidad. En primer lugar, debe consultar el registro que desea actualizar. A continuación, utilizará el comando SET para cambiar el valor. Digamos que queremos cambiar el color del columpio a rojo. Aquí está cómo hacerlo:
sammy=# UPDATE playground SET color = 'red' WHERE type = 'swing';
Consulta la tabla para confirmar que se ha realizado el cambio:
sammy=# SELECT * FROM playground;
Conclusión
Siguiendo estos pasos, configurará PostgreSQL con éxito en su servidor Ubuntu 18.04. Si desea mejorar su experiencia con paquetes y extensiones de servidor, puede encontrar varios de ellos en el Repositorio PostgreSQL Apt. Con un poco más de orientación, podrá lograr mucho con este sistema de administración de bases de datos.
Si desea hacer más con PostgreSQL, puede echar un vistazo a nuestro tutorial sobre cómo usar roles y administrar permisos en PostgreSQL.
¡Feliz informática!