go를 사용하여 postgres 데이터베이스와 통신을 시도하고 다음과 같은 명령문을 준비합니다.
var stmt *sql.Stmt
var err error
stmt, err = db.Prepare(selectStatement)
if err != nil {
fmt.Printf("db.Prepare error: %v\n",err)
return err
}
다음 오류가 발생합니다.
db.Prepare error: pq: SSL is not enabled on the server
어떤 해결책?
필요한 경우 더 많은 정보를 추가 할 수 있습니다.
답변
다음과 같이 SSL 암호화없이 DB 연결을 설정해야합니다.
db, err := sql.Open("postgres", "user=test password=test dbname=test sslmode=disable")
답변
데이터 소스 이름이 URL 인 경우 다음과 같이합니다.
db, err := sql.Open("postgres", "postgres://username:password@localhost/db_name?sslmode=disable")
sslmode
쿼리 매개 변수처럼 db url에 추가됩니다.
답변
SSL없이 연결을 설정하려면
postgres://username:password@host:5432/database?sslmode=disable
답변
주의 사항 :
를 표시 sslmode=disable
했지만 다른 매개 변수가 비어 있는 경우에도 발생합니다 . 예를 들면dbname=
예를 들어, 연결 문자열 :
user=test password=test dbname=sslmode=disable
것 또한이 오류를 발행 DBNAME 비어 있기 때문에.
답변
이것이 내가 작동하는 방법입니다.
db, err := sql.Open("postgres", "postgres://{user}:{password}@{hostname}:{port}/{database-name}?sslmode=disable")