前言
生成环境中,出于安全性等原因,往往不提供数据库连接工具,所以对数据库的更新和升级就得通过命令行来实现。本文总结了三种命令行执行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脚本,如下图。
总结
以上总结的三种方式都比较常用,可以根据自己的应用场景灵活使用。