D
database-connection
Połącz się z bazą PostgreSQL i debuguj strukturę danych, migracje oraz aktywne połączenia
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność do szybkiego połączenia się z lokalną lub testową bazą danych PostgreSQL. Pozwala ci inspektować tabele, uruchamiać zapytania SQL, sprawdzać status migracji oraz diagnozować problemy z bazą. Zawiera gotowe zapytania pomocnicze do sprawdzenia rozmiaru tabel, liczby aktywnych połączeń, historii migracji i statystyk najemców. Idealna dla deweloperów pracujących z IOTA SDK lub innymi projektami opartymi na PostgreSQL.
Jak używać
- 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.