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

要在Golang中搭建本地PostgreSQL环境,关键在于先在本地运行PostgreSQL服务,再通过Go代码连接和操作数据库。整个过程不复杂,只要一步步配置好即可。
安装并启动本地PostgreSQL
在开始写Go代码前,必须确保PostgreSQL已在本机运行。
macOS用户:推荐使用Homebrew安装
打开终端执行:
brew install postgresql
brew services start postgresql
Ubuntu用户:使用apt包管理器
运行以下命令:
立即学习“go语言免费学习笔记(深入)”;
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo service postgresql start
Windows用户:从官网下载安装包
访问 postgresql.org/download 下载并安装,安装过程中会提示设置密码,记得保存好。
安装完成后,使用psql创建开发用数据库:
createdb myapp_dev
或进入交互式终端:
psql -d myapp_dev
初始化Go项目并引入PostgreSQL驱动
新建项目目录并初始化模块:
mkdir go-postgres-demo
cd go-postgres-demo
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 mainimport ( "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逻辑了。
以上就是如何在Golang中搭建本地PostgreSQL环境的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1416098.html
微信扫一扫
支付宝扫一扫