BlogIntroducción a PostgreSQL
Introducción a PostgreSQL
Qué es PostgreSQL y diferencias con MySQL.
Documento 1 de 1 3 secciones
1 PostgreSQL vs MySQL
3
Cumplimiento más estricto del estándar SQL y soporte de transacciones ACID más robusto.
1
PostgreSQL soporta tipos de datos avanzados: JSONB, arrays, hstore, tipos geométricos.
2
Mejor manejo de consultas complejas y grandes volúmenes de datos con sus optimizaciones de query planner.
PostgreSQL es un sistema de bases de datos objeto-relacional de código abierto, conocido por su robustez, cumplimiento estricto de los estándares SQL y soporte para tipos de datos avanzados como JSON, arrays, tipos geométricos y rangos.
4
MySQL es generalmente más rápido para operaciones de lectura simples y más fácil de configurar para principiantes.
2 Tipos de Datos Especiales
sql
-- Tipos exclusivos de PostgreSQL
CREATE TABLE usuarios (
id SERIAL PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
email VARCHAR(200) UNIQUE,
metadata JSONB, -- JSON con índices
etiquetas TEXT[], -- array de texto
ubicacion POINT, -- tipo geométrico
activo BOOLEAN DEFAULT TRUE,
creado_en TIMESTAMPTZ DEFAULT NOW() -- con zona horaria
);
-- Consultar JSONB
SELECT nombre, metadata->>'ciudad' AS ciudad
FROM usuarios
WHERE metadata @> '{"premium": true}';
-- Consultar array
SELECT * FROM usuarios WHERE 'javascript' = ANY(etiquetas);3 Consultas Avanzadas
sql
-- Window Functions
SELECT
titulo,
nivel,
COUNT(*) OVER (PARTITION BY nivel) AS cursos_por_nivel,
ROW_NUMBER() OVER (ORDER BY titulo) AS num_fila
FROM cursos;
-- CTE (Common Table Expression)
WITH cursos_activos AS (
SELECT * FROM cursos WHERE activo = TRUE
)
SELECT nivel, COUNT(*) FROM cursos_activos GROUP BY nivel;
-- UPSERT (INSERT o UPDATE)
INSERT INTO usuarios (email, nombre)
VALUES ('ana@mail.com', 'Ana García')
ON CONFLICT (email)
DO UPDATE SET nombre = EXCLUDED.nombre;Comentarios
Sé el primero en comentar.
Deja tu comentario
Volver al blog deybidev.com
