You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为常用PostgreSQL查询创建别名,可在任意数据库便捷执行?

在psql中为常用查询创建全局可执行别名

你可以通过配置psql的客户端初始化文件.psqlrc,给这个查询创建一个全局别名,这样不管连接哪个PostgreSQL数据库,都能直接调用执行。具体步骤如下:

  1. 编辑或创建.psqlrc文件
    打开用户主目录下的.psqlrc文件(如果不存在就新建一个),可以用文本编辑器或终端命令操作,比如:

    vim ~/.psqlrc
    
  2. 添加自定义查询别名
    在文件中加入以下内容,把目标查询定义为一个psql变量(这里用tablesize作为别名,你可以改成自己喜欢的名称):

    \set tablesize $$select n, pg_size_pretty(s) from (
      select n, pg_total_relation_size(n) s from (
        select format('%I.%I', table_schema, table_name) n from information_schema.tables
      )
    )
    order by s desc;$$
    

    这里用$$作为查询内容的包裹符,避免了单引号转义的麻烦,写法更简洁。

  3. 生效并使用别名

    • 保存.psqlrc后,下次启动psql时配置会自动加载。如果想在当前已打开的psql会话中立即生效,执行:
      \i ~/.psqlrc
      
    • 之后不管连接哪个数据库,只要输入:tablesize就能执行你预设的查询了。

额外说明

  • 这个配置是客户端级别的,只针对当前操作系统用户生效,不需要在每个数据库中单独创建对象。
  • 别名名称只要符合psql的变量命名规则(不含特殊字符),都可以自定义,比如改成更短的ts,方便快速输入。

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 09:24:53