如何将SQL转储导入运行在Ubuntu Vagrant实例上的Postgres DB
我通过运行ubuntu-xenial-16.04-cloudimg-box的vagrant实例使用Postgres,我从另一个开发人员那里得到了一个sql转储 顺便说一句,在我连接到virtualbox(ubuntu)上的Postgres服务器后,我尝试从Win 10主机上使用PGAdmin IV,但这需要很长时间,而且无法运行如何将SQL转储导入运行在Ubuntu Vagrant实例上的Postgres DB,sql,windows,postgresql,ubuntu,vagrant,Sql,Windows,Postgresql,Ubuntu,Vagrant,我通过运行ubuntu-xenial-16.04-cloudimg-box的vagrant实例使用Postgres,我从另一个开发人员那里得到了一个sql转储 顺便说一句,在我连接到virtualbox(ubuntu)上的Postgres服务器后,我尝试从Win 10主机上使用PGAdmin IV,但这需要很长时间,而且无法运行 如何将其导入virtualbox实例上运行的Postgres?根据转储的格式(普通或自定义),您可以使用psql或pg\u restore。 检查文档中的--forma
如何将其导入virtualbox实例上运行的Postgres?根据转储的格式(普通或自定义),您可以使用
psql
或pg\u restore
。
检查文档中的
--format
选项,以便将sql转储文件指定为dump.sql
vagrant ssh
vagrant rsync
,以确保安全李>
cd../././
)psql-h hostname-U test-d databasename-f dump.sql
按照下面的简单步骤解决我的问题:
vagrant up
之后,vagrant ssh
登录到操作系统psql
命令创建数据库\u db\u name
来创建空数据库your_db_name-f/path/to/the/dump.sql
我希望这些步骤也能对您有所帮助。在本地或虚拟机上导入没有太大区别。只需ssh到VM(
vagrant ssh
)并运行import命令(psql databasename
)问题是数据库转储驻留在主机中,但pg数据库从无头虚拟机运行,在这种情况下,使用a在主机和guesthanks@Frédérich之间共享转储,使用vagrant ssh
和-c
标志直接运行命令,例如:vagrant ssh-c“sudo su-postgres-c'psql-d databasename-a-f dump.sql'
,并在该命令中使用sudo su-postgres-c
以postgres用户身份运行命令,当您不想调整用户角色并希望运行某些命令(如COPY^_^