D
database-connection
Connect to local or staging PostgreSQL database. Use when you need to inspect tables, run queries, check migration status, or debug database issues.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Connect to local or staging PostgreSQL database. Use when you need to inspect tables, run queries, check migration status, or debug database issues.
How to use
- Przygotuj dane dostępu do bazy. Dla połączenia lokalnego wyodrębnij zmienne z pliku .env poleceniem grep '^DB_' .env, a następnie skonstruuj adres URL PostgreSQL w formacie postgresql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}. Dla bazy testowej pobierz publiczny URL z Railway poleceniem railway variables -e staging -s db --kv i filtruj wynik grep DATABASE_PUBLIC_URL.
- Nawiąż połączenie z bazą. Dla środowiska lokalnego użyj PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d iota_erp. Dla stagingu użyj psql z wyodrębnionym URL-em z Railway.
- Po połączeniu uruchom jedno z gotowych zapytań diagnostycznych. Aby sprawdzić rozmiary tabel, użyj zapytania SELECT schemaname, tablename, pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) FROM pg_tables WHERE schemaname NOT IN ('pg_catalog', 'information_schema') ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC LIMIT 10.
- Sprawdź aktywne połączenia poleceniem SELECT datname, count(*) FROM pg_stat_activity GROUP BY datname, aby zidentyfikować potencjalne problemy z wydajnością.
- Weryfikuj status migracji bazy danych zapytaniem SELECT version, applied_at FROM schema_migrations ORDER BY applied_at DESC LIMIT 5, aby upewnić się, że wszystkie zmiany schematu zostały zastosowane.
- Dla projektów wielodostępowych sprawdź statystyki najemców i użytkowników poleceniami SELECT COUNT(*) as tenant_count FROM tenants WHERE deleted_at IS NULL oraz SELECT t.name, COUNT(u.id) as user_count FROM tenants t LEFT JOIN users u ON u.tenant_id = t.id AND u.deleted_at IS NULL WHERE t.deleted_at IS NULL GROUP BY t.id, t.name.