我正在嘗試使用 Docker Compose 安裝 TimeScaleDB,但在使用 timescaledb-parallel-copy 匯入資料時出現以下錯誤:
/usr/local/bin/docker-entrypoint.sh:運行 /docker-entrypoint-initdb.d/import_data.sh timescaledb | 恐慌:無法連接:撥打 tcp 172.18.0.2:5432:連接:連接被拒絕 timescaledb | 時標資料庫 | goroutine 6 [運行]: timescaledb | main.processBatches(0xc000016730, 0xc000060780) timescaledb | /go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:238 0x8bb timescaledb | 創建者 main.main timescaledb | /go/src/github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy/main.go:148 0x1d2 timescaledb | 恐慌:無法連接:撥打 tcp 172.18.0.2:5432:連接:連接被拒絕
這是我的 docker compose 和我的 docker 檔案:
碼頭工人組成:
version: "3.8"
services:
timescaledb:
container_name: timescaledb
build:
context: "./timescaledb"
dockerfile: "docker_file"
env_file:
- "./timescaledb/environment.env"
volumes:
- "./timescaledb/data:/data"
ports:
- "5432:5432/tcp"
networks:
- local_network
restart: on-failure
networks:
local_network:
碼頭工人檔案:
FROM timescale/timescaledb:latest-pg13
ADD create_tables.sql /docker-entrypoint-initdb.d
ADD import_data.sh /docker-entrypoint-initdb.d
RUN chmod a r /docker-entrypoint-initdb.d/*
這是呼叫 timescaledb-parallel-copy 的 import_data.sh 腳本:
#!/bin/bash
timescaledb-parallel-copy --connection "host=timescaledb user=postgres password=XXX sslmode=disable" --db-name YYY --table ZZZ --copy-options "CSV" -skip-header --columns "name, unit" --file "/data/data.csv" --reporting-period 30s workers 4
我也嘗試使用 localhost,但我得到了同樣的錯誤。
uj5u.com熱心網友回復:
編輯:問題解決了。不應在連接字串中指定主機。根據官方檔案(https://hub.docker.com/_/postgres):
此外,從 docker-library/postgres#440 開始,為這些初始化腳本啟動的臨時守護程式僅在 Unix 套接字上偵聽,因此任何 psql 使用都應洗掉主機名部分(例如,請參見 docker-library/postgres#474(注釋) )。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/409658.html
標籤:
