在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选项的文档(--file)中,
-f file--file=file将输出发送到指定的文件。对于基于文件的输出格式,可以省略此参数,在这种情况下,将使用标准输出。但是,必须为目录输出格式指定它指定的目标目录,而不是文件。在这种情况下,目录是由pg_dump创建的,以前不能存在。
我认为custom格式是一种基于文件的格式,所以我希望使用“标准输出”。但是,在这种情况下,“标准输出”是什么?(我检查了我的主目录,但最近没有在其中创建任何内容)。
发布于 2018-06-12 18:34:44
结果表明,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$https://stackoverflow.com/questions/50823425
复制相似问题