{"id":37264,"date":"2024-01-19T18:34:56","date_gmt":"2024-01-19T17:34:56","guid":{"rendered":"\/tutoriales\/?p=37264"},"modified":"2025-12-18T22:08:51","modified_gmt":"2025-12-18T21:08:51","slug":"como-instalar-postgresql-en-centos","status":"publish","type":"post","link":"\/es\/tutoriales\/como-instalar-postgresql-en-centos","title":{"rendered":"C\u00f3mo instalar PostgreSQL en CentOS 9: crea roles y bases de datos"},"content":{"rendered":"<p>PostgreSQL es un sistema de gesti&oacute;n de bases de datos relacionales (RDBMS) de c&oacute;digo abierto, conocido por su capacidad para manejar grandes cantidades de datos, convirtiendolo en una opci&oacute;n popular para aplicaciones a gran escala.<\/p><p>Tambi&eacute;n es compatible con varios tipos de datos, lenguajes de programaci&oacute;n, pilas web y sistemas operativos, incluidas distribuciones Linux populares como CentOS.<\/p><p>En este tutorial, explicaremos c&oacute;mo instalar PostgreSQL en CentOS 9. Tambi&eacute;n aprender&aacute;s las instrucciones y comandos b&aacute;sicos de<strong> Postgres <\/strong>para gestionar roles y bases de datos relacionales.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-ES.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/public\" alt=\"\" class=\"wp-image-26004\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-requisitos-previos-para-instalar-postgresql\">Requisitos previos para instalar PostgreSQL<\/h2><p>Antes de instalar PostgreSQL, aseg&uacute;rate de que tu servidor cumple los requisitos de hardware recomendados:<\/p><ul class=\"wp-block-list\">\n<li>Procesador de 1 GHz.<\/li>\n\n\n\n<li>Al menos 2 GB de RAM.<\/li>\n\n\n\n<li>M&iacute;nimo 512 MB de espacio de almacenamiento.&nbsp;<\/li>\n<\/ul><p>Tu sistema tambi&eacute;n debe ejecutar CentOS 9, ya que de lo contrario los pasos de instalaci&oacute;n podr&iacute;an diferir.<\/p><p>Si no tienes un servidor, te recomendamos que adquieras un <strong>plan de <\/strong><a href=\"\/es\/servidor-vps\">hosting VPS<\/a> CentOS de Hostinger. El plan KVM 1, a partir de <strong>5.49 &euro;\/mes<\/strong>, proporciona <strong>1 n&uacute;cleo vCPU<\/strong>, <strong>4 GB de RAM<\/strong> y <strong>50 GB de almacenamiento<\/strong>, lo que es m&aacute;s que suficiente para alojar PostgreSQL.<\/p><p>Adem&aacute;s, puedes instalar f&aacute;cilmente varios sistemas operativos Linux en el VPS de Hostinger sin necesidad de comandos: s&oacute;lo tienes que seleccionar una plantilla de sistema operativo. Actualizamos constantemente estas plantillas para a&ntilde;adir compatibilidad con las &uacute;ltimas distribuciones, incluido <strong>CentOS 9<\/strong>.<\/p><p>Los planes VPS de Hostinger tambi&eacute;n agilizan tus tareas de gesti&oacute;n de bases de datos PostgreSQL. Nuestra copia de seguridad autom&aacute;tica semanal gratuita y el esc&aacute;ner de malware incorporado te ayudar&aacute;n a mantener la integridad de los datos sin que tengas que dedicarle tiempo.<\/p><p>Si necesitas ayuda para gestionar tu servidor, p&iacute;desela a<strong> Kodee<\/strong>, nuestro <strong>asistente de IA<\/strong>. Con unas simples indicaciones, te guiar&aacute; en todo lo que quieras hacer, incluyendo comandos.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/es\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-como-instalar-y-crear-una-base-de-datos-postgresql\">C&oacute;mo instalar y crear una base de datos PostgreSQL<\/h2><p>Aqu&iacute; tienes los pasos para instalar PostgreSQL en CentOS. Antes de proceder, con&eacute;ctate a tu servidor utilizando un <a href=\"\/es\/tutoriales\/conectar-usando-terminal-putty-ssh\/\">cliente SSH como PuTTY<\/a>, terminal o la <strong>terminal del navegador <\/strong>de Hostinger.<\/p><h3 class=\"wp-block-heading\">1. Descarga e instala PostgreSQL<\/h3><p>Puedes instalar el paquete PostgreSQL de dos formas: a trav&eacute;s del repositorio oficial o del local. En este tutorial, utilizaremos el repositorio oficial ya que se actualiza m&aacute;s r&aacute;pidamente que el local. Estos son los pasos:<\/p><ol class=\"wp-block-list\">\n<li>A&ntilde;ade el repositorio PostgreSQL a tu sistema utilizando el siguiente comando:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo dnf install -y https:\/\/download.postgresql.org\/pub\/repos\/yum\/reporpms\/EL-9-x86_64\/pgdg-redhat-repo-latest.noarch.rpm<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Desactiva el m&oacute;dulo PostgreSQL integrado en tu sistema para evitar instalar una versi&oacute;n incorrecta:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo dnf -qy module disable postgresql<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Instala el servidor PostgreSQL ejecutando este comando. Si quieres instalar otra versi&oacute;n, sustituye <strong>17 <\/strong>por el n&uacute;mero correspondiente:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo dnf install -y postgresql17-server<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Inicia la base de datos para establecer los archivos y la configuraci&oacute;n necesarios para PostgreSQL:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo \/usr\/pgsql-17\/bin\/postgresql-17-setup initdb<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Inicia y habilita PostgreSQL durante el arranque ejecutando posteriormente estos comandos:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl enable postgresql-17\n\nsudo systemctl start postgresql-17<\/pre><p>Eso es todo. Antes de acceder a la base de datos, aseg&uacute;rate de que PostgreSQL se est&aacute; ejecutando comprobando su estado mediante este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl status postgresql-17<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"86\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-37.png\/public\" alt=\"Uso del comando sudo systemctl status postgresql-17\" class=\"wp-image-43687\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-37.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-37.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-37.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-37.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><h3 class=\"wp-block-heading\">2. Con&eacute;ctate al shell de PostgreSQL<\/h3><p>Para gestionar tu base de datos, debes conectarte al shell de l&iacute;nea de comandos PostgreSQL o <strong>psql<\/strong>. Puedes hacerlo cambiando al usuario ra&iacute;z <strong>postgres<\/strong>, que viene preconfigurado durante la instalaci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo su postgres<\/pre><p>Tu int&eacute;rprete de comandos deber&iacute;a cambiar. Ahora, entra en el int&eacute;rprete de comandos PostgreSQL utilizando este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">psql<\/pre><p>Una vez que tu l&iacute;nea de comandos cambie a <strong>Postgres=#<\/strong>, podr&aacute;s gestionar tu base de datos. Para salir del prompt PostgreSQL y volver al shell principal de tu sistema, introduce lo siguiente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\q<\/pre><h3 class=\"wp-block-heading\">3. Crea un nuevo rol<\/h3><p>Un rol en PostgreSQL es id&eacute;ntico a un <strong>usuario <\/strong>o <strong>grupo<\/strong>: una entidad que puedes utilizar para gestionar tus bases de datos y los permisos de acceso en PostgreSQL. Para configurar uno, utiliza la siguiente instrucci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE ROLE my_role;<\/pre><p>Como no hemos establecido una contrase&ntilde;a, la instrucci&oacute;n anterior crear&aacute; un nuevo rol sin privilegio de inicio de sesi&oacute;n. Piensa que este rol es similar a los grupos, que son &uacute;tiles para gestionar privilegios.<\/p><p>Si quieres crear un rol con un permiso de inicio de sesi&oacute;n similar al de un usuario, utiliza el siguiente comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password';<\/pre><p>Al crear un rol, puedes a&ntilde;adir los permisos despu&eacute;s utilizando el <a href=\"https:\/\/www.postgresql.org\/docs\/current\/sql-grant.html\" target=\"_blank\" rel=\"noreferrer noopener\">comando GRANT<\/a>. Alternativamente, puedes utilizar la configuraci&oacute;n interactiva para asignar los privilegios respondiendo a las preguntas.<\/p><p>Para ello, sal de tu shell PostgreSQL y cambia de nuevo al usuario <strong>postgres<\/strong>. A continuaci&oacute;n, ejecuta este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">createuser --interactive<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1140\" height=\"174\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-38.png\/public\" alt=\"Uso del comando createuser --interactive\" class=\"wp-image-43688\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-38.png\/w=1140,fit=scale-down 1140w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-38.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-38.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-38.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-38.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/><\/figure><p>Solo tienes que responder a las preguntas para configurar un rol en funci&oacute;n de tus necesidades. Para comprobar todos los roles de tu base de datos, ejecuta el siguiente comando en el int&eacute;rprete de comandos psql:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\du<\/pre><p>Si quieres entrar en el shell <strong>postgres <\/strong>utilizando ese rol, debes crear tambi&eacute;n un nuevo usuario Linux correspondiente en tu sistema. Este es el comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo adduser new-user<\/pre><p>Conectarse a <strong>psql <\/strong>como nuevo rol tambi&eacute;n requiere una base de datos. Si el usuario no tiene una, puedes utilizar la base de datos <strong>postgres <\/strong>por defecto. El comando podr&iacute;a ser as&iacute;:&nbsp;<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo -u new-user psql -d postgres&nbsp;<\/pre><p>\n\n\n\n<div><p class=\"important\"><strong>&iexcl;Importante!<\/strong> Para acceder a la l&iacute;nea de comandos psql como otro usuario, ejecuta el comando login en el shell principal de tu sistema.<\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\">4. Crea una nueva base de datos<\/h3><p>Para crear una nueva base de datos PostgreSQL, accede al shell <strong>psql <\/strong>como usuario con los permisos necesarios.<\/p><p>Ahora, crea una nueva base de datos ejecutando el siguiente comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE DATABASE db_name;<\/pre><p>Enumera todas las bases de datos para comprobar que has creado una nueva con &eacute;xito. &Eacute;ste es el comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\l<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"172\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-39.png\/public\" alt=\"Uso del comando \\l\" class=\"wp-image-43689\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-39.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-39.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-39.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-39.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Ahora, con&eacute;ctate a la nueva base de datos ejecutando el siguiente comando. Sustituye <strong>db_name <\/strong>por el nombre real:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\c db_name<\/pre><p>Una vez conectado, puedes comprobar la informaci&oacute;n sobre la base de datos actual introduciendo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\conninfo<\/pre><h3 class=\"wp-block-heading\">5. A&ntilde;ade y elimina una tabla de la base de datos<\/h3><p>Los RDBMS, como PostgreSQL, organizan los datos en tablas formadas por filas y columnas. Para una gesti&oacute;n m&aacute;s eficaz, puedes agrupar tablas relacionadas en una categor&iacute;a llamada <strong>schema<\/strong>.<\/p><p>Por ejemplo, puedes organizar tablas sobre datos de empleados y facturas de n&oacute;minas en un esquema de recursos humanos (RRHH). Para crear un esquema, utiliza la siguiente instrucci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE SCHEMA schema_name;<\/pre><p>Para crear una tabla dentro del esquema, s&oacute;lo tienes que a&ntilde;adir el nombre del esquema al principio de tu sentencia, de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE TABLE schema_name.table_name (\n\n    column1 data_type constraints,\n\n    column2 data_type constraints,\n\n    ...\n\n);<\/pre><p>Al crear una tabla, enumera las columnas separadas por una coma. Cada columna debe contener un <a href=\"https:\/\/www.postgresql.org\/docs\/current\/datatype.html\" target=\"_blank\" rel=\"noreferrer noopener\">tipo de datos<\/a> para especificar los valores a insertar y una restricci&oacute;n para definir los criterios de los datos.<\/p><p>Por ejemplo, puedes establecer el tipo de datos en enteros, caracteres o valores l&oacute;gicos. Mientras tanto, puedes establecer una restricci&oacute;n para permitir s&oacute;lo valores no vac&iacute;os o datos &uacute;nicos que no tengan otras columnas.<\/p><p>Aqu&iacute; tienes un ejemplo de instrucci&oacute;n que crea una tabla de datos de empleados dentro del esquema HR, que contiene cuatro columnas sobre IDs, nombres y apellidos, as&iacute; como la fecha de contrataci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE TABLE hr.empleados (\n\n    employee_id SERIAL PRIMARY KEY,\n\n    first_name VARCHAR(100) NOT NULL, \n\n    last_name VARCHAR(100) NOT NULL,\n\n    hire_date DATE NOT NULL  \n\n);<\/pre><p>Para comprobar la tabla, introduce lo siguiente en tu shell de l&iacute;nea de comandos <strong>psql<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\d table-name<\/pre><p>Si quieres comprobar tablas pertenecientes a otro esquema, utiliza en su lugar este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\dt schema-name.table<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"187\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-40.png\/public\" alt=\"Ejemplo de uso de \\dt schema-name.table\" class=\"wp-image-43690\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-40.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-40.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-40.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/01\/image-40.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><h3 class=\"wp-block-heading\">6. Agrega, actualiza y borra datos en una tabla<\/h3><p>Despu&eacute;s de configurar una tabla y columnas, puedes empezar a rellenarlas con datos. Para ello, especifica la tabla y las columnas en las que quieres insertar los datos y, a continuaci&oacute;n, enumera los valores de la siguiente forma:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">INSERT INTO hr.empleados (first_name, last_name, hire_date)\n\nVALUES\n\n&nbsp;&nbsp;&nbsp;&nbsp;('John', 'Doe', '2024-01-15'),\n\n&nbsp;&nbsp;&nbsp;&nbsp;('Jane', 'Smith', '2023-11-10');<\/pre><p>En el ejemplo, insertamos valores en la columna nombre, apellidos y fecha de contrataci&oacute;n de la tabla <strong>empleados<\/strong>. La primera fila tendr&aacute; datos sobre <strong>John Doe<\/strong>, mientras que la segunda contendr&aacute; detalles sobre <strong>Jane Smith<\/strong>.<\/p><p>Para comprobar el valor de una fila concreta, puedes utilizar una condici&oacute;n determinada como filtro. Por ejemplo, lo siguiente buscar&aacute; un empleado utilizando su ID:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">SELECT * FROM empleados\n\nWHERE employee_id = 1;<\/pre><p>Tambi&eacute;n puedes utilizar condiciones para actualizar el valor de una fila concreta. Por ejemplo, esta sentencia cambiar&aacute; Jane Smith por Jane Doe:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">UPDATE empleados\n\nSET last_name = 'Doe'\n\nWHERE employee_id = 2;<\/pre><p>Adem&aacute;s, las condiciones son &uacute;tiles para borrar datos. Por ejemplo, borraremos los datos de un empleado con el ID 1:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">DELETE FROM empleados\n\nWHERE employee_id = 1;<\/pre><p>Borrar una fila eliminar&aacute; completamente la entrada de tu tabla. Hacerlo no afectar&aacute; a los datos vecinos, a menos que tengan restricciones espec&iacute;ficas, como la relaci&oacute;n de clave for&aacute;nea.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p>En este art&iacute;culo hemos explicado c&oacute;mo instalar PostgreSQL en CentOS 9. Antes de configurarlo, aseg&uacute;rate de que tienes un servidor que cumple los requisitos m&iacute;nimos del sistema, como el plan VPS KVM 1 de Hostinger.<\/p><p>Una vez que tengas el sistema, instala PostgreSQL siguiendo estos pasos:<\/p><ol class=\"wp-block-list\">\n<li>Descarga el &uacute;ltimo paquete PostgreSQL y activa su servicio mediante <strong>systemctl<\/strong>.&nbsp;<\/li>\n\n\n\n<li>Con&eacute;ctate al int&eacute;rprete de comandos PostgreSQL cambiando a la cuenta <strong>postgres <\/strong>e introduciendo <strong>psql<\/strong>.<\/li>\n\n\n\n<li>Crea un nuevo rol en tu base de datos y sistema Linux con permiso de inicio de sesi&oacute;n.<\/li>\n\n\n\n<li>Genera una nueva base de datos utilizando un rol con permisos suficientes, como <strong>postgres<\/strong>.<\/li>\n\n\n\n<li>A&ntilde;ade una tabla para organizar los datos en tu base de datos introduciendo la sentencia <strong>CREATE<\/strong>.&nbsp;<\/li>\n\n\n\n<li>Rellena y gestiona los datos de las tablas de tu base de datos mediante instrucciones como <strong>INSERT <\/strong>y <strong>UPDATE<\/strong>.<\/li>\n<\/ol><p>Esperamos que este art&iacute;culo te haya ayudado a configurar una base de datos PostgreSQL en tu sistema CentOS 9. Si tienes alguna pregunta o problema, d&eacute;janos un comentario a continuaci&oacute;n.<\/p><h2 class=\"wp-block-heading\" id=\"h-instalacion-y-creacion-de-bases-de-datos-postgresql-preguntas-frecuentes\">Instalaci&oacute;n y creaci&oacute;n de bases de datos PostgreSQL &ndash; Preguntas frecuentes<\/h2><p>Esta secci&oacute;n cubre algunas de las preguntas m&aacute;s comunes sobre instalar PostgreSQL.&nbsp;<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-69446d63d934b\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;C&oacute;mo puedo verificar si PostgreSQL est&aacute; instalado correctamente?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Hay un par de formas de comprobar si PostgreSQL est&aacute; instalado. Una es iniciando la base de datos relacional mediante el comando <strong>systemctl<\/strong>:<\/p>\n<p><strong>sudo systemctl start postgresql-17<br><\/strong><br>Aseg&uacute;rate de sustituir 17 por la versi&oacute;n real que has instalado. Si tu l&iacute;nea de comandos devuelve un error sobre un servicio que falta, significa que PostgreSQL no est&aacute; configurado correctamente.&nbsp;<\/p>\n<p>Otro m&eacute;todo es acceder a la l&iacute;nea de comandos de PostgreSQL utilizando lo siguiente:<\/p>\n<p><strong>sudo -u postgres psql<br><\/strong><br>Si ves el error Comando no encontrado, significa que el RDBMS no est&aacute; correctamente instalado.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69446d63d934d\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;C&oacute;mo accedo a la interfaz de l&iacute;nea de comandos de PostgreSQL?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Para acceder a la interfaz de l&iacute;nea de comandos de PostgreSQL, tambi&eacute;n conocida como shell <strong>psql<\/strong>, cambia a la cuenta <strong>postgres <\/strong>por defecto utilizando este comando:<\/p>\n<p><strong>sudo su postgres<br><\/strong><br>Ahora, simplemente introduce psql,y tu shell deber&iacute;a cambiar a PostgreSQL, indicando que has accedido a la interfaz de l&iacute;nea de comandos. Para salir del int&eacute;rprete de comandos, introduce:<\/p>\n<p><strong>\\q<br><\/strong><br>Tambi&eacute;n puedes utilizar un &uacute;nico comando en tu shell principal para entrar en psql de la siguiente manera:<\/p>\n<p><strong>sudo -u postgres psql<\/strong><\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69446d63d934e\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;Por qu&eacute; tengo problemas al instalar PostgreSQL?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Varios factores pueden causar problemas durante la instalaci&oacute;n de PostgreSQL. Si encuentras errores al descargar el paquete, comprueba si tu comando es correcto y utiliza la URL de descarga adecuada seg&uacute;n tu sistema operativo.<\/p>\n<p>Si surge alg&uacute;n problema al conectar con el int&eacute;rprete de comandos <strong>psql<\/strong>, comprueba si el servicio <strong>postgresql <\/strong>se est&aacute; ejecutando mediante este comando:<\/p>\n<p><strong>sudo systemctl status postgresql-17<br><\/strong><br>Si el estado de PostgreSQL no es de ejecuci&oacute;n, arr&aacute;ncalo manualmente utilizando este comando:<\/p>\n<p><strong>sudo systemctl start postgresql-17<\/strong><\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69446d63d934f\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;Por qu&eacute; no puedo conectarme a otro rol de PostgreSQL?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Si no puedes conectarte a un nuevo rol PostgreSQL, aseg&uacute;rate de que has creado el usuario correspondiente en tu sistema Linux.&nbsp;Por ejemplo, si has creado el rol <strong>ne<\/strong>w<strong>_use<\/strong>r, tu servidor tambi&eacute;n debe tener la misma cuenta <strong>ne<\/strong>w<strong>_user<\/strong>.<\/p>\n<p>Adem&aacute;s, debes especificar la base de datos a la que conectarte. Si el nuevo usuario no tiene ninguna, utiliza la base de datos <strong>postgres <\/strong>por defecto como se indica en este comando:<\/p>\n<p><strong>sudo -u NewUser psql -d postgres<br><\/strong><br>Adem&aacute;s, prueba a crear el nuevo rol utilizando la siguiente sentencia en lugar del modo interactivo para conceder el privilegio de inicio de sesi&oacute;n expl&iacute;citamente.&nbsp;<\/p>\n<p><strong>CREATE ROLE my_role WITH LOGIN PASSWORD &lsquo;my_password&rsquo;<\/strong><\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-\"><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>PostgreSQL es un sistema de gesti&oacute;n de bases de datos relacionales (RDBMS) de c&oacute;digo abierto, conocido por su capacidad para manejar grandes cantidades de datos, convirtiendolo en una opci&oacute;n popular para aplicaciones a gran escala. Tambi&eacute;n es compatible con varios tipos de datos, lenguajes de programaci&oacute;n, pilas web y sistemas operativos, incluidas distribuciones Linux populares [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/como-instalar-postgresql-en-centos\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":329,"featured_media":43685,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo instalar PostgreSQL en CentOS 9","rank_math_description":"Aprende a instalar PostgreSQL en CentOS 9 paso a paso. Descubre c\u00f3mo gestionar roles, bases de datos y comandos b\u00e1sicos f\u00e1cilmente.","rank_math_focus_keyword":"instalar postgresql centos","footnotes":""},"categories":[5700],"tags":[],"class_list":["post-37264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/instalar-postgresql-centos","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/installer-postgresql-centos","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-instal-postgresql-centos","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/instalar-postgresql-centos","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-install-postgresql-on-centos","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/37264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/329"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=37264"}],"version-history":[{"count":25,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/37264\/revisions"}],"predecessor-version":[{"id":49770,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/37264\/revisions\/49770"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media\/43685"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=37264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=37264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=37264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}