Tôi đang cố gắng kết nối với Postgres của Heroku bằng Go. Tất cả đều hoạt động tốt tại địa phương.Kết nối bị từ chối với Go + Postgres trên Heroku
Lỗi tôi nhận được trên Heroku là dial tcp 127.0.0.1:5432: connection refused
.
Tôi đã xác nhận khả năng kết nối với cơ sở dữ liệu thông qua psql trên dòng lệnh của heroku và đã xác nhận rằng cấu hình url cơ sở dữ liệu là chính xác. Mã là đủ rõ ràng, vì vậy tôi tự hỏi nếu có một vấn đề cấp thấp hơn.
Mã này là đủ đơn giản:
import (
"database/sql"
"github.com/coopernurse/gorp"
_ "github.com/lib/pq"
"os"
)
func openDb() *sql.DB {
connection := os.Getenv("DATABASE_URL")
db, err := sql.Open("postgres", connection)
if err != nil {
log.Println(err)
}
return db
}
... và đang nhập khẩu github.com/lib/pq. Phiên bản đi là 1.1.2.
Strange ... Tôi chưa bao giờ phải mớ hỗn độn với 'sslmode = require', và Tôi đã làm một cái gì đó rất giống nhau (cũng sử dụng 'lib/pq'). Ngoài ra, thực tiễn không tốt để bao gồm chi tiết kết nối DB trong mã của bạn. Heroku cho phép bạn thiết lập các biến môi trường, mà mã của bạn có thể truy cập bằng cách sử dụng 'os.Getenv()'. Chúc may mắn! :) – weberc2