Fedora下如何将SQL文件导入PostgreSQL?路径问题求助
解决PostgreSQL导入SQL文件失败的问题
核心问题:路径错误
你输入的路径home/camindo/Downloads/person.sql缺少根目录前缀/,Linux系统中绝对路径必须以/开头,否则会被当作相对路径从当前工作目录(postgres用户默认目录并非你的用户目录)查找,导致找不到文件。
方法1:使用正确的绝对路径执行导入
在psql会话中直接执行:
test=# \i /home/camindo/Downloads/person.sql
方法2:切换到文件所在目录后导入
方式A:直接从shell命令行导入
- 退出psql会话:
\q - 在终端切换到Downloads目录:
cd /home/camindo/Downloads
- 直接用psql命令导入:
psql -U postgres -d test -f person.sql
方式B:切换目录后进入psql再导入
- 终端切换到文件目录:
cd /home/camindo/Downloads
- 进入test数据库:
psql -U postgres -d test
- 使用相对路径导入:
test=# \i person.sql
方法3:检查并修复文件权限
如果postgres用户没有读取该文件的权限,也会导致失败,执行以下命令赋予读取权限:
chmod +r /home/camindo/Downloads/person.sql
若权限问题仍无法解决,可以临时将文件复制到postgres用户默认可访问的/tmp目录:
cp /home/camindo/Downloads/person.sql /tmp/
然后在psql中导入:
test=# \i /tmp/person.sql
内容的提问来源于stack exchange,提问作者denis kiplangat
相关产品推荐
相关产品推荐

