PostgreSQL 的 pg_stat_file 函数

PostgreSQL 的 pg_stat_file 函数

pg_stat_file 是 PostgreSQL 提供的一个系统管理函数,用于获取文件系统上文件的元数据信息。这个函数对于数据库管理员进行文件级别的监控和诊断非常有用。

一 函数基本语法

pg_stat_file(filename text [, missing_ok boolean ]) 
RETURNS record

参数说明

  • filename:要检查的文件路径(相对于 PostgreSQL 数据目录)
  • missing_ok:可选参数,设置为 true 时如果文件不存在不会报错(默认为 false)

返回字段

函数返回包含以下字段的记录:

  • size:文件大小(字节)
  • access:最后访问时间(timestamp with time zone)
  • modification:最后修改时间(timestamp with time zone)
  • change:最后状态变更时间(timestamp with time zone)
  • creation:创建时间(timestamp with time zone,仅在Windows平台上可用)
  • isdir:是否为目录(boolean)

二 使用示例

2.1 基本用法

SELECT * FROM pg_stat_file('postgresql.conf');

输出示例:

white=# SELECT * FROM pg_stat_file('postgresql.conf');size  |         access         |      modification      |         change         | creation | isdir 
-------+------------------------+------------------------+------------------------+----------+-------30105 | 2025-05-03 18:23:16-07 | 2025-04-27 02:22:21-07 | 2025-04-27 02:22:21-07 |          | f
(1 row)

2.2 查看特定字段

SELECT size, modification AS last_modified,pg_size_pretty(size) AS size_pretty
FROM pg_stat_file('postgresql.conf');

输出示例:

white=# SELECT 
white-#     size, 
white-#     modification AS last_modified,
white-#     pg_size_pretty(size) AS size_pretty
white-# FROM pg_stat_file('postgresql.conf');size  |     last_modified      | size_pretty 
-------+------------------------+-------------30105 | 2025-04-27 02:22:21-07 | 29 kB
(1 row)

2.3 检查目录信息

SELECT * FROM pg_stat_file('base') WHERE isdir;

输出示例:

white=# SELECT * FROM pg_stat_file('base') WHERE isdir;size |         access         |      modification      |         change         | creation | isdir 
------+------------------------+------------------------+------------------------+----------+-------102 | 2025-05-03 18:23:16-07 | 2024-08-19 20:27:11-07 | 2024-08-19 20:27:11-07 |          | t
(1 row)

2. 4 安全使用(避免文件不存在的错误)

SELECT * FROM pg_stat_file('nonexistent_file', true);

输出示例:

white=# SELECT * FROM pg_stat_file('nonexistent_file', true);size | access | modification | change | creation | isdir 
------+--------+--------------+--------+----------+-------|        |              |        |          | 
(1 row)

三 权限要求

  • 需要超级用户权限或具有 pg_read_server_files 角色的用户
  • 只能访问数据库集群目录下的文件(不能访问任意系统文件)

四 注意事项

  1. 路径限制

    • 路径必须是相对于 PostgreSQL 数据目录的
    • 不能包含 .. 或绝对路径(安全限制)
  2. 平台差异

    • creation 时间在 Linux 上通常不可用(返回 NULL)
    • 在 Windows 上可以获取创建时间
  3. 性能影响

    • 频繁调用可能影响性能
    • 不适合在高频查询中使用
  4. 替代方案

    • 对于数据库对象,优先使用 pg_stat_* 系统视图
    • 对于日志文件,考虑使用 pg_read_file 函数

更详细的内容请查看官方文档:<9.27.9. Generic File Access Functions>

https://www.postgresql.org/docs/16/functions-admin.html

谨记:心存敬畏,行有所止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/79745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于麒麟服务器实现docker-compose服务开机自启

我本地服务器环境是麒麟V10版本&#xff1a; 首先确定docker-compose服务绝对路径命令&#xff1a; which docker-compose我这里输出是&#xff1a;/usr/bin/docker-compose 编辑服务文件&#xff1a; sudo vim /etc/systemd/system/docker-compose-webup.service[Unit] Desc…

基于 jQuery 实现复选框全选与选中项查询功能

在 Web 开发中&#xff0c;复选框是常见的交互元素&#xff0c;尤其是在涉及批量操作、数据筛选等场景时&#xff0c;全选功能和选中项查询功能显得尤为重要。本文将介绍如何使用 HTML、CSS 和 jQuery 实现一个具备全选、反选以及选中项查询功能的复选框组&#xff0c;帮助开发…

AfuseKt2.4.2 | 支持阿里云盘、Alist等平台视频播放,具备自动海报墙刮削功能的强大播放器

AfuseKt是一款功能强大的安卓端在线视频播放器&#xff0c;支持播放阿里云盘、Alist、WebDAV等平台的视频内容。它具备自动海报墙刮削功能&#xff0c;能自动生成影片信息和海报墙&#xff0c;提供良好的视觉体验。此外&#xff0c;它还支持倍速播放、字幕、音轨切换等多种实用…

Netlink在SONiC中的应用

Netlink在SONiC中的应用 Netlink介绍 Netlink 是 Linux 内核态程序与用户空间程序之间进行通信的机制之一&#xff0c;原本是用于传递网络协议栈中的各种控制消息。它采用和套接字&#xff08;socket&#xff09;编程接口相同的形式&#xff0c;常用于配置内核网络子系统&…

语音合成之十一 提升TTS语音合成效果:低质量数据清洗、增强与数据扩增

低质量数据清洗、增强与数据扩增 1. 引言&#xff1a;TTS的基石——数据质量2. 基础&#xff1a;TTS数据准备工作流2.1 规划&#xff1a;定义蓝图2.2 执行&#xff1a;从原始数据到训练就绪格式2.3 最佳实践与可复现性 3. 攻克缺陷&#xff1a;低质量语音数据的清洗与增强3.2 手…

Java IO流分类与记忆方法

Java IO流分类与记忆方法 在Java IO流体系中,理解节点流和包装流的区别是掌握IO编程的关键。 一、核心分类标准 1. 节点流(Node Stream) 直接对接数据源:直接连接物理IO设备(文件、网络、内存等)基础功能:提供最基础的读写能力命名特征:通常包含数据源类型名称(如Fi…

架构师如何构建个人IP:职业规划与业务战略的双重提升

在数字化时代&#xff0c;软件架构师的角色已从单纯的技术专家转变为兼具技术领导力和业务影响力的复合型人才。如何构建个人IP&#xff0c;提升行业影响力&#xff0c;成为架构师职业发展的关键课题。本文从个人认知、业务战略、架构决策、产品思维四个维度&#xff0c;探讨架…

vscode运行python的快捷键

以下是一些在 VS Code 中运行 Python 代码的常用快捷键&#xff1a; 运行 Python 文件 Windows/Linux &#xff1a;Ctrl F5。此快捷键会直接运行当前打开的 Python 文件&#xff0c;不会自动进入调试模式。若之前有配置过终端&#xff0c;一般会使用配置好的终端来运行&…

使用OpenCV 和 Dlib 实现疲劳检测

文章目录 引言1.相关技术介绍2. 系统原理2.1 眼睛纵横比(EAR)算法2.2 系统工作流程 3.代码解析3.1 关键函数说明3.2 主循环逻辑 4.实际应用效果5.参数调优建议6.总结 引言 疲劳驾驶是交通事故的主要原因之一。本文将介绍如何使用Python和计算机视觉技术构建一个实时疲劳驾驶检…

VBA实现后入先出(LIFO)库存统计

先入先出&#xff08;FIFO&#xff09;比较容易理解&#xff0c;买入早的优先卖出。与之对应的是后人先出&#xff08;LIFO&#xff09;&#xff0c;就是优先卖出最近买入的&#xff0c;例如&#xff1a;第8行卖出2K&#xff0c;当天还没有买入记录&#xff0c;只能找前一天的买…

Python中的客户端和服务端交互的基本内容

目录 网络协议 网络的通信方式 需要安装的组件和需要导入的包模块 安装的组件 导入包模块 如何创建客户端 如何创建服务端 网络协议 IPV4&#xff1a;是互联网协议的第四版&#xff0c;也是目前广泛使用的网络协议。它使用32位地址格式&#xff0c;理论上可以提供约43亿…

【硬核攻坚】告别CUDA OOM!DeepSeek部署显存瓶颈终极解决方案:三大策略高效落地

目录 引言:大模型落地的“甜蜜”与“烦恼”DeepSeek剖析:为何它如此“吃”显存?CUDA OOM的“幽灵”:现象、根因与诊断破局之道:三大策略驯服显存“猛兽” 策略一:模型量化 - 给模型“瘦身”的艺术策略二:动态优化 - 榨干硬件潜能策略三:分布式扩展 - 集群的力量实战演练…

JavaSE核心知识点01基础语法01-01(关键字、标识符、变量)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 JavaSE核心知识点01基础语法01-01&#xff0…

【最新Python包管理工具UV的介绍和安装】

介绍 uv是一个非常快的 Python 包安装程序和 pip 解析器&#xff0c;用 Rust 编写&#xff0c;设计为pip-tools的直接替代品。 以下是官网给出的UV与其他包管理工具解决依赖&#xff08;左&#xff09;和安装包&#xff08;右&#xff09;的对比图。 可以看出UV是一个极快的 P…

麒麟、UOS系统在线打开word文件并提取修订痕迹

麒麟、UOS系统在线打开word文件并提取修订痕迹 查看本示例演示效果&#xff08;Windows版&#xff09; 查看本示例演示效果&#xff08;国产版&#xff09;本示例关键代码的编写位置&#xff0c;请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码 注意 本文中…

【SpringAI+阿里云百炼】AI对话4个Demo

基于SpringAI和阿里云百炼平台&#xff0c;实现了四个AI对话的小Demo 小团团对话机器人哄哄模拟器培训班智能客服仿ChatPDF 笔记如下:语雀知识笔记《SpringAI》

【数据结构】单链表的增删查改

本文是小编巩固自身而作&#xff0c;如有错误&#xff0c;欢迎指出&#xff01; 1.链表的概念 概念&#xff1a;链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的 指针链接次序实现的。 和之前的顺序表不同&#xff0c;顺序一般…

LeetCode 1128.等价多米诺骨牌对的数量:计数

【LetMeFly】1128.等价多米诺骨牌对的数量&#xff1a;计数 力扣题目链接&#xff1a;https://leetcode.cn/problems/number-of-equivalent-domino-pairs/ 给你一组多米诺骨牌 dominoes 。 形式上&#xff0c;dominoes[i] [a, b] 与 dominoes[j] [c, d] 等价 当且仅当 (a …

以太坊智能合约开发框架:Hardhat v2 核心功能从入门到基础教程

一、设置项目 Hardhat 项目是安装了 hardhat 包并包含 hardhat.config.js 文件的 Node.js 项目。 操作步骤&#xff1a; ①初始化 npm npm init -y②安装 Hardhat npm install --save-dev hardhat③创建 Hardhat 项目 npx hardhat init如果选择 Create an empty hardhat.…

安卓基础(无障碍点击)

无障碍点击核心代码 // 自定义无障碍服务类&#xff0c;继承自Android系统的AccessibilityService public class MyAccessibilityService extends AccessibilityService {// 当系统产生无障碍事件时的回调方法&#xff08;如界面变化、焦点切换等&#xff09;Overridepublic v…