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

PG 中 .psqlrc 配置文件使用案例

文章目录

  • .psqlrc 配置文件作用
      • 1. 自动执行 SQL 命令和元命令
      • 2. 设置默认行为和样式
      • 3. 创建快捷命令和别名
      • 4. 自动加载常用设置
      • 示例 .psqlrc 文件内容:
      • 文件位置:
  • .psqlrc 配置文件路径
  • Linux 环境示例
    • 示例1
    • 示例2
  • Windows 环境示例
    • 查看用户家目录
    • 示例1
    • 示例2

.psqlrc 配置文件作用

在 PostgreSQL 中,.psqlrc 文件是一个特殊的配置文件,它在每次启动 psql 命令行客户端时自动执行。这个文件的作用主要包括以下几个方面:

1. 自动执行 SQL 命令和元命令

你可以在 .psqlrc 文件中放置任何有效的 SQL 命令或 psql 元命令,这些命令会在每次启动 psql 时自动执行。这对于设置常用的环境配置非常有用。

2. 设置默认行为和样式

常见的用途包括:

  • 设置输出格式(如对齐方式、边框样式等)
  • 定义提示符格式
  • 设置默认的搜索路径
  • 配置时区或其他会话参数

3. 创建快捷命令和别名

可以定义 \alias 或使用 \set 创建快捷方式,简化常用查询或操作。

4. 自动加载常用设置

比如设置 timing on 来显示查询执行时间

示例 .psqlrc 文件内容:

-- 设置提示符显示当前数据库和时间
\set PROMPT1 '%n@%/%R%# '-- 显示查询执行时间
\timing on-- 设置 null 值的显示方式
\pset null '[NULL]'-- 设置输出格式
\x auto-- 设置搜索路径
SET search_path TO myschema, public;-- 定义快捷查询
\set customers 'SELECT * FROM customers LIMIT 10;'

这样,每次启动 psql 时都会自动应用这些设置,提高了工作效率,也保证了在不同会话中的一致性。

文件位置:

  • Linux/Unix/MacOS: $HOME/.psqlrc
  • Windows: %APPDATA%\postgresql\psqlrc.conf%USERPROFILE%\.psqlrc

当需要在所有 psql 会话中应用某些设置时,.psqlrc 是一个非常有用的工具。

.psqlrc 配置文件路径

linux 环境 postgresql 的 psql 预配置文件为 $HOME/.psqlrc
对应在 Windows 环境中,.psqlrc 文件通常位于以下位置之一:

  1. 用户主目录下:%APPDATA%\postgresql\psqlrc.conf
  2. 通常路径是:C:\Users{用户名}\AppData\Roaming\postgresql\psqlrc.conf 或者在用户的主目录下直接创建 .psqlrc 文件:
  3. 路径类似于:C:\Users{用户名}.psqlrc 可以通过设置 PSQLRC 环境变量来指定 .psqlrc 文件的位置。

Linux 环境示例

示例1

[postgres@ums-42 ~]$ psql -d postgres
psql (PostgreSQL 15.13 (PolarDB 15.13.4.0 build 1c8d76ee) on x86_64-linux-gnu)
Type "help" for help.postgres=# select 1;?column?
----------1
(1 row)postgres=# \q
[postgres@ums-42 ~]$ export PSQLRC=/home/postgres/test/.psqlrc
[postgres@ums-42 ~]$ psql -d postgres
Timing is on.
psql (PostgreSQL 15.13 (PolarDB 15.13.4.0 build 1c8d76ee) on x86_64-linux-gnu)
Type "help" for help.postgres=# select 1;?column?
----------1
(1 row)Time: 0.536 ms
postgres=# \q
[postgres@ums-42 ~]$
[postgres@ums-42 ~]$ cat /home/postgres/test/.psqlrc
\timing on
[postgres@ums-42 ~]$

示例2

[postgres@ums-42 ~]$ unset PSQLRC
[postgres@ums-42 ~]$ echo $PSQLRC[postgres@ums-42 ~]$ mv /home/postgres/test/.psqlrc /home/postgres/
[postgres@ums-42 ~]$ echo $HOME
/home/postgres
[postgres@ums-42 ~]$ cat /home/postgres/.psqlrc
\timing on
[postgres@ums-42 ~]$
[postgres@ums-42 ~]$ psql -d postgres
Timing is on.
psql (PostgreSQL 15.13 (PolarDB 15.13.4.0 build 1c8d76ee) on x86_64-linux-gnu)
Type "help" for help.postgres=# select 1;?column?
----------1
(1 row)Time: 0.513 ms
postgres=# \q

Windows 环境示例

查看用户家目录

echo %USERPROFILE%C:\Users\l11799>echo %USERPROFILE%
C:\Users\l11799C:\Users\l11799>

示例1

C:\Windows\system32>type %APPDATA%\postgresql\psqlrc.conf
\timing on
C:\Windows\system32>
C:\Windows\system32>C:\UNVGuard\Server\public\PostgreSQL\pgsql\bin\psql -Upostgres -d postgres -h 127.0.0.1
Timing is on.
psql (15.6)
Type "help" for help.postgres=# select 1;?column?
----------1
(1 row)Time: 0.499 ms
postgres=# \qC:\Windows\system32>

示例2


C:\Windows\system32>set PSQLRC=C:\Users\uniview\AppData\Roaming\postgresql\test.confC:\Windows\system32>C:\UNVGuard\Server\public\PostgreSQL\pgsql\bin\psql -Upostgres -d postgres -h 127.0.0.1
Timing is on.
psql (15.6)
Type "help" for help.postgres=# select 1;?column?
----------1
(1 row)Time: 0.543 ms
postgres=# \q
http://www.dtcms.com/a/423656.html

相关文章:

  • Linux开发——中断
  • 【快乐数六】2022-11-21
  • redis单线程模型
  • 松江新桥网站建设东莞做网站首选企业铭
  • 【Leetcode hot 100】46.全排列
  • C++版搜索与图论算法
  • 天津做网站排名企业网站建设的价格
  • Nginx 反向代理、负载均衡与 Keepalived 高可用
  • nginx upstream的作用
  • BeaverTails数据集:大模型安全对齐的关键资源与实战应用
  • 归并排序、计数排序以及各种排序稳定性总结
  • 【数据结构+算法】迭代深度搜索(IDS)及其时间复杂度和空间复杂度
  • OpenSpeedy下载 - 全平台网盘提速加速工具|官网入口
  • 关于在博客页面添加live2d-widget的一些心得和踩过的坑
  • 2025年,今后需要进步的方面
  • 有哪些做平面设计好素材网站自学it怎么入门
  • Android16 adb投屏工具Scrcpy介绍
  • 酵母展示技术如何重塑酶工程?从定向进化到工业催化的突破
  • 广汉做网站立白内部网站
  • 【FPGA+DSP系列】——(3)中断学习(以定时器中断为例)
  • 重庆网上注册公司网站配置 wordpress
  • ECMAScript 2025 有哪些新特性?
  • CSP-S 提高组 2025 初赛试题解析(第三部分:完善程序题(二)(39-43))
  • 前端实战:基于React Hooks与Ant Design V5的多级菜单系统
  • 单片机OTA升级:高效无线更新的秘密
  • 社区平安建设基层网站重庆企业网站建设官网
  • 嵌入式学习笔记4.STM32中断系统及外部中断EXTI
  • 手机网站模板大全上海市公共招聘网官网
  • Python爬虫实战:获取国家天文数据中心公开的观测信息与数据分析
  • 中核西北建设集团网站苏州手机社区网站建设