文章目录

  • 前言
  • 一、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”错误。

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

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

二、\i命令执行

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

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

三、\e命令执行

\e

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

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

总结

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