Marcos Vázquez González
Sergio Brandon De Lucio Chavero
Santiago Ahumada Lozano
Marcos Vázquez González
Sergio Brandon De Lucio Chavero
Santiago Ahumada Lozano
Luis Alejandro Arellano Camacho
Rafael Fierro
Mariangel Araviches
JOSE A. LOPEZ REDONDO
camilo Rincon
Joao Diego Chávez Rivera
Gaspar Barbera Pirani
Gaspar Barbera Pirani
Ioannes Schroeder
Ruben Herrera
Gabriel Londoño
Amin Espinoza
Johanna Barragan
Jhon Alexander Infante Betancour
oscar Ivan Toro Gonzalez
Amin Espinoza
Kevin Coronado
Luis Alejandro Arellano Camacho
oscar Ivan Toro Gonzalez
oscar Ivan Toro Gonzalez
oscar Ivan Toro Gonzalez
YENERIX AVADY LOPEZ RODRIGUEZ
Santiago Ahumada Lozano
Cristian Silverio Nuñez Mata
Xavier Armando Larios Alvarenga
Alexis Jares
Para instalar PostgreSQL con Docker, puedes seguir estos pasos:
Descargar la imagen de PostgreSQL:
docker pull postgres
Ejecutar un contenedor de PostgreSQL:
docker run --name postgres-container -e POSTGRES_PASSWORD=tu_password -d -p 5432:5432 postgres
Aquí, tu_password debe ser reemplazado por la contraseña que desees utilizar.
Verificar que el contenedor esté corriendo:
docker ps
Con estos pasos, tendrás PostgreSQL funcionando en un contenedor Docker. Si necesitas más detalles o personalizaciones, consulta la documentación oficial de Docker y PostgreSQL.
cómo amo Docker <3
Muchas gracias!
Brindando un aporte, traigo algunos detalles que quizas puedan ser utiles
Si hacemos docker ps -a o docker ps --all podemos ver todos los contenedores, con docker rm tu_id_container; borramos un contenedor
La instalación de PostgreSQL en Windows es bastante sencilla. Aquí te dejo los pasos:
Descarga el instalador: Ve a la página oficial de PostgreSQL y descarga el instalador adecuado para tu sistema.
Ejecuta el instalador: Haz doble clic en el archivo descargado para iniciar la instalación.
Sigue las instrucciones: Al iniciar, el asistente te guiará a través del proceso. Selecciona los componentes que deseas instalar, como PostgreSQL y las herramientas adicionales.
Configura la instalación: Especifica la contraseña del usuario "postgres" (el usuario administrador) y selecciona el puerto (generalmente, el 5432).
Finaliza la instalación: Completa el proceso y asegúrate de que el servicio de PostgreSQL esté activo.
Después de esto, podrás usar PostgreSQL a través de la línea de comandos o herramientas gráficas como pgAdmin.
Se puede finalizar todo el curso amigablemente desde Windows?
Para quienes les dió error haciendo el ejercicio: sudo nano /etc/postgresql/16/main/pg_hba.conf
Al momento de escribir psql --host 172.26.116.225 --username postgres --password --dbname template1 a mi me funcionó sin el hostssl y colocando /32 como sufijo de red, ejemplo:
en vez de:
hostssl template1 postgres 172.26.116.225 scram-sha-256
colocar:
host template1 postgres 172.26.116.225/32 scram-sha-256
luego reinician con:
sudo service postgresql@16-main restart
y acá verificamos que esté corriendo sin errores:
sudo service postgresql@16-main status
Gracias por tu aporte, me sirvió
Para instalar PostgreSQL en MacOS, puedes usar Homebrew, un gestor de paquetes popular. Abre la Terminal y ejecuta el siguiente comando:
brew install postgresql
Una vez instalado, inicia el servicio con:
brew services start postgresql
Esto configurará PostgreSQL para que se inicie automáticamente al encender tu Mac. Después de esto, puedes verificar la instalación con:
psql --version
Esto te dará la versión instalada de PostgreSQL.
Instalar PostgreSQL con Docker es súper práctico: con solo un par de comandos ya tienes una instancia corriendo, sin complicarte.
Pero ojo, aunque Docker facilita mucho el proceso, siempre es valioso saber instalarlo de forma tradicional (como en Windows, Linux o con gestores de paquetes), porque te da un mejor entendimiento del sistema y en mi opinion te prepara para resolver problemas en producción.
Hola buenas, tengo una duda, en la parte de la configuración del archivo pg_hba.conf, el profe pone otra direccion ip en el apartado de address que la que estaba en el ifconfig, despues cuando avanza a la parte para configurar el cliente pone la direccion ip real de ifconfig, funciona asi? o tengo que poner la ip que muestra el profe en el archivo pg_hba.conf? Porque puse mi direccion ip en el archivo y cuando quiero configurar la parte de cliente que me pide usuario, ip, contraseña y carpeta, me aparece esto: psql: error: connection to server at "(mi ip)", port 5432 failed: FATAL: no pg_hba.conf entry for host "(mi ip)", user "postgres", database "tempĺate1", SSL encryption
connection to server at "(mi ip)", port 5432 failed: FATAL: no pg_hba.conf entry for host "(mi ip)", user "postgres", database "tempĺate1", no encryption
ya lo solucioné, creando un nuevo usuario y otra base de datos :)
En mi experiencia, diría que pongas la IP que te da 'ifconfig', adelante de inet. Tuve un error similar y consulté varios sitios y videos.
Mi error decía: "psql: error: connection to server at "nnn.nn.nnn.nnn", port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?"
Para tener mas clara la causa si tu error persiste, el comando 'journalctl -xe | tail -n 50' me ayudó mucho también.
La línea hostssl template1 postgres 172.25.163.150/24 scram-sha-256 permite el acceso SSL al usuario postgres desde la dirección IP 172.25.163.150 con encriptación scram-sha-256. La notación /24 implica que cualquier IP en el rango 172.25.163.0 a 172.25.163.255 puede acceder, lo que permite flexibilidad en conexiones desde subredes.
Usar /32 restringe el acceso a una única dirección IP, lo que aumenta la seguridad, ya que limita el acceso solo a esa IP específica. Si el entorno de producción requiere conexión desde varias direcciones en la misma subred, /24 es más adecuado; sin embargo, para mayor seguridad, usar /32 es preferible si solo una IP necesita acceso.
si ya tengo instalado postgresql con éxito en mi pc (tanto sql shell como pgadmin) gracias al curso anterior, es necesario hacer todos estos pasos para instalarlo?
no realmente, si ya está funcionando síguete derecho.
Para el mantenimiento y optimización de PostgreSQL, puedes utilizar varios comandos útiles:
Vacío y análisis:
VACUUM: Limpia la base de datos, eliminando espacios vacíos y optimizando el rendimiento.ANALYZE: Actualiza las estadísticas de la base de datos para mejorar la planificación de consultas.Reindexación:
REINDEX: Vuelve a crear índices para mejorar el rendimiento de las consultas.Configuración del servidor: Ajusta parámetros en postgresql.conf, como max_connections, shared_buffers, y work_mem para optimizar el uso de recursos.
Monitorización: Usa pg_stat_activity y pg_stat_database para verificar el estado de las conexiones y el rendimiento.
Realizar estas acciones regularmente ayuda a mantener un rendimiento óptimo en tu servidor de bases de datos.
Para resolver el error "connection to server at '172.29.59.135', port 5432 failed: Connection refused", verifica lo siguiente:
sudo service postgresql status para verificarlo.postgresql.conf: Revisa que la línea listen_addresses esté configurada correctamente (puedes usar * para aceptar conexiones desde cualquier dirección).pg_hba.conf: Asegúrate de que la IP de tu cliente esté permitida en este archivo para la autenticación.Reinicia el servicio tras realizar cambios.
Todo lo que hago con MySQL lo puedo hacer con postgres?
En lo gran general, si, son bases de datos orientadas a propósitos diferentes pero si, la transición debería ser muy simple.
Sí
Para instalar PostgreSQL en Windows desde la terminal, sigue estos pasos:
Descarga el instalador: Ve al sitio oficial de PostgreSQL y descarga el instalador de Windows.
Ejecuta el instalador: Abre la terminal de Windows (CMD o PowerShell) con privilegios de administrador.
Navega a la carpeta de descarga: Usa el comando cd para moverte a la carpeta donde descargaste el archivo.
Ejecuta el instalador: Escribe el nombre del archivo del instalador seguido de parámetros si es necesario (por ejemplo, /silent para una instalación silenciosa).
Sigue las instrucciones: Completa la instalación siguiendo las indicaciones que se presenten.
Recuerda que, aunque la instalación desde la terminal puede ser limitada, el asistente gráfico es más común en Windows.
Puedes realizar la instalación y configuración de PostgreSQL utilizando Git Bash, pero ten en cuenta que algunas instrucciones pueden variar de las que se dan para terminales de Linux, debido a las diferencias en los sistemas operativos. La clave que debes usar es la que tú estableciste para el usuario de PostgreSQL durante la configuración. Si seguiste el ejemplo del transcript, sería la que hayas definido en el comando ALTER USER, como "platzi rules".
Sí, muchas de las operaciones que realizas en MySQL se pueden hacer en PostgreSQL. Ambos son sistemas de gestión de bases de datos relacionales, pero hay diferencias en características, rendimiento y compatibilidad. PostgreSQL ofrece soporte avanzado para tipos de datos, índices, y transacciones. Además, tiene un enfoque fuerte en la conformidad con estándares SQL. Sin embargo, algunas consultas y funciones específicas pueden requerir ajustes. Explorar PostgreSQL te permitirá aprovechar sus características únicas que pueden mejorar tus aplicaciones.
PostgreSQL y MySQL son ambos sistemas de gestión de bases de datos relacionales, pero tienen diferencias clave. PostgreSQL es conocido por su robustez, soporte para tipos de datos avanzados y una mejor conformidad con estándares SQL, mientras que MySQL es popular por su facilidad de uso y rendimiento en aplicaciones web. Ambos sistemas son efectivos, pero la elección depende de las necesidades específicas del proyecto.
ya lo intente en dos computadoras distintas, y las dos me dicen en el ultimo paso error de servidor, mas especificamente "name postgres --password --dbname template1
Password:
psql: error: connection to server at "172.24.15.255", port 5432 failed: Network is unreachable
Is the server running on that host and accepting TCP/IP connections?"
ya llevo dos dias con lo mismo, quizas me puedan ayudar, gracias
Una pregunta! Estoy intentando conectarme a mi DB postgresql desde psycopg. Pero no me funciona la conexión
A modo de parentesis, la instancia de PG esta corriendo en una imagen de docker, pero parece psycopg, o bien que no encuentra la direccion ip en donde corre mi imagen, o bien no reconoce la contraseña
from dotenv import load_dotenv import os import psycopg2 from psycopg2 import extras load_dotenv() hostname = "127.0.0.1" database = "postgres" username = "postgres" pwd = os.environ.get("POSTGRES_USER_PASSWORD") port_id = 5432 # Connect conn = psycopg2.connect( host=hostname, port=port_id, dbname=database, user=username, password=pwd )
Y el error: sycopg2.OperationalError: connection to server at "127.0.0.1", port 5432 failed: FATAL: password authentication failed for user "postgres"
connection to server at "127.0.0.1", port 5432 failed: FATAL: password authentication failed for user "postgres"
Lo cual para mi es super confuso porque (1) La contraseña que guardé en .env es la que funciona cuando PGAdmin4 me pide user password y (2) En efecto la instancia postgres esta corriendo en 127.0.0.1:5432
sudo lsof -i -P -n ---------- postgres 324 postgres 6u IPv4 7593 0t0 TCP 127.0.0.1:5432 (LISTEN)
Agradezco cualquier ayuda!
Por si a alguien le pasa lo siguiente: Tengo WSL con Ubuntu 24.01.1 LTS
Cuando ejecuté el comando:
sudo -u postgres psql template1
Me mostró el siguiente error:
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
El problema está en que el servicio no está corriendo. Para iniciarlo, solo hay que escribir:
sudo service postgresql start
¡Y listo!
El archivo pg_hba.conf es fundamental en la configuración de PostgreSQL, ya que determina cómo los clientes pueden conectarse a la base de datos. Este archivo especifica las reglas de autenticación, permitiendo definir qué direcciones IP (hosts) pueden acceder a la base de datos, así como los métodos de autenticación permitidos (como contraseña, certificado, etc.). La configuración correcta en este archivo es crucial para asegurar que solo usuarios autorizados puedan acceder a la base de datos.
Para quien no encuentre la carpeta de <u>postgresql</u> en MAC, en el caso de instalarlo con <u>brew</u>, esta en <u>usr/local/var</u>**** debido a que brew instala paquetes de esta forma para mantenerlo aislado y que no tenga acceso a los directorios principales del sistema operativo.