在本地Windows机器上运行postgres命令时出现问题。在Linux,Mac上成功运行,但在Windows中失败

时间:2019-01-09 16:47:09

标签: linux windows postgresql

我正在本地Windows机器上设置postgres并成功安装,但遇到导入转储的问题。命令

psql -U user db_name < sql_plus_dump.psql

不起作用。 它没有给出任何错误,但是什么也没有发生。 每当键入psql -U时,它都会要求登录-U,因为它不能识别用户。有什么想法吗?

尝试重新安装postgres

psql -U user_name db_name < sql_plus_dump.psql

2 个答案:

答案 0 :(得分:0)

我假设您正在git bash或类似的东西下运行psql,而不是在cmd.exe或powershell下运行。

第一个解决方案是在cmd或powershell下运行它。这是因为psql检测到bash无法提供的某些功能,并认为它没有头,因此不会打印出多余的内容。

我所做的是设置了一些shell脚本包装,这些包装包括:a)创建PGPASSFILE,b)检测命令行是否是交互式的(在命令中给出的-f-c)线)。如果是交互式的,请使用start通过cmd.exe启动一个新窗口,否则只需在本地设置PGPASSFILE即可运行它。 PGPASSFILE允许我绕过密码查询(因为它现在已从磁盘自动读取),然后我的其余sql文件运行正常,尽管我使用了-f而不是{{1} }。

设置起来有点麻烦,但是考虑到我比pgadmin更喜欢命令行,这对我来说是值得的。

答案 1 :(得分:0)

感谢所有帮助调试此问题的人,对此的进一步研究证明,命令“ psql -U user_name db_name