Toolverse
All skills

database-connection

by iota-uz

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

Quick info

Author
iota-uz
Category
Backend

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

  1. 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.
  2. 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.
  3. 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.
  4. Sprawdź aktywne połączenia poleceniem SELECT datname, count(*) FROM pg_stat_activity GROUP BY datname, aby zidentyfikować potencjalne problemy z wydajnością.
  5. 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.
  6. 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.

Related skills