PostgreSQL之psql传参和亮点功能

1.psql如何传递变量到SQL


  如何通过pgsql工具将变量传递到SQL中
  select * from table_name where col_name = 变量;
  
有两种方式可以传递变量
1.1 \ set 元命令传递变量
    \set 元子命令可以设置变量,格式如下,name 表示变量名称,value 表示变量值,如果不填写value,则变量为空
    \set name 

mytest=# \set v_id 2
mytest=# select * from pg_copy where id =:v_id;
 id | name 
----+------
  2 | b
(1 row)

使用场景:一般在pgbench进行压力测试时使用\set 元命令为变量赋值

1.2 psql的-v 参数传递变量
创建select_1.sql查询脚本
[root@dongjj-2004 pgsql]# touch select_1.sql
[root@dongjj-2004 pgsql]# chown postgres:postgres /file/pgsql/select_1.sql
[root@dongjj-2004 pgsql]# vi select_1.sql
[root@dongjj-2004 pgsql]# cat select_1.sql 
select * from pg_copy where id =:v_id;
[root@dongjj-2004 pgsql]# 

执行sql查询脚本文件
psql -v v_id=1 mytest -f /file/pgsql/select_1.sql

[post

你可能感兴趣的:(PostgreSQL,数据库,postgresql,sql)