在本地windows计算机中运行postgres命令时出现问题。在Linux、Mac中成功运行,但在windows中失败

在本地windows计算机中运行postgres命令时出现问题。在Linux、Mac中成功运行,但在windows中失败,linux,windows,postgresql,Linux,Windows,Postgresql,我正在本地windows计算机上安装postgres,并成功安装,但在导入转储时遇到问题。命令 psql-U user db\U name

我正在本地windows计算机上安装postgres,并成功安装,但在导入转储时遇到问题。命令

psql-U user db\U name
它不起作用。 它没有给出任何错误,但什么也没有发生。 无论何时键入
psql-U
,它都会要求登录到
-U
,因为它无法识别用户。有什么想法吗

尝试重新安装postgres

psql-U user\U name db\U name
我假设您是在git bash或类似工具下运行psql,而不是在cmd.exe或powershell下运行

第一种解决方案是在cmd或powershell下运行它。这是因为psql检测到bash没有提供的东西,并认为它是无头运行的,因此不会打印额外的内容


我所做的是设置一些shell脚本包装器,a)创建PGPASSFILE,b)检测命令行是否是交互式的(命令行上给出的
-f
-c
)。如果是交互式的,则使用
start
以cmd.exe启动一个新窗口,否则只需使用
PGPASSFILE
集在本地运行即可。
PGPASSFILE
允许我绕过密码查询(因为它现在是从磁盘自动读取的),然后我的sql文件的其余部分可以正常运行,尽管我使用
-f
而不是
,感谢所有帮助调试它的人,对此的进一步研究证明命令“psql-U user\U name db\U name希望这对将来可能面临此问题的人有所帮助。

您必须在
cmd.exe
中运行它。我是在命令提示符下运行的,作为管理员,这就是我试图引用的,声明:psql-U username dbnamepsql postgres用户名db\u destpsql postgres用户名db\u dest