psql和postgresql-client有什么区别?

时间:2019-05-25 23:50:52

标签: postgresql docker psql

我可以访问不同主机上的两个postgres数据库服务器。在服务器A上,我使用以下方式访问客户端:

psql -h localhost -U user -W db_name

db_name=>

在第二台主机B上,我使用(docker image)访问客户端:

docker run -it --rm  --network fiware_default jbergknoff/postgresql-client\
   postgresql://postgres:password@postgres-db:5432/postgres

postgres=#

现在,我需要使用以下命令转储从A(现在在B上)复制的数据库文件:

psql -U postgres -d targetdb -f sourcedb.sql

但是,命令psql无法识别为第二主机B。我的意思是我无法使用psql B来运行命令

psqlpostgres-client之间的区别是什么?

1 个答案:

答案 0 :(得分:1)

泊坞窗映像postgresql-client已将psql psql定义为入口点。参见https://github.com/jbergknoff/Dockerfile/blob/master/postgresql-client/Dockerfile#L3

因此,您基本上运行了psql,而psql无法理解。只需将 $this->load->library('leaflet'); 'setMapToForm(event.latLng.lat(),event.latLng.lng());'; $this->leaflet->add_marker($marker); 留在外面,然后直接从参数开始。

您可以在What is the difference between CMD and ENTRYPOINT in a Dockerfile?http://goinbigdata.com/docker-run-vs-cmd-vs-entrypoint/上阅读CMD与ENTRYPOINT。