在bash命令中导出名为english
的数据库:
pg_dump --no-owner --dbname=postgresql://postgres:password@localhost/english > /tmp/database.sql
字符串
现在我进入psql并删除数据库english
:
psql -U postgres
drop database english;
型
并退出。
现在我想导入不存在的数据库english
。
psql -U postgres -d english < /tmp/database.sql
#it can't work,error
psql: error: FATAL: database "english" does not exist
型
先创建english
数据库,然后导入整个数据库即可:
psql -U postgres
create database english;
press ctrl+d to exit
#execute in bash shell command
psql -U postgres -d english < /tmp/database.sql
型
如何导入bash shell中还不存在的数据库?
1条答案
按热度按时间55ooxyrt1#
如果你像你一样使用普通格式转储,你必须用
--create
选项创建转储,这样它就包含了一个CREATE DATABASE
语句:字符串
要恢复这样的转储,请连接到数据库
postgres
:型
如果您使用的是自定义格式转储(我推荐),那么在恢复转储时可以指定
--create
。