{"id":9254,"date":"2019-10-17T14:35:58","date_gmt":"2019-10-17T12:35:58","guid":{"rendered":"https:\/\/blog.hostinger.io\/com-ar-tutoriales\/?p=9254"},"modified":"2026-03-10T16:34:38","modified_gmt":"2026-03-10T15:34:38","slug":"instalar-postgresql-ubuntu","status":"publish","type":"post","link":"\/ar\/tutoriales\/instalar-postgresql-ubuntu","title":{"rendered":"C\u00f3mo instalar PostgreSQL en Ubuntu y uso efectivo de bases de datos"},"content":{"rendered":"<p>PostgreSQL es un sistema de gesti&oacute;n popular de bases de datos relacionales (RDBMS) de c&oacute;digo abierto, conocido por su escalabilidad y eficacia en el manejo de grandes cantidades de datos.<\/p><p>Debido a su alto rendimiento, PostgreSQL es ideal para sitios web o aplicaciones de grandes empresas. Tambi&eacute;n admite varios tipos de datos y lenguajes de programaci&oacute;n, como PHP y Python.<\/p><p>En este tutorial, te explicaremos c&oacute;mo instalar PostgreSQL en <strong>Ubuntu 22.04 <\/strong>y versiones posteriores. Tambi&eacute;n cubriremos el proceso de instalaci&oacute;n de pgAdmin y las soluciones a problemas comunes de PostgreSQL.<\/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:\/\/blog.hostinger.io\/com-ar-tutoriales\/wp-content\/uploads\/sites\/38\/2022\/12\/Linux-cheat-sheet-ES-1024x283.png\" alt=\"\" class=\"wp-image-26004\" srcset=\"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2022\/12\/Linux-cheat-sheet-ES.png 1024w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2022\/12\/Linux-cheat-sheet-ES-300x83.png 300w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2022\/12\/Linux-cheat-sheet-ES-150x41.png 150w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2022\/12\/Linux-cheat-sheet-ES-768x212.png 768w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2022\/12\/Linux-cheat-sheet-ES-1536x425.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n<div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">&iquest;Qu&eacute; es PostgreSQL?<\/h2>\n                    <p><\/p><p>PostgreSQL es un sistema de gesti&oacute;n de bases de datos relacionales (SGBDR) popular por su rendimiento. A diferencia de un SGBD est&aacute;ndar, organiza los datos en una estructura l&oacute;gica para un acceso m&aacute;s eficaz. Altamente eficiente y capaz de manejar muchas consultas, la soluci&oacute;n de base de datos es excelente para grandes empresas. Adem&aacute;s, es gratuito, de c&oacute;digo abierto y compatible con varios tipos de datos.<\/p>\n                <\/div><\/p><h2 class=\"wp-block-heading\" id=\"h-como-instalar-postgresql-en-ubuntu\">C&oacute;mo instalar PostgreSQL en Ubuntu<\/h2><p>Antes de proceder, aseg&uacute;rate de que tu <a href=\"\/ar\/servidor-vps\">servidor privado virtual (VPS)<\/a> ejecuta <strong>Ubuntu 22.04 <\/strong>o posterior. De lo contrario, sigue nuestra gu&iacute;a para <a href=\"https:\/\/support.hostinger.com\/es\/articles\/4965922-como-cambiar-el-sistema-operativo-de-tu-vps\" target=\"_blank\" rel=\"noreferrer noopener\">cambiar el sistema operativo en el VPS de Hostinger<\/a>.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-instala-postgresql\">1. Instala PostgreSQL<\/h3><p>La instalaci&oacute;n de PostgreSQL implica ejecutar <a href=\"\/ar\/tutoriales\/linux-comandos\">comandos Linux<\/a> en tu m&aacute;quina. En un sistema local, ejec&uacute;talos directamente a trav&eacute;s de Terminal, el s&iacute;mbolo del sistema de Linux.<\/p><p>Para una m&aacute;quina remota como VPS, con&eacute;ctate <a href=\"\/ar\/tutoriales\/conectar-usando-terminal-putty-ssh\/\">usando una aplicaci&oacute;n SSH<\/a> o Terminal. Los usuarios de Hostinger pueden encontrar las credenciales de acceso a su m&aacute;quina remota navegando hasta el <strong>men&uacute;<\/strong> <strong>general de VPS <\/strong>en hPanel.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2019\/10\/vision-general-vps.png\" alt=\"Vista general del VPS de hPanel\" class=\"wp-image-47093\"><\/figure><p>Puedes instalar los paquetes PostgreSQL de Ubuntu desde el repositorio local o utilizando el gestor de paquetes APT. Te recomendamos esto &uacute;ltimo para asegurarte de que obtienes la &uacute;ltima versi&oacute;n.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/ar\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/com-ar-tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-1024x300.png\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner.png 1024w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-300x88.png 300w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-150x44.png 150w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-768x225.png 768w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h4 class=\"wp-block-heading\" id=\"h-opcion-1-instalacion-desde-el-repositorio-apt\">Opci&oacute;n 1: instalaci&oacute;n desde el repositorio APT<\/h4><p>El m&eacute;todo m&aacute;s popular para instalar PostgreSQL en Ubuntu es desde el repositorio oficial a trav&eacute;s del <strong>gestor de paquetes APT<\/strong>. Aqu&iacute; tienes los pasos para hacerlo:<\/p><ol class=\"wp-block-list\">\n<li>Ejecuta estos comandos para importar la clave desde el repositorio oficial de PostgreSQL al gestor de paquetes APT:<\/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 sh -c 'echo \"deb http:\/\/apt.postgresql.org\/pub\/repos\/apt $(lsb_release -cs)-pgdg main\" &gt; \/etc\/apt\/sources.list.d\/pgdg.list'\n\nwget --quiet -O - https:\/\/www.postgresql.org\/media\/keys\/ACCC4CF8.asc | sudo gpg -<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Actualiza APT para sincronizar todos los repositorios utilizando este 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 apt update<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Instala la &uacute;ltima versi&oacute;n de PostgreSQL con APT y privilegios sudo:<\/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 apt-get -y install postgresql<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Para confirmar la instalaci&oacute;n, ejecuta este 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 -u postgres psql<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Introduce la sentencia de consulta de la versi&oacute;n de 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=\"\">SELECT version();<\/pre><p><div class=\"protip\">\n                    <h4 class=\"title\">Consejo profesional<\/h4>\n                    <p>Para instalar una versi&oacute;n concreta, a&ntilde;ade el n&uacute;mero en tu comando, por ejemplo <strong>sudo apt-get -y install postgresql-12<\/strong>. En este ejemplo, el comando instalar&aacute; la versi&oacute;n 12 de PostgreSQL.<\/p>\n                <\/div><\/p><h4 class=\"wp-block-heading\">Opci&oacute;n 2: instalaci&oacute;n utilizando el repositorio local de Ubuntu<\/h4><p>El m&eacute;todo alternativo de instalaci&oacute;n de PostgreSQL utiliza el repositorio local de <a href=\"\/tutorials\/what-is-ubuntu\">Ubuntu<\/a>. Aqu&iacute; tienes los pasos:<\/p><ol class=\"wp-block-list\">\n<li>Ejecuta este comando para actualizar el repositorio de Ubuntu:<\/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 apt-get update<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Verifica el <strong>repositorio apt PostgreSQL <\/strong>disponible utilizando este 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 apt show postgresql<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Ejecuta este comando para instalar la &uacute;ltima versi&oacute;n disponible. En nuestro caso, es <strong>la versi&oacute;n 12.15<\/strong>:<\/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 apt install postgresql postgresql-contrib<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Para comprobar si la instalaci&oacute;n de PostgreSQL se ha realizado correctamente, ejecuta lo siguiente:<\/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 -u postgres psql<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>A continuaci&oacute;n, ejecuta este comando para comprobar la versi&oacute;n actual de 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=\"\">SELECT version();<\/pre><p>La l&iacute;nea de comandos deber&iacute;a mostrar que la <strong>versi&oacute;n 12.15 del servidor PostgreSQL <\/strong>se ha instalado correctamente, de forma similar a esto:<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/li%CC%81nea-de-comandos.png\" alt=\"Ejemplo de l&iacute;nea de comandos sobre como instalar postgresql en Ubuntu\" class=\"wp-image-41286\"><\/figure><h3 class=\"wp-block-heading\">2. Comprueba el estado de PostgreSQL<\/h3><p>Tras instalar PostgreSQL, comprueba si est&aacute; habilitado y activo. Utiliza la utilidad de comandos <strong>systemctl <\/strong>o <strong>service <\/strong>para verificar el estado del servicio:<\/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 service postgresql status\n\nsudo systemctl status postgresql<\/pre><p>Si PostgreSQL est&aacute; activado, en tu l&iacute;nea de comandos aparecer&aacute; <strong>activo <\/strong>y <strong>cargado<\/strong>, de forma similar a la siguiente:<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/li%CC%81nea-de-comandos-aparecera%CC%81-activo-y-cargado.png\" alt=\"L&iacute;nea de comandos son PostgreSQL activado\" class=\"wp-image-41288\"><\/figure><p>Los usuarios de Hostinger tambi&eacute;n pueden comprobar si PostgreSQL se est&aacute; ejecutando preguntando al asistente de IA Kodee. Simplemente introduce &ldquo;Comprobar el estado del servicio postgresql en mi VPS&rdquo; y Kodee mostrar&aacute; el estado del servicio.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2019\/10\/ejemplo-kodee-ia.png\" alt=\"Ejemplo de uso de Kodee \" class=\"wp-image-46131\"><\/figure><p>Adem&aacute;s del estado del servicio, comprueba si PostgreSQL est&aacute; preparado para aceptar una conexi&oacute;n 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 pg_isready<\/pre><h3 class=\"wp-block-heading\">3. Conectate a PostgreSQL<\/h3><p>Durante la instalaci&oacute;n, PostgreSQL crea autom&aacute;ticamente el rol <strong>postgres <\/strong>por defecto para iniciar sesi&oacute;n en la base de datos. Para cambiar a este usuario, ejecuta 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=\"\">sudo su - postgres<\/pre><p>Tu l&iacute;nea de comandos debe comenzar ahora con <strong>postgres<\/strong>. Para conectarte a la base de datos PostgreSQL, utiliza el int&eacute;rprete de comandos PostgreSQL con 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=\"\">sudo psql<\/pre><p>El comando <strong>psql <\/strong>crear&aacute; una sesi&oacute;n en la base de datos por defecto. Si no encuentras el comando, instala manualmente el cliente 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=\"\">sudo apt-get install postgresql-cliente<\/pre><p>Para comprobar el estado de la conexi&oacute;n, ejecuta este comando desde el prompt de PostgreSQL:<\/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><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"958\" height=\"72\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/conninfo.png\" alt=\"Comprobar estado de la conexi&oacute;n a PostgreSQL\" class=\"wp-image-41289\" srcset=\"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo.png 958w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo-300x23.png 300w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo-150x11.png 150w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo-768x58.png 768w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/figure><p>Para salir del prompt de PostgreSQL y volver al usuario normal del sistema, utiliza el comando <strong>exit<\/strong>. Mientras tanto, usa<strong> q <\/strong>para salir de la sesi&oacute;n interactiva de la base de datos.<\/p><h3 class=\"wp-block-heading\">4. Cambia la contrase&ntilde;a de usuario<\/h3><p>Cambiar la contrase&ntilde;a predeterminada del rol <strong>postgres <\/strong>es esencial para mejorar la seguridad de la base de datos. A continuaci&oacute;n te explicamos c&oacute;mo hacerlo:<\/p><ol class=\"wp-block-list\">\n<li>Activa el indicador PostgreSQL con este 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 -u postgres psql<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Ejecuta esta sentencia para cambiar la contrase&ntilde;a de la cuenta <strong>postgres<\/strong>. No olvides sustituir <strong>NewPassword <\/strong>por tu contrase&ntilde;a real:<\/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=\"\">ALTER USER postgres PASSWORD 'NewPassword';<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Comprueba si el cambio se ha aplicado correctamente 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=\"\">p<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Reinicia el servicio PostgreSQL con este 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 service postgresql restart<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"155\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/sudo-service-postgresql-restart.png\" alt=\"Ejemplo de cambio de contrase&ntilde;a en PostgreSQL\" class=\"wp-image-41290\" srcset=\"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/sudo-service-postgresql-restart.png 1024w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/sudo-service-postgresql-restart-300x45.png 300w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/sudo-service-postgresql-restart-150x23.png 150w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/sudo-service-postgresql-restart-768x116.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><h3 class=\"wp-block-heading\">5. Crea un usuario en PostgreSQL<\/h3><p>Para gestionar el acceso a la base de datos y garantizar una organizaci&oacute;n adecuada de los datos, necesitar&aacute;s varios usuarios PostgreSQL. La forma m&aacute;s sencilla de crear uno es utilizar el <strong>modo interactivo<\/strong>. Aqu&iacute; los pasos:<\/p><ol class=\"wp-block-list\">\n<li>Cambia al usuario <strong>postgres<\/strong>:<\/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 su - postgres<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Ejecuta este comando para crear un nuevo usuario:<\/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=\"\">createuser --interactive<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Introduce el nombre de la nueva cuenta PostgresQL. Para este tutorial, es <strong>TheNewUser<\/strong>.<\/li>\n\n\n\n<li>Para validar el nuevo rol, inicia sesi&oacute;n en PostgreSQL con la cuenta <strong>postgres<\/strong>:<\/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 -u postgres psql<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Comprueba todos los usuarios con 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=\"\">du<\/pre><p><div><p class=\"important\"><strong>&iexcl;Importante!<\/strong> Como parte de las mejores pr&aacute;cticas de seguridad para PostgreSQL, evita conceder al nuevo rol privilegios de superusuario a menos que sea necesario.<\/p><\/div><\/p><p>Como se muestra en la salida, la base de datos crea con &eacute;xito <strong>TheNewUser<\/strong>.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/base-de-datos-crea-con-e%CC%81xito-TheNewUser.png\" alt=\"Creaci&oacute;n exitosa de usuario en una base de datos PostgreSQL\" class=\"wp-image-41291\"><\/figure><h3 class=\"wp-block-heading\">6. Crea una base de datos en PostgreSQL<\/h3><p>PostgreSQL asume que el <a href=\"https:\/\/www.postgresql.org\/docs\/current\/user-manag.html\" target=\"_blank\" rel=\"noreferrer noopener\">rol<\/a> y la base de datos tendr&aacute;n el mismo nombre. Por tanto, si creas un rol <strong>TheNewUser<\/strong>, PostgreSQL acceder&aacute; a una base de datos con el mismo <strong>nombre<\/strong>.<\/p><p><div><p class=\"important\"><strong>&iexcl;Importante!<\/strong> PostgreSQL utiliza informaci&oacute;n de Linux para la autenticaci&oacute;n. En el ejemplo anterior, necesitas un usuario llamado <strong>TheNewUser<\/strong>.<\/p><\/div><\/p><p>Estos son los pasos de configuraci&oacute;n de la base de datos PostgreSQL:<\/p><ol class=\"wp-block-list\">\n<li>Ejecuta lo siguiente para cambiar al usuario <strong>postgres <\/strong>y crear una nueva base de datos:<\/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 -u postgres createdb TheNewUser<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Para acceder a la nueva base de datos, crea una cuenta de usuario Linux con el mismo nombre. Como el nombre de usuario contiene may&uacute;sculas, a&ntilde;ade la opci&oacute;n <strong>&ndash;force-badname<\/strong>.<\/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 adduser TheNewUser --force-badname<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Entra en el prompt interactivo de PostgreSQL utilizando la nueva cuenta de usuario:<\/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 -u TheNewUser psql<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Confirma la conexi&oacute;n mediante este 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=\"\">conninfo<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"102\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/conninfo-1.png\" alt=\"Configuraci&oacute;n de la base de datos PostgreSQL\" class=\"wp-image-41292\" srcset=\"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo-1.png 1024w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo-1-300x30.png 300w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo-1-150x15.png 150w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/conninfo-1-768x77.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Ahora el usuario deber&iacute;a conectarse a la nueva base de datos y poder crear una nueva tabla. Por ejemplo, introduce lo siguiente para crear una tabla de datos de comprador:<\/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 buyers(usr_id INT PRIMARY KEY, usr_name VARCHAR(240) NOT NULL, usr_location VARCHAR(240) NOT NULL);<\/pre><p>Al crear una tabla de base de datos, ten en cuenta las seis restricciones de PostgreSQL:<\/p><ul class=\"wp-block-list\">\n<li><strong>PRIMARY KEY:<\/strong> indica que una columna puede ser el identificador &uacute;nico de una fila.<\/li>\n\n\n\n<li><strong>FOREIGN KEY:<\/strong> especifica que los valores de una columna deben ser iguales a los de las filas de otra tabla.<\/li>\n\n\n\n<li><strong>NOT NULL:<\/strong> garantiza que el valor de una columna no est&aacute; vac&iacute;o.<\/li>\n\n\n\n<li><strong>CHECK: <\/strong>establece el valor de una columna para que deba satisfacer una expresi&oacute;n booleana, que puede ser &ldquo;verdadero&rdquo; o &ldquo;falso&rdquo;.<\/li>\n\n\n\n<li><strong>UNIQUE:<\/strong> garantiza que los valores de una columna son &uacute;nicos entre todas las filas.<\/li>\n\n\n\n<li><strong>EXCLUSION:<\/strong> impide que los valores de dos filas se superpongan al compararlos.<\/li>\n<\/ul><p>Para a&ntilde;adir valores a tu tabla, utiliza la siguiente sentencia. No olvides sustituir los marcadores de posici&oacute;n por el valor apropiado y ajustar el n&uacute;mero de filas en consecuencia:<\/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 tablename (columna1, columna2, columna3) VALUES (fila1, fila2, fila3);<\/pre><p>Para mostrar la tabla, introduce la siguiente sentencia:<\/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 tablename<\/pre><h3 class=\"wp-block-heading\">7. Configura el servidor PostgreSQL<\/h3><p>Configura tu servidor PostgreSQL para permitir que otros sistemas accedan a la base de datos de forma remota. Para ello, deja que el servidor liste todas las direcciones IP editando el archivo de configuraci&oacute;n.<\/p><p>Antes de continuar, utiliza el comando <strong>exit <\/strong>para salir del int&eacute;rprete de comandos PostgreSQL y volver como usuario normal del sistema. A continuaci&oacute;n, sigue estos pasos:<\/p><ol class=\"wp-block-list\">\n<li>Abre el archivo de configuraci&oacute;n con un editor de texto. Sustituye <strong>vim <\/strong>si utilizas otro editor y cambia el directorio en consecuencia:<\/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=\"\">vim \/etc\/postgresql\/14\/main\/postgresql.conf<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Busca la l&iacute;nea <strong>listen_addresses<\/strong>.<\/li>\n\n\n\n<li>Elimina el s&iacute;mbolo<strong> # <\/strong>y cambia el valor por un asterisco. As&iacute; es como deber&iacute;a quedar:<\/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=\"\">listen_addresses = '*'<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Utiliza el comando <strong>:wq <\/strong>para guardar los cambios y salir de <strong>vim<\/strong>.<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"56\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/comando-wq.png\" alt=\"Ejemplo uso del comando listen\" class=\"wp-image-41293\" srcset=\"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/comando-wq.png 1024w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/comando-wq-300x16.png 300w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/comando-wq-150x8.png 150w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2024\/08\/comando-wq-768x42.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol start=\"5\" class=\"wp-block-list\">\n<li>Establece la pol&iacute;tica de acceso para autenticar la conexi&oacute;n del cliente a tu servidor PostgreSQL. Para ello, abre el archivo <strong>pg_hba.conf <\/strong>en el mismo directorio utilizando <strong>vim<\/strong>. El comando deber&iacute;a tener este aspecto<\/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=\"\">vim \/etc\/postgresql\/14\/main\/pg_hba.conf<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>A&ntilde;ade una nueva pol&iacute;tica al final del archivo utilizando esta sintaxis:<\/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=\"\">connection database user ip_address encryption<\/pre><ol start=\"7\" class=\"wp-block-list\">\n<li>Por ejemplo, habilitaremos todas las conexiones TCP\/IP de todos los usuarios a todas las bases de datos PostgreSQL. Estos usuarios pueden utilizar cualquier direcci&oacute;n IP con una contrase&ntilde;a cifrada con MD5. La regla tiene el siguiente aspecto:<\/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=\"\">host all all 0.0.0.0\/0 md5<\/pre><ol start=\"8\" class=\"wp-block-list\">\n<li>Reinicia el servicio PostgreSQL para aplicar los cambios.<\/li>\n<\/ol><h3 class=\"wp-block-heading\">8. Establece una conexi&oacute;n remota a la base de datos<\/h3><p>Tras configurar la base de datos, configura el acceso remoto a PostgreSQL mediante el comando <strong>psql<\/strong>. Para ello, utiliza esta sintaxis de comando en la m&aacute;quina cliente:<\/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 -h ip_address -p port -d database -U username<\/pre><p>Por ejemplo, ejecuta este comando para conectarte a la base de datos <strong>TheNewUser<\/strong> alojada en un VPS con la direcci&oacute;n IP <strong>185.185.185.185 <\/strong>utilizando la cuenta <strong>TheNewUser<\/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=\"\">psql -h 185.185.185.185 -p 5432 -d TheNewUser -U TheNewUser<\/pre><p>Recuerda que el puerto PostgreSQL por defecto es <strong>5423<\/strong>. Para comprobar si la conexi&oacute;n se ha realizado correctamente, 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=\"\">conninfo<\/pre><p>Una vez conectado, puedes enviar consultas a la base de datos para recuperar datos. Para habilitar el acceso remoto PostgreSQL en tu aplicaci&oacute;n, instala un controlador de base de datos e importa el m&oacute;dulo en tu c&oacute;digo.<\/p><p>En este tutorial, te mostraremos c&oacute;mo hacerlo en una aplicaci&oacute;n Python alojada en un VPS <strong>Ubuntu 22.04<\/strong>. Tras conectarte via SSH, sigue estos pasos:<\/p><ol class=\"wp-block-list\">\n<li>Instala el <strong>gestor de paquetes pip <\/strong>utilizando este comando. Si ya lo tienes, salta este paso:<\/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 apt-get install python-pip<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Descarga e instala el controlador de base de datos <strong>psycopg2 <\/strong>utilizando pip:<\/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=\"\">pip install psycopg2-binario<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>A&ntilde;ade la siguiente l&iacute;nea al c&oacute;digo de tu aplicaci&oacute;n para importar el m&oacute;dulo y establecer una conexi&oacute;n con la base de datos PostgreSQL. Recuerda cambiar el valor respectivamente:<\/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=\"\">import psycopg2\n# Connect your app to the remote database.\nconn = psycopg2.connect(host=\"182.182.182.182\", port=\"5432\", dbname=\"TestNewUser\", user=\"TestNewUser\", password=\"UserPassword\")\n# Open a cursor for database operations\ncur = conn.cursor()\n# Execute a query. Replace table with your own. \ncur.execute(\"SELECT * FROM table\")\n# Retrieve data\nrecords = cur.fetchall()<\/pre><h3 class=\"wp-block-heading\">9. Instala pgAdmin<\/h3><p>Instala la interfaz gr&aacute;fica de usuario basada en web <strong>pgAdmin <\/strong>para simplificar tus tareas de gesti&oacute;n de bases de datos PostgreSQL. En este caso, utilizaremos el gestor de paquetes APT para instalarlo:<\/p><ol class=\"wp-block-list\">\n<li>Ejecuta estos comandos individualmente para a&ntilde;adir el repositorio oficial de pgAdmin:<\/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=\"\">curl -fsSL https:\/\/www.pgadmin.org\/static\/packages_pgadmin_org.pub | sudo gpg --dearmor -o \/etc\/apt\/trusted.gpg.d\/pgadmin.gpg\n\nsudo sh -c 'echo \"deb https:\/\/ftp.postgresql.org\/pub\/pgadmin\/pgadmin4\/apt\/$(lsb_release -cs) pgadmin4 main\" &gt; \/etc\/apt\/sources.list.d\/pgadmin4.list'<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Actualiza las listas de paquetes para sincronizar el repositorio.<\/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 apt update<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Ejecuta el siguiente comando para instalar pgAdmin:<\/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 apt install pgadmin4<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Una vez finalizada la configuraci&oacute;n de la GUI, inicia la configuraci&oacute;n primaria de pgAdmin con este 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 \/usr\/pgadmin4\/bin\/setup-web.sh<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Introduce tu direcci&oacute;n de correo electr&oacute;nico y tu contrase&ntilde;a. Debe tener el siguiente aspecto:<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/configuracio%CC%81n-primaria-de-pgAdmin.png\" alt=\"Instalar pgAdmin\" class=\"wp-image-41294\"><\/figure><p>Para acceder a la interfaz basada en web de pgAdmin, introduce lo siguiente en la barra de direcciones de tu navegador web:<\/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=\"\">185.185.185.185\/pgadmin4<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/Inicio-de-sesio%CC%81n-en-pgAdmin-.png\" alt=\"Inicio de sesi&oacute;n en pgAdmin \" class=\"wp-image-41295\"><\/figure><p>Sustituye la direcci&oacute;n IP por la de tu VPS. A continuaci&oacute;n, introduce tu direcci&oacute;n de correo electr&oacute;nico y tu contrase&ntilde;a. Haz clic en <strong>Iniciar sesi&oacute;n <\/strong>para acceder al panel principal de pgAdmin.<\/p><p>Para conectar PostgreSQL, selecciona <strong>A&ntilde;adir nuevo servidor <\/strong>y contin&uacute;a con el proceso de configuraci&oacute;n.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2024\/08\/An%CC%83adir-nuevo-servidor.png\" alt=\"A&ntilde;adir nuevo servidor en pgAdmin\" class=\"wp-image-41296\"><\/figure><h2 class=\"wp-block-heading\" id=\"h-solucion-de-problemas-de-instalacion-de-postgresql\">Soluci&oacute;n de problemas de instalaci&oacute;n de PostgreSQL<\/h2><p>En esta secci&oacute;n, exploraremos los problemas m&aacute;s comunes relacionados con la instalaci&oacute;n de PostgreSQL y sus soluciones.<\/p><h3 class=\"wp-block-heading\">1. No se puede conectar al servidor PostgreSQL<\/h3><p>En primer lugar, debes comprobar si el sistema cliente est&aacute; correctamente conectado a Internet. Si la conexi&oacute;n a Internet no es el problema, otras causas habituales de este error son una base de datos inactiva o un permiso de archivo mal configurado.<\/p><p>Comprueba el estado de PostgreSQL y aseg&uacute;rate de que est&aacute; <strong>cargado <\/strong>y <strong>activo<\/strong>. Si no es as&iacute;, rein&iacute;cialo utilizando 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=\"\">sudo systemctl restart postgresql<\/pre><p>Si eso no funciona, comprueba si los permisos de directorio y archivos de PostgreSQL est&aacute;n configurados a <strong>0700 <\/strong>y <strong>0600<\/strong>. Para ello, 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=\"\">ls \/var\/lib\/postgresql\/main<\/pre><p>Despu&eacute;s, utiliza el <a href=\"\/ar\/tutoriales\/cambiar-permisos-y-propietarios-linux-linea-de-comandos\/\">comando chmod<\/a> para cambiar sus permisos.<\/p><h3 class=\"wp-block-heading\">2. Problemas de conexi&oacute;n PostgreSQL desde el host remoto<\/h3><p>Una pol&iacute;tica de conexi&oacute;n mal configurada puede causar problemas de host remoto que te impidan acceder al servidor PostgreSQL. Para solucionarlo, abre tu archivo <strong>pg_hba.conf <\/strong>y a&ntilde;ade la pol&iacute;tica de acceso de la direcci&oacute;n IP de cada cliente:<\/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=\"\">host all all 0.0.0.0\/0 md5<\/pre><p>A continuaci&oacute;n, comprueba el valor <strong>listen_address <\/strong>de tu archivo de configuraci&oacute;n <strong>postgres.conf<\/strong>. Aseg&uacute;rate de que tiene un <strong>asterisco <\/strong>para garantizar que PostgreSQL puede escuchar todas las direcciones IP.<\/p><p>Si eso no funciona, comprueba si tu cortafuegos cierra el puerto de escucha PostgreSQL. Para el servidor Ubuntu, ejecuta el comando <strong>ufw<\/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=\"\">sudo ufw status verbose<\/pre><p>Si la conexi&oacute;n desde y hacia el puerto <strong>5432 <\/strong>est&aacute; desactivada, &aacute;brela utilizando 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=\"\">sudo ufw allow 5432\/tcp<\/pre><h3 class=\"wp-block-heading\">3. Problemas de inicio de sesi&oacute;n en pgAdmin<\/h3><p>Los problemas de inicio de sesi&oacute;n en pgAdmin pueden deberse a un error de conexi&oacute;n con la base de datos. Si est&aacute; relacionado con la red, prueba las soluciones anteriores y vuelve a instalar pgAdmin.<\/p><p>Si el problema est&aacute; relacionado con las credenciales de acceso a la cuenta de usuario, entra en la sesi&oacute;n <strong>psql <\/strong>y restablece la contrase&ntilde;a utilizando esta sentencia:<\/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=\"\">ALTER USER username WITH PASSWORD 'new_password';<\/pre><p>Tambi&eacute;n puedes encontrarte con problemas de inicio de sesi&oacute;n si el usuario no tiene el privilegio <strong>LOGIN<\/strong>. Para concederlo, utiliza la siguiente sentencia:<\/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=\"\">ALTER USER username WITH LOGIN;<\/pre><h3 class=\"wp-block-heading\">4. Conflicto de versiones de PostgreSQL<\/h3><p>Los conflictos de versi&oacute;n se producen cuando PostgreSQL es incompatible con la base de datos u otras aplicaciones. Su causa habitual es no actualizar PostgreSQL, lo que provoca un desajuste de versiones.<\/p><p>Para solucionarlo, reinstala o actualiza PostgreSQL desde el repositorio oficial de APT. Actualiza tambi&eacute;n todas las aplicaciones de terceros, ya que pueden estar obsoletas.<\/p><p>Recomendamos probar la versi&oacute;n m&aacute;s reciente en un entorno de desarrollo para evitar m&aacute;s problemas en el servidor activo.<\/p><h3 class=\"wp-block-heading\">5. No se puede crear un usuario o base de datos PostgreSQL<\/h3><p>Una sintaxis de comando incorrecta suele provocar errores en la creaci&oacute;n de usuarios y bases de datos PostgreSQL. Para solucionarlo, aseg&uacute;rate de que tu comando termina con punto y coma (<strong>;<\/strong>).<\/p><p>Adem&aacute;s, debes ejecutar el comando utilizando el usuario <strong>postgres <\/strong>y la l&iacute;nea de comandos <strong>psql<\/strong>. Para ello, 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=\"\">sudo -u postgres psql<\/pre><p>Si tu Terminal muestra lo siguiente, deber&iacute;as poder crear un usuario y una base de datos.<\/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=\"\">postgres=#<\/pre><p><div class=\"protip\">\n                    <h4 class=\"title\">M&aacute;s informaci&oacute;n sobre PostgreSQL y VPS<\/h4>\n                    <p><a href=\"\/ar\/tutoriales\/que-es-un-vps\">Qu&eacute; es un VPS<\/a><\/p><p><a href=\"\/ar\/tutoriales\/configurar-servidor-vps\/\">C&oacute;mo configurar un VPS<\/a><\/p><p><a href=\"\/ar\/tutoriales\/como-configurar-firewall-ubuntu\">Configurar el cortafuegos de Ubuntu<\/a><\/p>\n                <\/div><\/p><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p>PostgreSQL es un sistema de gesti&oacute;n de bases de datos de c&oacute;digo abierto impulsado por la comunidad. Utiliza una estructura l&oacute;gica para almacenar eficazmente grandes cantidades de datos y simplificar el acceso.<\/p><p>En este tutorial sobre el sistema de gesti&oacute;n de bases de datos relacionales, hemos explicado los pasos para instalar PostgreSQL en Ubuntu 22.04 mediante el s&iacute;mbolo del sistema de Linux. Aqu&iacute; el resumen:<\/p><ol class=\"wp-block-list\">\n<li>Instala PostgreSQL desde el repositorio oficial utilizando <strong>APT<\/strong>.<\/li>\n\n\n\n<li>Ejecuta <strong>systemctl status <\/strong>para comprobar si Postgresql est&aacute; activo.<\/li>\n\n\n\n<li>Con&eacute;ctate a la cuenta PostgreSQL utilizando <strong>sudo su &ndash; postgres<\/strong>.<\/li>\n\n\n\n<li>Cambia la contrase&ntilde;a de la cuenta de administrador por defecto para mejorar la seguridad.<\/li>\n\n\n\n<li>Crea un nuevo usuario PostgreSQL para gestionar tus bases de datos.<\/li>\n\n\n\n<li>Haz una nueva base de datos utilizando el comando <strong>createdb<\/strong>.<\/li>\n\n\n\n<li>Configura el servidor PostgreSQL configurando su pol&iacute;tica de conexi&oacute;n.<\/li>\n\n\n\n<li>Ajusta una conexi&oacute;n a tu base de datos PostgreSQL remota.<\/li>\n\n\n\n<li>Instala pgAdmin para disponer de una interfaz gr&aacute;fica de usuario.<\/li>\n<\/ol><p>Para evitar problemas, aseg&uacute;rate de que las pol&iacute;ticas de conexi&oacute;n y las credenciales de acceso a pgAdmin est&aacute;n configuradas correctamente. <\/p><p>Adem&aacute;s, instala la &uacute;ltima versi&oacute;n del RDBMS mediante APT para evitar problemas de incompatibilidad.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/ar\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/com-ar-tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-1024x300.png\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner.png 1024w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-300x88.png 300w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-150x44.png 150w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-768x225.png 768w, https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-content\/uploads\/sites\/38\/2023\/02\/ES-VPS-hosting_in-text-banner-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-como-instalar-postgresql-en-ubuntu-preguntas-frecuentes\">C&oacute;mo instalar PostgreSQL en Ubuntu &ndash; Preguntas frecuentes<\/h2><p>En esta secci&oacute;n, responderemos a varias preguntas frecuentes sobre la instalaci&oacute;n de PostgreSQL en Ubuntu.<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-6944739c1aa46\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;D&oacute;nde est&aacute; instalado Postgres en Ubuntu?&nbsp;<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>En Ubuntu, los archivos principales del servidor PostgreSQL est&aacute;n en el directorio u003cstrongu003e\/usr\/lib\/postgresql\/u0026lt;version\/bin\/postgresu003c\/strongu003e. Todos los clusters de bases de datos se almacenan en el directorio u003cstrongu003e\/var\/lib\/postgresql\/mainu003c\/strongu003e.&nbsp;u003cbr \/u003eu003cbr \/u003eMientras tanto, la configuraci&oacute;n de PostgreSQL est&aacute; en el archivo u003cstrongu003e\/etc\/postgresql\/main\/postgresql.confu003c\/strongu003e.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-6944739c1aa48\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;C&oacute;mo s&eacute; si PostgreSQL est&aacute; instalado en Ubuntu?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>La forma m&aacute;s sencilla de comprobar si PostgreSQL est&aacute; instalado en un servidor Ubuntu es ejecutar u003cstrongu003esudo -u postgres psql u003c\/strongu003eo u003cstrongu003ewhich psqlu003c\/strongu003e. El terminal deber&iacute;a mostrar la ruta de instalaci&oacute;n si est&aacute; instalado.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-6944739c1aa49\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;Debo utilizar PostgreSQL 13 o 14?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>PostgreSQL 14 tiene un escalado de conexiones mejorado. Esto hace que PostgreSQL 14 sea m&aacute;s adecuado para grandes empresas con muchas conexiones a bases de datos. Recomendamos utilizar la versi&oacute;n m&aacute;s reciente para obtener las &uacute;ltimas funciones, mejoras y parches.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>PostgreSQL es un sistema de gesti&oacute;n popular de bases de datos relacionales (RDBMS) de c&oacute;digo abierto, conocido por su escalabilidad y eficacia en el manejo de grandes cantidades de datos. Debido a su alto rendimiento, PostgreSQL es ideal para sitios web o aplicaciones de grandes empresas. Tambi&eacute;n admite varios tipos de datos y lenguajes de [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/ar\/tutoriales\/instalar-postgresql-ubuntu\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":138,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Gu\u00eda: c\u00f3mo Instalar PostgreSQL En Ubuntu y uso de databases","rank_math_description":"Existen m\u00faltiples bases de datos relacionales que sirven como una alternativa a MySQL. Aprende c\u00f3mo instalar PostgreSQL en Ubuntu ac\u00e1.","rank_math_focus_keyword":"instalar postgresql","footnotes":""},"categories":[5700],"tags":[11293],"class_list":["post-9254","post","type-post","status-publish","format-standard","hentry","category-vps","tag-postgresql"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/instalar-postgresql-ubuntu","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/install-postgresql-ubuntu","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/que-son-hooks-wordpress-8","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/que-son-hooks-wordpress-8","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/instalar-postgresql-ubuntu","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-install-postgresql-on-ubuntu","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/posts\/9254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/users\/138"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/comments?post=9254"}],"version-history":[{"count":14,"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/posts\/9254\/revisions"}],"predecessor-version":[{"id":46802,"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/posts\/9254\/revisions\/46802"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/media?parent=9254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/categories?post=9254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wp-json\/wp\/v2\/tags?post=9254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}