033.PGSQL-psql-登录时执行sql命令和sql文件,传递参数
-c 执行sql语句
-A 返回数据非对齐模式
-t 返回数据本身
-f 执行sql文件
-q 不显示输出信息
元命令设置变量
\set v_id value 设置参数
id =:v_id
psql 传参变量到sql脚本 -v
psql -h localhost -p 5432 mydb pguser -v v_id = 1 -f /var/lib/pgsql/13/test1.sql
[root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -c "select * from myschema.o_ls_test;" Password for user pguser: rid | name | timeflag -----+------+---------------------------- 1 | aa | 2021-07-03 20:12:15.004507 3 | cc | 2021-07-03 20:12:45.117668 (2 rows) [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -A -c "select * from myschema.o_ls_test;" Password for user pguser: rid|name|timeflag 1|aa|2021-07-03 20:12:15.004507 3|cc|2021-07-03 20:12:45.117668 (2 rows) [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -At -c "select * from myschema.o_ls_test;" Password for user pguser: 1|aa|2021-07-03 20:12:15.004507 3|cc|2021-07-03 20:12:45.117668 [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -At -c "select name from myschema.o_ls_test limit 1;" Password for user pguser: aa
执行sql文件
[root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -f /var/lib/pgsql/13/test.sql Password for user pguser: INSERT 0 1
传递参数
mydb=# \set v_rid 5 mydb=# select * from myschema.o_ls_test where rid =:v_rid; rid | name | timeflag -----+------+---------------------------- 5 | bb | 2021-07-03 20:47:43.066873 (1 row)
test1.sql
select * from myschema.o_ls_test where rid=:v_rid;
执行脚本传递参数
[root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -v v_rid=5 -f /var/lib/pgsql/13/test1.sql Password for user pguser: rid | name | timeflag -----+------+---------------------------- 5 | bb | 2021-07-03 20:47:43.066873 (1 row)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下