相关推荐recommended
PostgreSQL数据库命令行执行SQL脚本的三种方式
作者:mmseoamin日期:2024-02-20

文章目录

  • 前言
  • 一、psql命令执行
  • 二、\i命令执行
  • 三、\e命令执行
  • 总结

    前言

    生成环境中,出于安全性等原因,往往不提供数据库连接工具,所以对数据库的更新和升级就得通过命令行来实现。本文总结了三种命令行执行sql脚本的方式。

    一、psql命令执行

    命令格式:

    psql [option…] [dbname] [username]

    常用参数介绍:

    -h:指定IP地址或主机名。

    -p:指定端口,默认为5432。

    -U:指定数据库的用户名。

    -d:指定数据库名称。

    -f:指定文件。从文件读取命令。

    # 示例(ct.sql为sql脚本文件)
    psql -d postgres -f /pgsql/postgresql/ct.sql
    

    使用以上命令确保ct.sql文件放置在postgres账号有权限的目录,否则会报“Permission denied”错误。

    PostgreSQL数据库命令行执行SQL脚本的三种方式,在这里插入图片描述,第1张

    如果你的sql脚本很短,那么也可以使用下面的方式。

    # 将sql语句放置在单引号中
    psql -d postgres -c 'select version();'
    

    PostgreSQL数据库命令行执行SQL脚本的三种方式,在这里插入图片描述,第2张

    二、\i命令执行

    # 示例
    \i /pgsql/postgresql/ct.sql
    

    使用以上命令需要先psql进入数据库,并且确保ct.sql文件放置在postgres账号有权限的目录,否则会报“Permission denied”错误。

    PostgreSQL数据库命令行执行SQL脚本的三种方式,在这里插入图片描述,第3张

    三、\e命令执行

    \e
    

    使用\e命令按回车后会出现vi编辑器,将sql脚本复制到编辑其中,保存退出后就会自动执行脚本。

    输入\e按回车后

    PostgreSQL数据库命令行执行SQL脚本的三种方式,第4张

    保存退出后自动执行sql脚本,如下图。

    PostgreSQL数据库命令行执行SQL脚本的三种方式,在这里插入图片描述,第5张

    总结

    以上总结的三种方式都比较常用,可以根据自己的应用场景灵活使用。