Как получить доступ к удаленным данным из БД

«Как получить доступ к удаленным данным из БД» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для работы с удаленной БД в 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)