婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解PostgreSql數據庫對象信息及應用

詳解PostgreSql數據庫對象信息及應用

熱門標簽:海豐有多少商家沒有地圖標注 外呼調研系統 地圖標注和圖片名稱的區別 漯河外呼電話系統 美容工作室地圖標注 打電話智能電銷機器人授權 辦公外呼電話系統 合肥公司外呼系統運營商 重慶自動外呼系統定制

PostgreSql數據庫對象主要有數據庫、表、視圖、索引、schema、函數、觸發器等。PostgreSql提供了information_schema schema,其中包括返回數據庫對象的視圖。如用戶有訪問權限,可以也在pg_catalog schema中查詢表、視圖等對象。

1. 查詢數據庫對象

下面通過示例分別展示如何查詢各種數據庫對象。

1.1 表查詢

PostgreSql 表信息可以從information_schema.tables 或 pg_catalog.pg_tables 視圖中查詢:

select * from information_schema.tables;
select * from pg_catalog.pg_tables;

1.2 查詢Schema

獲取用戶當前選擇的schema:

select current_schema();

返回數據庫中所有schema:

select * from information_schema.schemata;
select * from pg_catalog.pg_namespace

1.3 查詢數據庫

查詢當前選擇的數據庫:

select current_database();

返回服務器上所有數據庫:

select * from pg_catalog.pg_database

1.4 查詢視圖

查詢數據庫中所有schema中的所有視圖:

select * from information_schema.views

select * from pg_catalog.pg_views;

1.5 查詢表的列信息

查詢某個表的列信息:

SELECT
	*
FROM
	information_schema.columns
WHERE
	table_name = 'employee'
ORDER BY
	ordinal_position;

1.6 查詢索引信息

查詢數據庫中所有索引信息;

select * from pg_catalog.pg_indexes;

1.6 查詢函數信息

返回數據庫中所有函數。對于用戶定義函數,routine_definition 列會有函數體:

select * from information_schema.routines where routine_type = 'FUNCTION';

1.7 觸發器

查詢數據庫中所有觸發器,action_statemen類別包括觸發器body信息:

select * from information_schema.triggers;

2. 查詢表占用空間

2.1 查詢表占用空間

實際應用中,通常需要表占用磁盤空間情況,我們可以利用系統表實現:

SELECT nspname || '.' || relname AS "relation",
 pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
 FROM pg_class C
 LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
 WHERE nspname NOT IN ('pg_catalog', 'information_schema')
 AND C.relkind > 'i'
 AND nspname !~ '^pg_toast'
 ORDER BY pg_total_relation_size(C.oid) DESC
 LIMIT 5;

示例輸出:

relation total_size
public.snapshots 823 MB
public.invoice_items 344 MB
public.messages 267 MB
public.topics 40 MB
public.invoices 35 MB

(5 rows)

2.2 查詢數據庫占用空間

SELECT
	pg_database.datname AS "database_name",
	pg_size_pretty(pg_database_size (pg_database.datname)) AS size_in_mb
FROM
	pg_database
ORDER BY
	size_in_mb DESC;

2.3 查詢表的記錄數

可以通過統計系統表進行查詢:

SELECT schemaname,relname,n_live_tup 
FROM pg_stat_user_tables 
ORDER BY n_live_tup DESC
LIMIT 12;

順便說下MySQL對于查詢,讀者可以對比學習:

SELECT table_name, table_rows
FROM information_schema.tables
WHERE table_schema = (SELECT database())
ORDER BY table_rows DESC
LIMIT 12;

4. 系統表和系統視圖

查看數據庫系統表命令:

\dt  pg_*

表名字 用途
pg_aggregate 聚集函數
pg_am 索引訪問方法
pg_amop 訪問方法操作符
pg_amproc 訪問方法支持過程
pg_attrdef 字段缺省值
pg_attribute 表的列(也稱為”屬性”或”字段”)
pg_authid 認證標識符(角色)
pg_auth_members 認證標識符成員關系
pg_autovacuum 每個關系一個的自動清理配置參數
pg_cast 轉換(數據類型轉換)
pg_class 表、索引、序列、視圖(“關系”)
pg_constraint 檢查約束、唯一約束、主鍵約束、外鍵約束
pg_conversion 編碼轉換信息
pg_database 本集群內的數據庫
pg_depend 數據庫對象之間的依賴性
pg_description 數據庫對象的描述或注釋
pg_index 附加的索引信息
pg_inherits 表繼承層次
pg_language 用于寫函數的語言
pg_largeobject 大對象
pg_listener 異步通知
pg_namespace 模式
pg_opclass 索引訪問方法操作符類
pg_operator 操作符
pg_pltemplate 過程語言使用的模板數據
pg_proc 函數和過程
pg_rewrite 查詢重寫規則
pg_shdepend 在共享對象上的依賴性
pg_shdescription 共享對象上的注釋
pg_statistic 優化器統計
pg_tablespace 這個數據庫集群里面的表空間
pg_trigger 觸發器
pg_type 數據類型

列出所有pg開頭的系統示圖:

\dv  pg_*

視圖名 用途
pg_cursors 打開的游標
pg_group 數據庫用戶的組
pg_indexes 索引
pg_locks 當前持有的鎖
pg_prepared_statements 預備語句
pg_prepared_xacts 預備事務
pg_roles 數據庫角色
pg_rules 規則
pg_settings 參數設置
pg_shadow 數據庫用戶
pg_stats 規劃器統計
pg_tables
pg_timezone_abbrevs 時區縮寫
pg_timezone_names 時區名
pg_user 數據庫用戶
pg_views 視圖

4. 總結

本文介紹PostgreSQL系統表及視圖;通過系統表或視圖查詢數據庫對象及常用統計信息。

到此這篇關于PostgreSql數據庫對象信息及應用的文章就介紹到這了,更多相關PostgreSql數據庫應用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • postgresql 實現sql多行語句合并一行
  • Postgresql自定義函數詳解
  • PostgreSQL刪除更新優化操作
  • Postgresql排序與limit組合場景性能極限優化詳解
  • postgresql通過索引優化查詢速度操作
  • postgreSQL 非count方法算記錄數操作
  • PostgreSQL 實現將多行合并轉為列

標簽:錦州 蚌埠 來賓 烏海 珠海 衡陽 株洲 晉城

巨人網絡通訊聲明:本文標題《詳解PostgreSql數據庫對象信息及應用》,本文關鍵詞  詳解,PostgreSql,數據庫,對象,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解PostgreSql數據庫對象信息及應用》相關的同類信息!
  • 本頁收集關于詳解PostgreSql數據庫對象信息及應用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 娄底市| 萍乡市| 洛浦县| 清镇市| 博罗县| 怀安县| 佛坪县| 高陵县| 城步| 镇安县| 黎川县| 平度市| 崇文区| 乌恰县| 巩义市| 镇原县| 通化县| 榆中县| 丹巴县| 拜城县| 三都| 峨边| 通州市| 平陆县| 浦东新区| 霍山县| 神池县| 土默特右旗| 张北县| 合作市| 宁波市| 韩城市| 翁牛特旗| 泾源县| 体育| 卢龙县| 望都县| 沾化县| 会同县| 彰化市| 惠水县|