PostgreSQL:如何在Windows上导出数据库?

3
我需要导出我创建的数据库以获取创建数据库和插入行的代码。我知道可以使用pg_dump方法,但是我找到的所有使用方法都似乎在Linux上。有人能告诉我如何在Windows上做这件事吗?

pg_dump 在 Windows 上的使用方式与 Linux 相同,除了文件名语法略有不同外,没有任何区别。 - user330315
@a_horse_with_no_name 这是指通过SQL Shell吗?如果是的话,一旦我通过用户名阶段,它就不允许我输入密码。编辑:我发现密码显示为空白而不是圆点符号。 - Wolff
你打开一个Windows命令行(cmd.exe),然后运行pg_dump:http://imgur.com/srGeShG - user330315
你到目前为止尝试了什么,哪些方法对你没有起作用?你是否尝试在Windows系统上复制Linux示例中的任何内容? - A. Scherbaum
如果你不习惯使用命令提示符,那么在Windows上使用PgAdmin会更加容易。 - Craig Ringer
Windows命令行似乎是在Windows上使pg_dump正常工作的最一致的方式。Windows Git Bash似乎不能与pg_dump配合使用。没有错误和输出。我猜测密码提示可能在某个地方丢失了。 - worc
1个回答

4
您需要在安装PostgreSQL的bin文件夹中执行pg_dump命令。 例如:C:\Program Files\PostgreSQL\9.4\bin
命令是pg_dump -U *用户名* -p *端口号* -d *数据库名* -W -f *文件名* 所有参数都区分大小写!(检查您的用户名!)
  • U用于指定连接到数据库的用户。如果不指定,pg_dump将使用您登录的用户名。
  • p用于指定端口。(默认为5432)
  • d用于指定数据库名称
  • W强制pg_dump要求输入密码
  • f用于指定导出文件的名称。如果不指定,转储将显示在控制台中。
例如: pg_dump -U postgres -p 5432 -d postgres -W -f c:\vm\dump.sql 您可能需要特殊权限才能将文件导出到某些文件夹。(例如:C:\program files\需要管理员权限才能写入。)

要恢复,只需执行psql -d newdb -f dump.sql命令。请参考此处的示例(链接页面底部):https://www.postgresql.org/docs/13/app-pgdump.html - theQuestionMan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接