导入.sql文件至PostgreSQL数据库时遇psql语法错误求助
解决PostgreSQL导入.sql文件的语法错误问题
错误原因
你已经进入了psql交互式终端环境,却输入了psql这个操作系统层面的启动命令——它不是PostgreSQL的SQL语句,因此触发语法错误。
正确的两种导入方式
方式一:宿主机直接执行导入命令(无需进入psql)
- 先将本地.sql文件复制到Docker容器内(如果文件不在容器里):
docker cp /本地路径/xxx.sql <容器ID>:/容器内目标路径/xxx.sql
- 直接执行导入命令:
docker exec -it <容器ID> psql -U <用户名> <数据库名> -f "/容器内目标路径/xxx.sql"
方式二:进入psql终端后用内置命令导入
- 进入psql交互式终端:
docker exec -it <容器ID> psql -U <用户名> <数据库名>
- 在psql的提示符(类似
数据库名=#)下执行导入命令:
\i "/容器内目标路径/xxx.sql"
内容的提问来源于stack exchange,提问作者Mischa
相关产品推荐
相关产品推荐

