One place for hosting & domains

      PostgreSQL

      Cómo instalar y utilizar PostgreSQL en Ubuntu 20.04


      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. 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. También proporciona algunas instrucciones para la administración general de la base de datos.

      Requisitos previos

      Para completar este tutorial, necesitará un servidor de Ubuntu 20.04 configurado conforme a nuestra Guía de configuración inicial de servidores para 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

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

      Si no lo hizo recientemente, actualice el índice del paquete local de su servidor:

      Luego, instale el paquete de Postgres junto con un paquete -contrib, que agrega algunas utilidades y funcionalidades adicionales:

      • sudo apt install postgresql postgresql-contrib

      Ahora que el software está instalado, podemos analizar su funcionamiento y la forma en que puede diferenciarse de otros sistemas de administración de bases de datos relacionales que pueda haber utilizado.

      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. 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:

      Ahora, puede acceder de inmediato a una línea de comandos de PostgresSQL al escribir lo siguiente:

      Allí, puede interactuar con el sistema de administración de bases de datos como sea necesario.

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

      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:

      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:

      Para muchos casos de uso se requiere más de un rol de postgres. Continúe leyendo para saber cómo 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:

      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

      Puede obtener un mayor control pasando algunos indicadores adicionales. Consulte las opciones visitando la página de man:

      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:

      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 non-root con privilegios sudo (es decir, sin iniciar sesión como usuario de postgres):

      Una vez que esté disponible esta cuenta nueva, podrá cambiar y conectarse a la base de datos escribiendo lo siguiente:

      También podrá hacerlo de forma directa:

      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:

      Ya que inició sesión, puede verificar la información de su conexión actual escribiendo lo siguiente:

      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.

      La sintaxis básica para la creación de tablas 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 de demostración, cree la siguiente tabla:

      • 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
      • );

      Este comando creará una tabla que realiza un inventario de equipos para áreas recreativas. La primera columna de la tabla contendrá números de ID de equipos de tipo serial, que es un entero que se incrementa de forma automática. Esta columna también tiene la limitación de PRIMARY KEY, lo que significa que los valores en su interior deben ser únicos y no pueden ser nulos.

      Las siguientes dos líneas crean columnas para type y color de los equipos respectivamente, que no pueden estar vacías. La siguiente línea crea una columna location y una restricción que requiere que el valor sea uno de los ocho valores posibles. La última línea crea una columna de fecha en la cual se registra la fecha en la que usted instaló el equipo.

      Para dos de las columnas (equip_id e install_date), el comando no especifica una longitud de campo. Esto se debe a que algunos tipos de datos no requieren una longitud establecida, dado que la extensión o el formato están implícitos.

      Puede ver su tabla nueva escribiendo lo siguiente:

      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:

      Output

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

      Ahora que tenemos una tabla lista, la usaremos para practicar la administración de datos.

      Paso 7: Agregar, consultar y eliminar datos en una tabla

      Ahora que tiene una tabla, puede insertar algunos datos en ella. Como ejemplo, añada un tobogán y un columpio al invocar la tabla en la que los desea agregar, nombrar las columnas y, luego, proporcionar datos para cada una de ellas de la siguiente forma:

      • 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 siempre que se añade una fila nueva a 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 la fila de slide ya no se encuentra en la tabla.

      Paso 8: Agregar y eliminar columnas en una tabla

      Después de crear una tabla, puede modificarla añadiendo o eliminando columnas. 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 ver la información de su tabla, observará que se agregó la columna nueva, 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)

      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 de swing (se incluirán todos los columpios de su tabla) y cambiar su color a red. Esto puede ser útil si asignó una tarea de pintura al 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 | 2018-08-16 (1 row)

      Como puede ver, ahora, el columpio está registrado como rojo.

      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:



      Source link

      Comment installer PostgreSQL sur Ubuntu 20.04 [Démarrage rapide]


      Introduction

      PostgreSQL, ou Postgres, est un système de gestion de base de données relationnelle qui fournit une implémentation du langage de requête SQL. Il est conforme aux normes et dispose de nombreuses fonctionnalités avancées, comme des transactions fiables et une simultanéité sans verrou de lecture.

      Ce guide explique comment installer Postgres sur un serveur Ubuntu 20.04.

      Conditions préalables

      Pour suivre ce tutoriel, vous aurez besoin d’un serveur Ubuntu 20.04 qui a été configuré en suivant notre guide de configuration initiale de serveur Ubuntu 20.04. Au terme de ce tutoriel préalable, votre serveur devrait avoir un utilisateur non root avec permissions sudo et un pare-feu basique.

      Étape 1 – Installation de PostgreSQL

      Pour installer PostgreSQL, rafraîchissez d’abord l’index local des paquets de votre serveur :

      Puis, installez le package Postgres ainsi qu’un package -contrib qui ajoute quelques utilitaires et fonctionnalités supplémentaires :

      • sudo apt install postgresql postgresql-contrib

      Étape 2 – Utilisation des rôles et des bases de données PostgreSQL

      Par défaut, Postgres utilise un concept appelé “ rôles ” pour gérer l’authentification et l’autorisation. Ces rôles sont, d’une certaine manière, similaires aux utilisateurs et groupes habituels de type Unix.

      Une fois installé, Postgres est configuré pour utiliser l’authentification ident, ce qui signifie qu’il associe les rôles Postgres à un compte système Unix/Linux correspondant. Si un rôle existe au sein de Postgres, un nom d’utilisateur Unix/Linux portant le même nom peut se connecter à ce rôle.

      La procédure d’installation a créé un compte utilisateur nommé postgres qui est associé au rôle Postgres par défaut. Il y a plusieurs façons d’utiliser ce compte pour accéder à Postgres. Un moyen est de passer au compte postgres sur votre serveur en tapant :

      Ensuite, vous pouvez accéder à l’invite Postgres en tapant :

      Cela vous permettra de vous connecter à l’invite PostgreSQL, et de là, vous serez libre d’interagir immédiatement avec le système de gestion de la base de données.

      Pour quitter l’invite PostgreSQL, exécutez ce qui suit :

      Cela vous ramènera à l’invite de commande postgres de Linux.

      Vous pouvez également exécuter la commande que vous souhaitez avec le compte postgres directement en utilisant sudo.

      Cela vous connectera directement dans Postgres sans passer par le shell bash intermédiaire.

      Là encore, vous pouvez quitter la session Postgres interactive en tapant :

      Étape 3 – Création d’un nouveau rôle

      Si vous êtes connecté en tant que compte postgres, vous pouvez créer un nouveau rôle en tapant :

      Si, au contraire, vous préférez utiliser sudo pour chaque commande sans quitter votre compte normal, tapez :

      • sudo -u postgres createuser --interactive

      Dans tous les cas, le script vous proposera quelques choix et, en fonction de vos réponses, exécutera les bonnes commandes Postgres pour créer un utilisateur selon vos spécifications.

      Output

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

      Étape 4 – Création d’une nouvelle base de données

      Une autre hypothèse posée par défaut par le système d’authentification Postgres est que tout rôle utilisé pour se connecter disposera d’une base de données du même nom à laquelle il pourra accéder.

      Cela signifie que si l’utilisateur que vous avez créé dans la dernière section est appelé sammy, ce rôle tentera de se connecter à une base de données qui est également appelée “sammy” par défaut. Vous pouvez créer la base de données appropriée avec la commande createdb.

      Si vous êtes connecté en tant que compte postgres, vous devez taper quelque chose comme :

      Si, au contraire, vous préférez utiliser sudo pour chaque commande sans quitter votre compte normal, vous devez taper :

      • sudo -u postgres createdb sammy

      Étape 5 – Ouverture d’une invite Postgres avec le nouveau rôle

      Pour vous connecter avec une authentification basée sur ident, vous aurez besoin d’un utilisateur Linux portant le même nom que votre rôle et votre base de données Postgres.

      Si vous n’avez pas d’utilisateur Linux correspondant disponible, vous pouvez en créer un avec la commande adduser. Vous devrez le faire à partir de votre compte non root avec privilèges sudo (c’est-à-dire sans être connecté en tant qu’utilisateur postgres) :

      Une fois ce nouveau compte disponible, vous pouvez basculer sur ce dernier et vous connecter à la base de données en tapant :

      Ou alors, vous pouvez le faire en ligne :

      Cette commande vous connectera automatiquement, en supposant que tous les composants ont été correctement configurés.

      Si vous souhaitez que votre utilisateur se connecte à une autre base de données, vous pouvez le faire en spécifiant la base de données comme ceci :

      Une fois connecté, vous pouvez vérifier vos informations de connexion actuelles en tapant :

      Output

      You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

      Conclusion

      Vous avez maintenant configuré PostgreSQL sur votre serveur Ubuntu 20.04. Si vous souhaitez en savoir plus sur Postgres et sur la manière de l’utiliser, nous vous invitons à consulter les guides suivants :



      Source link

      Установка PostgreSQL в Ubuntu 20.04 [Краткое руководство]


      Введение

      PostgreSQL, или Postgres, — это система управления реляционными базами данных, которая представляет собой реализацию языка запросов SQL. Она соответствует стандартам и обладает множеством передовых функций, таких как надежность и параллельность операций без блокировки при чтении.

      В этом обучающем руководстве мы рассмотрим, как установить Postgres на сервер Ubuntu 20.04.

      Предварительные требования

      Для выполнения данного руководства вам потребуется один сервер Ubuntu 20.04 с конфигурацией, выполненной согласно руководству по первоначальной настройке сервера Ubuntu 20.04. После выполнения всех предварительных действий ваш сервер должен иметь пользователя без прав root с разрешениями sudo и базовый брандмауэр.

      Шаг 1 — Установка PostgreSQL

      Для установки PostgreSQL в первую очередь обновите локальный индекс пакетов вашего сервера:

      После этого установите пакет Postgres вместе с пакетом -contrib, который содержит дополнительные утилиты и функциональные возможности:

      • sudo apt install postgresql postgresql-contrib

      Шаг 2 — Использование ролей и баз данных в PostgreSQL

      По умолчанию Postgres использует концепцию «ролей» для выполнения аутентификации и авторизации. В некоторых аспектах они аналогичны обычным пользователям и группам в Unix.

      После установки Postgres настроена на использование аутентификации ident, что значит, что выполняется привязка ролей Postgres с соответствующей системной учетной записью Unix/Linux. Если роль существует внутри Postgres, пользователь Unix/Linux с тем же именем может выполнить вход в качестве этой роли.

      В ходе установки была создана учетную запись пользователя postgres, которая связана с используемой по умолчанию ролью postgres. Существует несколько способов использования этой учетной записи для доступа к Postgres. Один из способов — переход к учетной записи postgres на вашем сервере с помощью следующей команды:

      Затем вы можете получить доступ к командной строке Postgres с помощью команды:

      В результате вы можете получить доступ к командной строке PostgreSQL, а уже отсюда свободно взаимодействовать с системой управления базами данных.

      Для выхода из командной строки PostgreSQL выполните следующую команду:

      В результате вы вернетесь в командную строку postgres в Linux.

      Также вы можете запустить необходимую вам команду с учетной записью postgres напрямую с помощью sudo:

      Это позволит выполнить вход в Postgres без необходимости использования промежуточной командной строки bash.

      Вы снова сможете выйти из интерактивного сеанса Postgres с помощью следующей команды:

      Шаг 3 — Создание новой роли

      Если вы выполнили вход в учетную запись postgres, то можете создать новую роль с помощью следующей команды:

      Если же вы предпочитаете использовать sudo для каждой команды без переключения с обычной учетной записи, введите следующую команду:

      • sudo -u postgres createuser --interactive

      В любом случае скрипт будет предлагать варианты на выбор и, исходя из ваших ответов, выполнять нужные команды Postgres для создания пользователя в соответствии с вашими спецификациями.

      Output

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

      Шаг 4 — Создание новой базы данных

      Еще одно предположение, которое система аутентификации Postgres использует по умолчанию, состоит в том, что для любой роли, используемой для входа, существует база данных с тем же именем, к которой роль может получить доступ.

      Это означает, что если созданный вами в последнем разделе пользователь будет иметь имя sammy, эта роль попытается подключиться к базе данных, которая также называется «sammy» по умолчанию. Вы можете создать соответствующую базу данных с помощью команды createdb.

      Если вы используете учетную запись postgres, необходимо ввести следующее:

      Если же вы предпочитаете использовать sudo для каждой команды без переключения с обычной учетной записи, введите следующую команду:

      • sudo -u postgres createdb sammy

      Шаг 5 — Открытие командной строки Postgres с новой ролью

      Чтобы выполнить аутентификацию с помощью ident, вам потребуется пользователь Linux с тем же именем, что и имя роли и базы данных в Postgres.

      Если у вас нет соответствующего пользователя Linux, то вы можете создать его с помощью команды adduser. Вы должны воспользоваться учетной записи без прав root с привилегиями sudo (т.е. не выполняя вход в качестве пользователя postgres):

      Когда новая учетная запись будет доступна, вы можете переключиться и подключиться к базе данных следующим образом:

      Либо же вы можете сделать следующее:

      Эта команда позволит выполнить вход автоматически, полагая, что все компоненты были настроены должным образом.

      Если вы хотите, чтобы ваш пользователь подключился к другой базе данных, то вы можете сделать это с помощью следующей команды:

      После входа вы можете проверить данные о текущем подключении:

      Output

      You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

      Заключение

      Вы настроили PostgreSQL на сервере Ubuntu 20.04. Если вы хотите узнать больше о системе Postgres и способах ее использования, мы рекомендуем вам изучить следующие руководства:



      Source link