package database import ( "context" "log" "os" "github.com/jackc/pgx/v5/pgxpool" ) // Connect устанавливает соединение с базой данных PostgreSQL, используя пул соединений pgx. func Connect() *pgxpool.Pool { connStr := os.Getenv("DATABASE_URL") if connStr == "" { log.Fatal("DATABASE_URL environment variable is not set") } // Создаем пул соединений pool, err := pgxpool.New(context.Background(), connStr) if err != nil { log.Fatalf("Unable to create connection pool: %v\n", err) } // Проверяем, что соединение действительно установлено if err = pool.Ping(context.Background()); err != nil { log.Fatalf("Unable to ping database: %v\n", err) } log.Println("Successfully connected to PostgreSQL using pgxpool!") return pool }