Rumah >pembangunan bahagian belakang >Golang >Sambungan Docker Compose Postgres Ditolak: Mengapa pgAdmin Berfungsi Tetapi Aplikasi Go Saya Gagal?
[Docker Compose] Ralat Sambungan Postgres: Menyelesaikan "sambungan ditolak"
Masalah:
Apabila mencuba untuk mewujudkan sambungan Go ke pangkalan data Postgres yang berjalan dalam Docker Compose, ralat "sambungan ditolak" ditemui, walaupun berjaya menyambung daripada pg-admin.
Sebab:
Rentetan sambungan merujuk nama hos pangkalan data sebagai "postgres," yang sepadan dengan nama perkhidmatan dalam Docker Compose. Walau bagaimanapun, nama bekas sebenar ialah "pangkalan data."
Penyelesaian:
Untuk menyelesaikan isu, sama ada menamakan semula bekas pangkalan data dalam fail Docker Compose kepada "postgres" atau nyatakan secara jelas nama hos:
database: build: database restart: always hostname: postgres # Add this line
Tambahan Pertimbangan:
Rentetan Sambungan : Pastikan rentetan sambungan dalam kod Go (_str_) termasuk yang betul nama hos:
str := fmt.Sprintf("database://%s:%s@%s:%s/%s?sslmode=disable", user, pass, "postgres", port, dbname) # Update the hostname to "postgres"
Atas ialah kandungan terperinci Sambungan Docker Compose Postgres Ditolak: Mengapa pgAdmin Berfungsi Tetapi Aplikasi Go Saya Gagal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!