当前位置: 首页 > news >正文

PG系列:在 ​​psql​​ 客户端中定义参数与动态赋值

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

作为一名长期使用从事Oracle数据库的人员,习惯了在sqlplus中各种动态参数赋值,但是在 PostgreSQL 的命令行客户端 psql 中,虽然有类似的变量功能,只是语法略有不同,功能也比要弱很多,下面从在日常使用 PostgreSQL 的 psql 客户端时,我们常常会在脚本中用到的传入动态参数方法,可以让 SQL 更加灵活复用。

一、变量定义方式

1.1 使用 \set 静态赋值

sql
\set name 'shared_buffers'
SELECT name, setting, unit, context
FROM pg_settings
WHERE name = :name;

:name 表示变量引用,使用时无需再加单引号。

1.2 使用 \prompt 交互式赋值

\prompt '请输入要查询的参数名: ' name
SELECT name, setting, unit, context
FROM pg_settings
WHERE name LIKE '%' || :name || '%';

\prompt 会在脚本执行时提示用户输入变量值。

1.3 通过命令行 -v 参数赋值

psql -v name="'work_mem'" -f get_param.sql

get_param.sql 示例:

SELECT name, setting, unit FROM pg_settings WHERE name = :name;

如果参数是字符串类型,请在命令行中包含引号,如:"'work_mem'"。

------------------作者介绍-----------------------
姓名:黄廷忠
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

http://www.zskr.cn/news/52478.html

相关文章:

  • 欢迎关注我的公众号和B站
  • 11/17
  • linux 下中文字体安装.ttf 格式
  • 2025 年锚具厂家 TOP 企业品牌推荐排行榜,桥梁伸缩缝 / 道路伸缩缝 / 梳齿板伸缩缝推荐这十家公司!
  • 2025-11-17
  • 论文速读 | 2025年11月
  • halt linux
  • hadoop linux 安装
  • 解决罗技M590右键必须用力才能使用的问题
  • sequence 题解
  • 20232410 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • FastAPI Test Project
  • React Scheduler(调度器)
  • 2025年11月学习机榜单:双线提分机型领衔,十大高性价比之选
  • vue2和vue3声明式和命令时的区别
  • 3D 文件类型,怎么在线查看编辑STL/AMF/OBJ/stp/fbx/ply转换
  • 022304105叶骋恺数据采集第三次作业
  • 2025 ICPC 南京区域赛 CFGIJ
  • wps office 2023专业增强版
  • 周作业 44
  • 不是插件,这款公众号排版让你的文章颜值翻倍
  • gdb 安装linux
  • g for linux
  • 二分图的判定
  • 人工智能之编程基础 Python 入门:第九章 模块与包
  • AT_jsc2019_qual_e Card Collector
  • 20232427 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • day25-langgraph进阶
  • 随机化
  • 递推组合数