Postgresql下regclass的意義

2021-08-14 04:37:02 字數 1011 閱讀 4257

首先要理解: regclass是oid的別名,postgresql自動的為每乙個系統表都建立了乙個oid,其中有乙個系統表叫做:pg_class,這個表裡記錄了資料表、索引(仍然需要參閱pg_index)、序列、檢視、復合型別和一些特殊關係型別的元資料。注意:不是所有欄位對所有物件型別都有意義。官方的解釋如下: 

來看乙個例子: 

select * from pg_attribute where attrelid = 『mytable』::regclass; 

而不用 

select * from pg_attribute 

where attrelid = (select oid from pg_class where relname = 『mytable』); 

可以看出:其實, 這個「』mytable』::regclass」的作用就是等同於:select oid from pg_class where relname=』mytable』; 返回的是乙個oid,所以叫做oid的別名。

再看乙個例子: 

rancs=> select oid,relname,reltuples from pg_class where oid=』test_1』::regclass; 

oid | relname | reltuples 

結果: 

——-+———+———– 

16416 | test_1 | 6 

備註: 『test_1』::regclass 這裡將表名轉換成表的 oid 

4.相同用法的其他幾個oid別名: 

regproc,regprocedure,regoper, regoperator,regclass,和 regtype。下表顯示了概要。

詳細內容參考官方文件: 

Windows下實現PostgreSQL自動備份

本文介紹怎樣建立乙個windows批處理檔案來自動備份postgresql資料庫。背景 在我工作上乙個使用postgresql資料庫的專案上需要乙個自動化系統來每天執行備份。經過一番研究決定通過建立乙個windows批處理檔案並新增到windows計畫任務中來實現。下面是具體步驟 怎樣配置 第一步 ...

Windows下PostgreSQL匯出 導

windows下postgresql匯出 匯入csv檔案 吳俊採 2b的程式猿之路。看到群裡有人問這個問題,自己沒做過,總覺得在psql下用命令來匯入匯出很費勁而且會有編碼的若干問題,自己之前做也是用kettle來實現。不過畢竟沒做過,也試試看,到底是個什麼情況。1.參考資料 1 postgresq...

深度下配置postgresql

一 安裝並配置,並設定遠端登陸的使用者名稱和密碼 1 安裝postgresql sudo apt get update sudo apt get install postgresql 9.4 2 修改postgres資料庫使用者的密碼為123456 開啟客戶端工具 psql sudo u postg...