在测试Citus关于安全配置的时候,没太多注意官方文档的说明,当时自己也认为通过.pgpass 可以解决worker 账户密码的问题的
但是测试的时候没太多注意权限的问题,发现测试没通,所以就认为不行,今天仔细查看了官方文档,发现是可以的
.pgpass配置说明
hostname:port:database:username:password
权限问题
.pgpass 有比较严格的权限配置说明,需要正确的权限才可以起效
需要的权限
chmod 0600
chown -R postgres:postgres
一个配置参考
- docker-compose 文件
version: "3"
services:
pg-citus-master:
container_name: pg-citus-master
image: dalongrong/pgspider:citus-9.1
volumes:
- "./csvfiles:/opt/csv"
- "./sql:/docker-entrypoint-initdb.d/"
- "./.pgpass:/var/lib/postgresql/.pgpass"
ports:
- "5432:5432"
environment:
- "POSTGRES_PASSWORD=dalong"
pg-citus-worker:
container_name: pg-citus-worker
image: dalongrong/pgspider:citus-9.1
volumes:
- "./csvfiles:/opt/csv"
- "./sql:/docker-entrypoint-initdb.d/"
- "./.pgpass:/var/lib/postgresql/.pgpass"
environment:
- "POSTGRES_PASSWORD=dalong"
ports:
- "5433:5432"
pg-citus-worker2:
container_name: pg-citus-worker2
image: dalongrong/pgspider:citus-9.1
volumes:
- "./csvfiles:/opt/csv"
- "./sql:/docker-entrypoint-initdb.d/"
- "./.pgpass:/var/lib/postgresql/.pgpass"
environment:
- "POSTGRES_PASSWORD=dalong"
ports:
- "5434:5432"
说明
后边解决问题还是多看文档,多测试,仔细认真
参考资料
http://docs.citusdata.com/en/v9.2/admin_guide/cluster_management.html
https://www.postgresql.org/docs/current/libpq-pgpass.html