pg_dump的文件输出在MacOS上的哪个位置?

时间:2018-06-12 18:18:14

标签: postgresql psql

psql中,我只是将命令pg_dump运行到自定义格式存档:

Kurts-MacBook-Pro-2:~ kurtpeek$ psql --host localhost.aptible.in --port 64186 --username aptible --dbname db
Password for user aptible: 
psql (10.4, server 10.3 (Debian 10.3-1.pgdg80+1))
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

db=# pg_dump --format=custom
db-# 

据我了解,这应该将数据库(其名称从环境变量PGDATABASE获取,并且可能是db)备份到文件中。但是,对于我来说,这个文件的位置还不清楚吗?

来自--file选项的文档(https://www.postgresql.org/docs/10/static/app-pgdump.html),

  

-f file

     

--file=file

     

将输出发送到指定的文件。对于基于文件的输出格式,可以省略此参数,在这种情况下使用标准输出。必须为目录输出格式指定它,它指定目标目录而不是文件。在这种情况下,目录由pg_dump创建,并且之前不得存在。

我认为custom格式是基于文件的格式,因此我希望标准输出格式为'要使用的。但是什么是标准输出'在这种情况下? (我检查了我的主目录,但最近没有创建它。)

1 个答案:

答案 0 :(得分:3)

事实证明,pg_dump命令将在命令行中使用,而不是在psql中使用。事实上,'标准输出'打印到终端(在我的情况下不是我想要的,因为我想使用pg_restore在本地恢复数据库。)

所以我创建了一个文件(latest.dump)并写信给它指定了连接选项,以及--format=custom--file=latest.dump

Kurts-MacBook-Pro-2:~ kurtpeek$ touch latest.dump
Kurts-MacBook-Pro-2:~ kurtpeek$ pg_dump --host=localhost.aptible.in --port=64186 --username=aptible --dbname=db --format=custom --file=latest.dump
Password: 
Kurts-MacBook-Pro-2:~ kurtpeek$