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.pswp.cn/bicheng/79745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79745.shtml
英文地址,請注明出處:http://en.pswp.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…