🧠 ¿Qué es una base de datos?
Una base de datos es un
contenedor organizado donde se almacena información estructurada para poder ser
consultada, modificada y gestionada de manera eficiente.
En PostgreSQL, una base de datos:
- Es
una unidad lógica independiente
- Contiene tablas,
vistas, funciones, índices, esquemas, etc.
- Puede
tener sus propios usuarios y permisos
👉 Piensa en PostgreSQL como un
servidor, y dentro de él puedes tener múltiples bases de datos, cada una con su
propio contenido.
📦 ¿Cuántas bases de datos puedo
tener?
En PostgreSQL puedes tener:
- ✅ Múltiples
bases de datos dentro de un mismo servidor
- ✅
No hay un límite fijo “práctico”, depende de:
- Recursos
del sistema (memoria, CPU, disco)
- Configuración
del servidor
Ejemplo:
- ventas_db
- clientes_db
- inventario_db
- test_db
💡 En entornos reales, es común
separar bases de datos por:
- Aplicación
- Ambiente
(dev, test, prod)
🏷️ Reglas y buenas prácticas
para nombrar bases de datos
PostgreSQL es bastante flexible, pero
hay recomendaciones importantes:
✅ Permitido
- Letras
(a-z, A-Z)
- Números
(0-9)
- Guion
bajo (_)
⚠️ Consideraciones
- No
deben empezar con números (aunque técnicamente puede requerir comillas)
- Evita
espacios (requieren comillas y complican el uso)
- Evita
caracteres especiales (@, #, -, etc.)
✅ Buenas prácticas
- Usar
minúsculas
- Separar
palabras con _
- Usar
nombres descriptivos
✔️ Ejemplos correctos:
mi_base_datos
blog_app
ventas_2026
❌ Ejemplos a evitar:
"Mi Base" -- requiere comillas siempre
123db -- poco claro
base-datos -- puede causar problemas
🛠️ Crear una base de datos en
PostgreSQL
Hay varias formas de hacerlo. Aquí te
muestro las más comunes.
🔹 Opción 1: Usando SQL (CREATE
DATABASE)
Este es el método más directo.
CREATE DATABASE nombre_base_datos;
✅ Ejemplo:
CREATE DATABASE blog_postgres;
🔹 Opción 2: Con parámetros
adicionales
Puedes personalizar la base de datos:
CREATE DATABASE
blog_postgres
WITH
OWNER = postgres
ENCODING =
'UTF8'
LC_COLLATE =
'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
TEMPLATE = template0;
🔎 Explicación rápida:
- OWNER:
dueño de la base de datos
- ENCODING:
codificación (UTF8 es lo recomendado)
- LC_COLLATE / LC_CTYPE:
reglas de ordenamiento y clasificación
- TEMPLATE:
base utilizada como plantilla
🔹 Opción 3: Desde la consola
(psql)
Primero accedes a PostgreSQL:
psql -U postgres
Luego ejecutas:
CREATE DATABASE mi_app;
🔹 Opción 4: Usando comando CLI
(createdb)
PostgreSQL incluye utilidades de línea
de comandos:
createdb mi_base_datos
✅ Ejemplo:
createdb inventario_db
🔍 Ver bases de datos existentes
Dentro de psql, puedes listar todas
las bases:
\l
o:
SELECT datname
FROM pg_database;
🔄 Conectarse a una base de datos
Una vez creada, puedes conectarte así:
\c nombre_base_datos
✅ Ejemplo:
\c blog_postgres
🗑️ Eliminar una base de datos
Si necesitas borrarla:
DROP DATABASE nombre_base_datos;
⚠️ Ejemplo:
DROP DATABASE blog_postgres;
🚨 Importante:
- No
puedes eliminar una base de datos si estás conectado a ella
- Esta
acción es irreversible
🧩 Conceptos importantes
relacionados
🔹 Base template1
Cada base nueva se crea a partir de una
plantilla (template).
- template1:
plantilla por defecto
- template0:
plantilla “limpia” usada para configuraciones especiales
🔹 Base postgres
Es la base creada por defecto para
administración. No suele usarse para aplicaciones.
💡 Buenas prácticas adicionales
- Usa
nombres consistentes en todos tus ambientes:
- app_dev
- app_test
- app_prod
- Evita
meter múltiples aplicaciones en una sola base (mejor separar)
- Define
ownership desde el inicio (usuarios correctos)
✅ Conclusión
Crear una base de datos en PostgreSQL es
sencillo, pero entender su estructura y buenas prácticas desde el inicio te
ayudará a construir sistemas más organizados, escalables y mantenibles.