• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Postgresql psql文件执行与批处理多个sql文件操作

    新建一个批处理文件batch.sql

    \encoding UTF8;
    \cd C:/Gmind/ddl
    \set ON_ERROR_STOP 1
    \set ECHO all
    \timing on
    \i s_product.sql;
    \i s_branch.sql;
    \i s_comment.sql;
    \i s_class.sql;
    \i s_drawing.sql;
    \i s_dmemo.sql;
    \i s_form.sql;

    \encoding 设置客户端字符集编码(可选)

    \cd 切换目录。用于将psql的命令执行目录切换到当前文件所在目录

    \set ON_ERROR_STOP 设置变量ON_ERROR_STOP(可选),当脚本执行出现错误时自动终止。不设则默认继续执行

    \set ECHO all 设置变量ECHO(可选),用于将每一步的执行脚本都显示到标准输出

    \timing on 打开计时功能(可选),计算脚本每一步执行的耗时

    \i 执行脚本文件。目录在psql中都是反斜杠(/),相对路径的上级目录用(..)表示

    执行batch.sql,打开cmd窗口,执行

    psql -U postgres -d testdb -f C:\Gmind\ddl\batch.sql > C:\Gmind\batch.log

    注意:

    1、sql文件格式最好是Unix的,不然可能会出错

    2、如果提示:psql不是内部或外部命令,需要把C:\Program Files\PostgreSQL\10\bin加到环境变量里

    补充:PostgreSQL - 用psql 运行SQL文件

    对于预先写好的SQL文件,比如/home/user1/updateMyData.sql, 可以有两种方式来运行这个SQL文件。

    方式一:连接db后执行SQL文件

    首先通过psql连接到对应的db:

    psql -d db1 -U userA

    接着输入密码,进入数据库后,输入:

    \i /pathA/xxx.sql

    这里有个问题,如果你把SQL文件的路径里的路径分隔符写成了\,会报错说Permission denied。

    这里的文件路径必须使用Linux平台下的路径分隔符/,否则会报错。

    方式二:直接通过psql命令执行SQL文件

    这种方式无需先登录数据库,直接用一个命令就可以了:

    psql -d db1 -U userA -f /pathA/xxx.sql

    接着输入密码即可执行SQL文件到对应的db里。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • PostgreSQL查看正在执行的任务并强制结束的操作方法
    • 解决PostgreSQL 执行超时的情况
    • PostgreSQL 实现定时job执行(pgAgent)
    • 在postgresql中通过命令行执行sql文件
    • Postgresql的pl/pgql使用操作--将多条执行语句作为一个事务
    • 在postgresql中结束掉正在执行的SQL语句操作
    • PostgreSQL 实现sql放入文件批量执行
    上一篇:postgresql 启动与停止操作
    下一篇:Postgresql的pl/pgql使用操作--将多条执行语句作为一个事务
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Postgresql psql文件执行与批处理多个sql文件操作 Postgresql,psql,文件,执行,