Windows 中的 Postgres - 恢复数据库 - 致命:-1 只能在非交互模式下使用

问题描述

我是 Postgres 的新手,我正在尝试从 Windows 中的数据库转储文件加载/恢复 Postgres 数据库。当我尝试这样做时,我收到以下错误。作为 Postgres 的新手,我不确定错误意味着什么。

命令

C:\Users\myuser>psql --single-transaction newdatabasename --file="C:\path\to\database-dump-file.sql"

错误

psql: fatal: -1 can only be used in non-interactive mode

我在 windows 命令 shell 中输入了命令,其中 Postgres BIN 目录的路径包含在 PATH 中。这个错误指的是什么?我是否需要在 sql Shell (psql) 中才能执行此命令? Google 搜索似乎表明它可能与使用密码进行身份验证有关。

解决方法

在 Windows 上,一旦遇到第一个非选项参数,选项解析库就会停止解析参数。这意味着文件参数没有被看到,所以它认为你处于交互模式。

您需要将 newdatabasename 放在命令行的末尾,而不是中间。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...