我有一个连接到PostgreSQL数据库的Go程序:
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",
host, port, user, password, dbname)
db, err := sql.Open("postgres", psqlInfo)
如果在这样的终端中正常运行它,我就可以构建它并很好地工作:
/./my_program
我也有系统服务:
[Unit]
Description=My program
[Service]
ExecStart=/./my_program
[Install]
WantedBy=multi-user.target
如果我尝试使用此服务,则会得到:
dial tcp [::1]:5432: connect: permission denied
我不知道为什么在终端上正常运行此程序不会导致问题,但是将其作为系统服务运行会导致问题。