Postgresql 创建数据库转储不会';我好像不工作
我已经安装了PostgresQL 9.6.2,我正在尝试使用Postgresql 创建数据库转储不会';我好像不工作,postgresql,Postgresql,我已经安装了PostgresQL 9.6.2,我正在尝试使用pg\u dump命令备份我的一个数据库(my\u database)。它似乎不起作用,因为我看不到任何输出文件。 我使用的是Mac电脑,从终端(在我的项目目录中)我使用: 正在postgres我的数据库默认用户和密码。 我已经尝试过使用sudopsqlpostgres-postgres,结果相同。 我想象我正在经历某种权限缺失,但无法理解它。 那么,如何拥有这样做的正确权限呢?Postgres附带了很多东西,包括命令行工具。这包括标准
pg\u dump
命令备份我的一个数据库(my\u database
)。它似乎不起作用,因为我看不到任何输出文件。我使用的是Mac电脑,从终端(在我的项目目录中)我使用: 正在
postgres
我的数据库默认用户和密码。
我已经尝试过使用sudopsqlpostgres-postgres
,结果相同。我想象我正在经历某种权限缺失,但无法理解它。
那么,如何拥有这样做的正确权限呢?Postgres附带了很多东西,包括命令行工具。这包括标准客户端,
psql
,以及命令pg_dump
。需要从shell命令行调用的
如果在psql
命令行中键入它,那么一旦终止该行(使用“;
”),就会出现语法错误——它既不是有效的sql,也不是对psql
的有效命令
希望有帮助 您可能正在postgres命令行中使用
pg_dump
?这是一个shell命令,不是postgres命令代码>您将看到错误。好的,我是从postgres命令行执行的。但现在我在使用密码时出错了。有没有比pg_dump my_database>my_database.bak
更好(更完整)的命令?@jmelesky好的,我想我是用:pg_dump-U postgres my_database>my_database.bak
得到的。你能回答一下吗?这样我就可以接受了(主要问题实际上是我在postgres命令行上运行命令……我想知道PostgreSQL是否应该在psql
命令行上添加对运行pg_dump
、pg_restore
、sudo
等尝试的检测?我们已经为PGDMP
添加了检测功能,以帮助那些试图运行psq的人l-f一些自定义格式的转储文件
。可能不是;期望有人像所有其他psql命令一样尝试用分号终止它,然后他们会得到一个有用的错误,这并不是不合理的。
psql postgres postgres
pg_dump my_database > my_database.bak