linux docker 操作 postgres 导入sql文件

        最近楼主在给三方服务器用docker部署项目上遇到的问题,因为他们无法连接外网,只能手动用命令导入sql,说下流程和踩坑。

1、导出sql文件, 上传到服务器目录 cd 到呢个目录,将sql 粘贴到容器内

* docker cp public.sql 881cda7819fe:/ 复制sql 脚本到 容器

2、进入启动的postgres容器

* docker exec -it 881cda7819fe /bin/bash    //881cda7819fe指的容器ID

3、进入postgres 用户,必须

* su - postgres

* 输入psql

4、创建一个你需要的数据库,方便后面把sql导入到这个数据库

* 创建数据库:CREATE DATABASE "jing_zhou_shi_ming_zhi_jia" WITH OWNER = "postgres" ENCODING = 'UTF8' TABLESPACE = "pg_default";

5、接下就是一些查看

* 查看所有的数据库 \l

* 切换到数据库:\c 'jing_zhou_shi_ming_zhi_jia';

* \d 查询数据库所有表

6、最终导入

* 导入sql 脚本 psql -d jing_zhou_shi_ming_zhi_jia -U postgres -f /public.sql

注:直接执行脚本会报错找不到文件,因为找不到目录切换了用户,需要我们切换到根本路去找文件目录,找到文件目录再执行导入就乐意;

注:若不切换到 postgres,会报错 FATAL: Peer authentication failed for user "postgres"没有权限

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值