首先安装并启动postgresql服务,macOS用Homebrew、ubuntu用apt、windows从官网安装;接着创建数据库myapp_dev;然后初始化go项目并引入pgx驱动;编写代码连接数据库并执行版本查询;最后运行程序验证连接成功。

要在golang中搭建本地PostgreSQL环境,关键在于先在本地运行PostgreSQL服务,再通过Go代码连接和操作数据库。整个过程不复杂,只要一步步配置好即可。
安装并启动本地PostgreSQL
在开始写Go代码前,必须确保PostgreSQL已在本机运行。
macOS用户:推荐使用Homebrew安装
打开终端执行:
brew install postgresql<br>brew services start postgresql
Ubuntu用户:使用apt包管理器
运行以下命令:
立即学习“go语言免费学习笔记(深入)”;
sudo apt update<br>sudo apt install postgresql postgresql-contrib<br>sudo service postgresql start
Windows用户:从官网下载安装包
访问 postgresql.org/download 下载并安装,安装过程中会提示设置密码,记得保存好。
安装完成后,使用psql创建开发用数据库:
createdb myapp_dev
或进入交互式终端:
psql -d myapp_dev
初始化Go项目并引入PostgreSQL驱动
新建项目目录并初始化模块:
mkdir go-postgres-demo<br>cd go-postgres-demo<br>go mod init go-postgres-demo
Go本身不内置PostgreSQL支持,需引入第三方驱动,常用的是lib/pq或jackc/pgx。这里以更高效且功能丰富的pgx为例:
go get github.com/jackc/pgx/v5
编写Go代码连接并查询PostgreSQL
创建一个main.go文件,写入以下内容:
package main import ( "context" "fmt" "log" "github.com/jackc/pgx/v5" ) func main() { conn, err := pgx.Connect(context.Background(), "postgres://postgres:yourpassword@localhost/myapp_dev") if err != nil { log.Fatal("无法连接数据库:", err) } defer conn.Close(context.Background()) var version string err = conn.QueryRow(context.Background(), "SELECT version()").Scan(&version) if err != nil { log.Fatal("查询失败:", err) } fmt.Println("PostgreSQL版本:", version) }
注意:连接字符串中的yourpassword要替换成你实际设置的PostgreSQL密码。若使用默认配置,可能无需密码,可尝试postgres://localhost/myapp_dev。
运行程序:
go run main.go
如果看到PostgreSQL的版本信息输出,说明连接成功。
常见问题与建议
遇到连接拒绝?检查以下几点:
- PostgreSQL服务是否已启动(可用
brew services list或systemctl status postgresql确认) - 端口是否正确,默认是5432
- 数据库用户是否存在,权限是否正确
- 连接字符串格式是否完整
建议开发时使用配置文件或环境变量管理数据库连接信息,避免硬编码。
基本上就这些。本地环境跑通后,就可以继续建表、插入数据、写CURD逻辑了。


