[go] Go 언어에서 PostgreSQL 데이터베이스에 연동하는 방법

PostgreSQL는 많은 데이터베이스 애플리케이션에서 널리 사용되는 강력하고 신뢰할 수 있는 오픈 소스 데이터베이스 시스템입니다. Go 언어는 간결하고 효율적인 프로그래밍 언어로, PostgreSQL 데이터베이스에 연동하여 데이터를 읽고 쓸 수 있습니다. 이 포스트에서는 Go 언어로 PostgreSQL 데이터베이스에 연동하는 방법을 알아보겠습니다.

PostgreSQL 드라이버 설치

Go 언어에서 PostgreSQL 데이터베이스를 사용하기 위해서는 먼저 PostgreSQL 드라이버를 설치해야 합니다. 가장 인기 있는 드라이버 중 하나는 pq입니다. 아래 명령을 사용하여 pq 드라이버를 설치할 수 있습니다.

go get github.com/lib/pq

데이터베이스 연결

다음으로는 Go 언어를 사용하여 PostgreSQL 데이터베이스에 연결하는 방법을 알아보겠습니다. 아래는 데이터베이스에 연결하는 간단한 예제 코드입니다.

package main

import (
	"database/sql"
	"fmt"
	"log"

	_ "github.com/lib/pq"
)

func main() {
	connString := "host=localhost port=5432 user=yourusername password=yourpassword dbname=yourdbname sslmode=disable"
	db, err := sql.Open("postgres", connString)
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	err = db.Ping()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("Successfully connected to the database")
}

데이터베이스 쿼리

데이터베이스에 연결했다면, 이제 Go 언어를 사용하여 데이터베이스에서 데이터를 읽고 쓸 수 있습니다. 아래는 간단한 SELECT 쿼리를 실행하여 데이터를 가져오는 예제 코드입니다.

rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    err = rows.Scan(&id, &name)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name)
}
err = rows.Err()
if err != nil {
    log.Fatal(err)
}

위의 예제에서는 users 테이블에서 idname 열을 선택하는 간단한 쿼리를 실행하고 결과를 가져오는 방법을 보여줍니다.

이제 Go 언어에서 PostgreSQL 데이터베이스에 연결하고 데이터를 읽고 쓰는 방법에 대해 간단히 살펴보았습니다. 본격적인 애플리케이션을 개발하기 위해서는 더 많은 PostgreSQL 및 Go 언어 자습서를 참조하는 것이 좋습니다.

참고 자료