Con razón PostgreSQL presume de ser el mejor manejador de bases de datos.
Introdución a las Bases de Datos
Todo lo que aprenderás sobre PostgreSQL para ciencia de datos
Importación de los datos para el proyecto
Breve historia de las bases de datos
Puntos fuertes de las bases de datos relacionales
Conceptos importantes de las bases de datos relacionales
Principales sentencias SQL
Ciencia de Datos
¿Qué es la ciencia de datos?
Aplicación de la ciencia de datos
Equipos orientados a datos
Data science vs. Machine Learning
Particularidades de PostgreSQL
Diferencias entre otros manejadores y PostgreSQL
Conoce los superpoderes de PLPGSQL
PLPGSQL: Stored procedures
PLPGSQL: conteo, registro y triggers
PLPGSQL: Aplicado a data science
Integración con otros lenguajes
Tipos de Datos Personalizados
Casos Prácticos
Explicación de la estructura de la base de datos de ejemplo
Agregación de datos
Pensando en la presentación
Trabajando con objetos
Agregando objetos
Common table expressions
Window functions
Particiones
Platzi movies dashboard
Presentación del proyecto
Top 10
Actualizando precios
Usando rank y percent rank
Ordenando datos geográficos
Datos en el tiempo
Visualizando datos con Tableau
Siguientes pasos
¿Qué sigue?
Compartu tu proyecto de Platzi Movies Dashboard y certifícate
Lectura
Como la mayoría de las bases de datos, PostgreSQL cuenta con conectores para diferentes lenguajes de programación, de tal forma que si trabajas con Python, PHP, Java, JavaScript y todos sus frameworks, exista una forma de extraer datos de PostgreSQL y posteriormente utilizar las propiedades de los lenguajes procedurales para transformar y utilizar los datos.
...
Regístrate o inicia sesión para leer el resto del contenido.
Aportes 27
Preguntas 2
Con razón PostgreSQL presume de ser el mejor manejador de bases de datos.
Para los que, al igual que yo, tuvieron problemas al ejecutar la consulta:
CREATE EXTENSION plpythonu
Antes de instalar la extensión hay que asegurarse de tener Python y haber instalado el paquete postgresql-plpython.
En mi caso estoy trabajando con el contenedor “postgres” en Docker, mismo que no trae instalado Python. Lo que hice fue:
#Para instalar Python en su versión 3.7
apt-get install python3
#Para instalar el paquete postgresql-plpython
#En mi caso tengo aversión 13 de pgsql
#La nomenclatura debería estar en función dela versión de Python y de la versión de pgsql con la que se trabaja
apt-get install postgresql-plpython3-13
Hecho eso ya se puede ejecutar la consulta:
CREATE EXTENSION plpython3u
#Con el 3 casi al final para denotar que se trabaja con la versión 3.x de python
INSTALACIÓN EN WINDOWS DE POSTGRESQL + Python3 + plpython3u
C:\Program Files\PostgreSQL\[version]\doc\installation-notes.html
Revisar que versión de Python se usó para compilar tu versión de PostgreSQL, en mi caso es Python3…7
C:\Users\[usuario]\AppData\Local\Programs\Python\Python37
C:\Users\[usuario]\AppData\Local\Programs\Python\Python37\scripts
python37.dll
de:C:\Users\[usuario]\AppData\Local\Programs\Python\Python37
en
C:\Windows\System32
Fuente:
stackoverflow
¿Se pueden importar librerías de python dentro del bloque?, ¿Se podrían generar archivos desde el bloque de python y guardarlos en el disco?
Para los que no les vale, comparto el comentario de un compañero, debería salirles igual que a mi en el feed de comentarios pero bueno. Aquí está. Me funcionó, espero igual a ustedes. Gracias al compañero que lo compartió.
INSTALACIÓN EN WINDOWS DE POSTGRESQL + Python3 + plpython3u
Ir a
C:\Program Files\PostgreSQL[version]\doc\installation-notes.html
Revisar que versión de Python se usó para compilar tu versión de PostgreSQL, en mi caso es Python3…7
Buscar esa versión e instalarla:
Python para Windows
Registrar en el PATH las carpetas
C:\Users[usuario]\AppData\Local\Programs\Python\Python37
C:\Users[usuario]\AppData\Local\Programs\Python\Python37\scripts
Copiar el archivo python37.dll de:
C:\Users[usuario]\AppData\Local\Programs\Python\Python37
en
C:\Windows\System32
Fuente:
stackoverflow
HELP!
Logré por fin crear la extensión plppython3u, pero me desconecta de la base de dato cada vez que corro la función y no logró encontrar cómo solucionarlo.
Super, no sabía que Postgresql podia trabajar con Python
Para los que tengan Windows y hayan seguido las instrucciones de los otros compañeros, y aún así sale error, intenten la segunda opción:
CREATE EXTENSION plpythonu;
CREATE EXTENSION plpython3u;
Con la primera línea tengo el error:
ERROR: no se pudo acceder al archivo «$libdir/plpython2»: No such file or directory
SQL state: 58P01
La segunda me funcionó bien.
Hola compañeros
No puedo correr la PL/Python. Postgre se desconecta cada que quiero correr el bloque de codigo
Ya cree la extensión y no hubo ningun error.
Alguna ayuda?
![]()
archivo dockerfile
FROM postgres:13
RUN apt-get update && apt-get install -y postgresql-plpython3-13
archivo docker-compose.yml
version: '3.9'
services:
db:
build: .
container_name: postgres
restart: always
#1)Que es la imagen en docker? Bueno, en este caso, estariamos obteniendo de manera PUBLICA la IMAGEN es decir... LA APLICACION postgres!
#env_file:
# - .env
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
ports:
- 5432:5432
#5) Aca es donde conecto mi servidor con mis datos, ent este caso como es local, es decir, no conecto con un servidor en la nube, tan solo uno miData:conElServidorQueConectare En este caso ambos son 5432, ya que estoy conectando mi data a mi propio servidor local de mi pc, nignnuno de la nube
volumes:
#5) El volumes nos sirve para crear persistencia, es decir, "Todo lo que yo tenga en mi contendor, quiero almacenarlo YO en un archivo para mayor seguridad".
- /postgres-data:/var/lib/postgresql/data
#6) El ./postgres_data significa que justamtene el archivo que se creara para que se guarde la data esta en la carpeta ./postgres_data, (a su vez debe ser privadad, asi que no la subas a github) Mientras que por otro lado tenemos el /var/lib/postgresql/data, que hace esta ruta? Bueno simplemente hay que entender que esta ruta conecta con la base de datos, es decir, los datos estan guardados en esta ruta en postgresql... POR LO TANTO NOSOTROS PARA CREAR PERSISTENCIA ABSROBEMOS LA DATA DE VAR/LIB/POSTGRESQLETC Y LA LLEVAMOS A POSTGRES_DATA. SABIENDO QUE NO DEBE IR A GITHUB.
#7) Es importante saber que la ruta /var/lib/postgresql/data es de donde obtenemos la imagen. Pero esta ruta puede variar por cuestion de la empresa queu crea la db y demas, entonces la manera de siempre tener esta ruta lista para absorber la imagen es consultando la documentacion de hub.docker.com
pgadmin:
image: dpage/pgadmin4
environment:
- [email protected]
- PGADMIN_DEFAULT_PASSWORD=04145893431
ports:
- 5050:80
#Metabase para visualizaciones
dataviz:
image: metabase/metabase
container_name: metabase
restart: always
environment:
- MB_DB_TYPE=postgres
- MB_DB_DBNAME=${POSTGRES_DB}
- MB_DB_PORT=5432
- MB_DB_USER=${POSTGRES_USER}
- MB_DB_PASS=${POSTGRES_PASSWORD}
- MB_DB_HOST=db
- MB_DB_FILE=/metabase-data/metabase.db
depends_on:
- db
volumes:
- dataviz_data:/metabase-data
ports:
- 3000:3000
volumes:
postgres_data: {}
db_data:
dataviz_data:
archivo .env
# Postgres
POSTGRES_DB=my_db
POSTGRES_USER=root
#modificar la password o estos datos con los suyos
POSTGRES_PASSWORD=mypassword
Correr:
docker-compose up -d postgres
Necesito tu ayuda!, No puedo agregar ningun lenguaje me dice que no puede ser encontrado este archivo por ejemplo plpython3.dll, pero SI ESTA! no se porque no puedo instalar mi primera extencion con python
ERROR: no se pudo cargar la biblioteca «C:/Program Files/PostgreSQL/11/lib/plpython3.dll»: The specified module could not be found.
Esto es increíble el poder que puede tener combinar diferentes lenguajes dentro del motor de base de datos 😄
Sin duda esto le da un plus importante a PostgreSQL, esto su compatibilidad con servicios de AWS, lo ponen hoy como mi favorito.
Que interesante poder usar otros lenguajes en el motor de bases de datos de PostgreSQL, me encantaría ver muchas más aplicaciones de Python dentro de PostgreSQL, suena muy interesante!
Muy completo en verdad
Muy buenas integraciones, buenos datos lo cual me permite ver el gran potencial que tiene postgreSQL
PostgreSQL 16--------- Python 3.12.x from python. org
PostgreSQL 15--------- Python 3.11.x from python. org
PostgreSQL 14--------- Python 3.9.x from python. org
PostgreSQL 13--------- Python 3.8.x from python. org
PostgreSQL 12 and earlier Python 2.7 (included with macOS)
increible lo que puede hacer PosgreSQL
La informacion es buena. Pero creo que esta clase tuvo que haber sido grabada.
Si les sale este error:
ERROR: could not load library “D:/Programs Installation/PostgreSQL/14/lib/plpython3.dll”: The specified module could not be found.
Solo agreguen a variables de entorno las rutas:
C:\Program Files\Python39\Scripts
C:\Program Files\Python39
Para quienes utilicen conda u mamba , aqui posteo el link para la instalación de postgresql-plpython:
Conda/mamba.
Instalado en WSL 2
Excelente y muy potente
No tenia conocimiento de esto, es muy interesante.
Excelente clase y con los recursos ahí para consultarlos.
genial mucha información valiosa lo de estos lenguajes para potenciar Postgres!
Sin duda la funcionalidad de integrar otros lenguajes procedurales hace a este motor super funcional y robusto, por eso me entusiasma aprender mas sobre PostGreSQL
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.