如何将SQL转储导入到Ubuntu的Vagrant实例上运行的Postgres DB中

时间:2017-05-21 23:13:24

标签: sql windows postgresql ubuntu vagrant

我通过运行ubuntu-xenial-16.04-cloudimg框的流浪者实例使用Postgres,我有另一个开发人员的sql转储。

顺便说一下,在我连接到虚拟机上的Postgres服务器(ubuntu)之后,我尝试使用我的Win 10主机上的PGAdmin IV,但这需要永远而不是运行。

如何将其导入到在virtualbox实例上运行的Postgres?

3 个答案:

答案 0 :(得分:2)

所以给定一个sql转储文件为dump.sql

  1. 在像git bash(for windows)
  2. 这样的ssh客户端上运行vagrant ssh
  3. 将转储文件放在主机上包含vagrantfile的目录中。正如syncs默认使用来宾计算机或运行vagrant rsync一样,只是为了确保。
  4. 导航到主机上的vagrant目录(例如,cd ../../为窗口主机上的ubuntu来宾)
  5. 运行psql -h hostname -U test -d databasename -f dump.sql

答案 1 :(得分:0)

根据转储的格式(普通或自定义),您可以使用psqlpg_restore。 查看pg_dump

文档中的--format选项

答案 2 :(得分:0)

按照以下简单步骤即可解决我的问题:

  1. vagrant up之后,vagrant ssh登录操作系统
  2. 键入psql命令
  3. 然后create database your_db_name创建一个空数据库
  4. 确保转储sql文件位于包含 vagrantfile (cd vagrant)的文件夹中或其中的子文件夹
  5. 编写此命令以将转储文件导入到新创建的数据库中
    your_db_name -f /path/to/the/dump.sql

希望这些步骤对您也有帮助。