Supermarket Database
About
A dockerized PostgreSQL database project for a supermarket data schema, with MCP integration for Claude Desktop.
Details
- Author
- juanmartin19l
- Categories
- Database, Other
- Tags
- #postgres, #sql, #grocery
Jump to
Configurar Conexión Al Servidor Postgresql
- Clic derecho en "Servers" → "Register" → "Server..."
Configurar pestaña "General":
- Name:Supermercado DB(o cualquier nombre descriptivo)
Configurar pestaña "Connection":
- Host name/address:postgres(nombre del servicio en Docker)
- Port:5432
- Username:admin
- Password:admin
- Marcar "Save password" (recomendado)
- Clic en "Save"
Una vez configurado correctamente, deberías ver:
- El servidor "Supermercado DB" en el panel izquierdo
- La base de datosadmin_dbexpandible
- Posibilidad de explorar esquemas y tablas
- Expandirel servidor conectado
- ExpandirDatabases→admin_db
- Clic derechoenadmin_db→ "Query Tool"
- ¡Listo para ejecutar comandos SQL!
- Verificar que ambos contenedores estén ejecutándose:docker-compose ps
- Comprobar que el puerto 8080 no esté ocupado
- Revisar logs:docker-compose logs pgadmin
Si no puedes conectarte al servidor PostgreSQL desde pgAdmin:
- Usarpostgrescomo host (nolocalhostni127.0.0.1)
- Verificar que las credenciales sean exactamente:admin/admin
- Revisar logs de PostgreSQL:docker-compose logs postgres
Sistema de Base de Datos - Supermercado 🛒
Un proyecto de base de datos PostgreSQL completamente dockerizada que implementa el esquema de datos de un supermercado con capacidades de integración MCP para Claude Desktop.
- Descripción del Proyecto
- Prerrequisitos
- Estructura del Proyecto
- Instalación y Configuración
- Conexión a pgAdmin
- Restauración de la Base de Datos
- Integración con Claude Desktop (MCP)
- Solución de Problemas
Este proyecto proporciona una solución completa para el manejo de datos de un supermercado utilizando PostgreSQL en contenedores Docker. Incluye:
- Base de datos PostgreSQL: Esquema completo del supermercado
- Backup de datos: Archivo de respaldo con estructura y datos de prueba
- Integración MCP: Configuración para uso con Claude Desktop
- Docker Compose: Configuración de infraestructura automatizada
Antes de comenzar, asegúrate de tener instalado:
- Dockerv20.10 o superior
- Docker Composev2.0 o superior
- pgAdmin(para restauración del backup)
- Claude Desktop(opcional, para integración MCP)
DB_SUPERMARKET/ ├── docker-compose.yml # Configuración de Docker Compose ├── supermarket.backup # Backup de la base de datos └── README.md # Documentación del proyecto
- Usuario: admin
- Contraseña: admin
- Base de datos: admin_db
- Email:admin@admin.com
- Contraseña: admin
- URL:http://localhost:8080
2. Verificar que los Contenedores estén Ejecutándose
Deberías ver dos contenedores corriendo:
- postgres_db(PostgreSQL)
- pgadmin_web(pgAdmin)
pgAdmin se incluye como parte del stack de Docker y se ejecuta automáticamente. No necesitas instalarlo por separado.
-
Abrir navegadory ir a:http://localhost:8080
- Email:admin@admin.com
- Contraseña:admin
Configurar Conexión al Servidor PostgreSQL
- Clic derecho en "Servers" → "Register" → "Server..."
Configurar pestaña "General":
- Name:Supermercado DB(o cualquier nombre descriptivo)
Configurar pestaña "Connection":
- Host name/address:postgres(nombre del servicio en Docker)
- Port:5432
- Username:admin
- Password:admin
- Marcar "Save password" (recomendado)
- Clic en "Save"
Una vez configurado correctamente, deberías ver:
- El servidor "Supermercado DB" en el panel izquierdo
- La base de datosadmin_dbexpandible
- Posibilidad de explorar esquemas y tablas
- Expandirel servidor conectado
- ExpandirDatabases→admin_db
- Clic derechoenadmin_db→ "Query Tool"
- ¡Listo para ejecutar comandos SQL!
- Verificar que ambos contenedores estén ejecutándose:docker-compose ps
- Comprobar que el puerto 8080 no esté ocupado
- Revisar logs:docker-compose logs pgadmin
Si no puedes conectarte al servidor PostgreSQL desde pgAdmin:
- Usarpostgrescomo host (nolocalhostni127.0.0.1)
- Verificar que las credenciales sean exactamente:admin/admin
- Revisar logs de PostgreSQL:docker-compose logs postgres
Paso 1: Crear el Rol PostgreSQL (CRÍTICO)
⚠️IMPORTANTE: Antes de restaurar el backup, ejecuta este comando SQL:
- pgAdmin → Query Tool
- Cliente de línea de comandos SQL
- Cualquier cliente PostgreSQL (DBeaver, DataGrip, etc.)
- Abrir pgAdminy conectarse al servidor PostgreSQL
- Clic derechoen la base de datos de destino
- Seleccionar"Restore..."
- Configurar la restauración:
- Format: Custom or tar
- Filename: Seleccionarsupermarket.backup
- Options: Marcar las opciones necesarias
Ejecuta una consulta de prueba para confirmar que los datos se restauraron correctamente:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
La integración con Model Context Protocol (MCP) permite que Claude Desktop interactúe directamente con la base de datos para análisis y consultas inteligentes.
1. Verificar que la Base de Datos esté Activa
Edita el archivo de configuración de Claude Desktop en tu sistema:
📍 Ubicaciones del archivo de configuración:
- Windows:%APPDATA%\Claude\claude_desktop_config.json
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "postgres": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-postgres", "postgresql://admin:admin@localhost:5432/admin_db" ] } } }
Cierra completamente Claude Desktop y ábrelo nuevamente para que la configuración tome efecto.
Una vez configurado correctamente, Claude Desktop podrá:
- 🔍Analizar el esquemade la base de datos automáticamente
- 📊Ejecutar consultas SQLen tiempo real
- 💡Generar insightssobre los datos del supermercado
- 🔗Responder preguntassobre estructura y contenido de las tablas
- La URL de conexión debe coincidir exactamente con tu configuración dedocker-compose.yml
- Si modificas las credenciales de la base de datos, actualiza también la configuración MCP
- El servidor MCP se descarga automáticamente en la primera ejecución
- Asegúrate de que no hay conflictos de puertos (5432 debe estar libre)
SELECT * FROM pg_roles WHERE rolname = 'postgres';
docker-compose exec postgres psql -U admin -d admin_db -c "\l"
Claude Desktop no detecta la base de datos:
- Verificar que el archivo de configuración esté en la ubicación correcta
- Validar la sintaxis JSON del archivo de configuración
- Comprobar que la base de datos esté accesible desde localhost:5432
- Reiniciar completamente Claude Desktop
- Verificar que las credenciales en la URL coincidan con docker-compose.yml
- Comprobar que no hay firewall bloqueando el puerto 5432
- Intentar la conexión manual con psql o pgAdmin
Desarrollado con ❤️ para el curso de Base de Datos
Multi-database agent access (PostgreSQL, SQLite, MySQL, Oracle, SQL Server) with batch queries, pre-configured connections, and SQLGlot-enforced read-only safety
A read-only MCP server for querying AWS PostgreSQL databases.
A read-only MCP server for AlloyDB, enabling LLMs to query live data directly from AlloyDB databases.
A read-only MCP server by CData that enables LLMs to query live data from EnterpriseDB databases.
A server for direct interaction with CockroachDB databases.
Database MCP server for MySQL, MariaDB, PostgreSQL & SQLite
A single-binary MCP server for MySQL, MariaDB, PostgreSQL, and SQLite
A Model Context Protocol (MCP) server that provides multi-database query execution capabilities with support for SQLite, PostgreSQL, and MySQL databases. Includes a built-in Web UI for managing database connections.
Update various databases (PostgreSQL, MySQL, MongoDB, SQLite) using data from CSV and Excel files.
Expert-level PostgreSQL database analysis MCP server for AI assistants.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





