Ответ
Для работы с удаленной БД в Go используем драйверы (database/sql пакет + специфичный драйвер для СУБД). Пример для PostgreSQL:
import (
"database/sql"
_ "github.com/lib/pq"
)
func main() {
connStr := "user=postgres dbname=mydb password=secret host=db.example.com port=5432 sslmode=disable"
db, err := sql.Open("postgres", connStr)
if err != nil {
panic(err)
}
defer db.Close()
// Проверка соединения
err = db.Ping()
if err != nil {
panic(err)
}
// Выполнение запроса
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
panic(err)
}
defer rows.Close()
}
Ключевые моменты:
- Используйте
sql.Open()для установки соединения - Всегда проверяйте ошибки
- Закрывайте соединение (
defer db.Close()) - Для разных СУБД нужны разные драйверы (MySQL, PostgreSQL, SQLite и т.д.)
- Рекомендуется использовать пул соединений (реализован в
database/sql)