亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜索
前言 何為PostgreSQL? PostgreSQL簡史 格式約定 更多信息 臭蟲匯報指導 I. 教程 章1. 從頭開始 1.1. 安裝 1.2. 體系基本概念 1.3. 創(chuàng)建一個數(shù)據(jù)庫 1.4. 訪問數(shù)據(jù)庫 章2. SQL語言 2.1. 介紹 2.2. 概念 2.3. 創(chuàng)建新表 2.4. 向表中添加行 2.5. 查詢一個表 2.6. 表間鏈接 2.7. 聚集函數(shù) 2.8. 更新 2.9. 刪除 章3. 高級特性 3.1. 介紹 3.2. 視圖 3.3. 外鍵 3.4. 事務 3.5. 窗口函數(shù) 3.6. 繼承 3.7. 結論 II. SQL語言 章4. SQL語法 4.1. 詞法結構 4.2. 值表達式 4.3. 調(diào)用函數(shù) 章5. 數(shù)據(jù)定義 5.1. 表的基本概念 5.2. 缺省值 5.3. 約束 5.4. 系統(tǒng)字段 5.5. 修改表 5.6. 權限 5.7. 模式 5.8. 繼承 5.9. 分區(qū) 5.10. 其它數(shù)據(jù)庫對象 5.11. 依賴性跟蹤 章 6. 數(shù)據(jù)操作 6.1. 插入數(shù)據(jù) 6.2. 更新數(shù)據(jù) 6.3. 刪除數(shù)據(jù) 章7. 查詢 7.1. 概述 7.2. 表表達式 7.3. 選擇列表 7.4. 組合查詢 7.5. 行排序 7.6. LIMIT和OFFSET 7.7. VALUES列表 7.8. WITH的查詢(公用表表達式) 章8. 數(shù)據(jù)類型 8.1. 數(shù)值類型 8.2. 貨幣類型 8.3. 字符類型 8.4. 二進制數(shù)據(jù)類型 8.5. 日期/時間類型 8.6. 布爾類型 8.7. 枚舉類型 8.8. 幾何類型 8.9. 網(wǎng)絡地址類型 8.10. 位串類型 8.11. 文本搜索類型 8.12. UUID類型 8.13. XML類型 8.14. 數(shù)組 8.15. 復合類型 8.16. 對象標識符類型 8.17. 偽類型 章 9. 函數(shù)和操作符 9.1. 邏輯操作符 9.2. 比較操作符 9.3. 數(shù)學函數(shù)和操作符 9.4. 字符串函數(shù)和操作符 9.5. 二進制字符串函數(shù)和操作符 9.6. 位串函數(shù)和操作符 9.7. 模式匹配 9.8. 數(shù)據(jù)類型格式化函數(shù) 9.9. 時間/日期函數(shù)和操作符 9.10. 支持枚舉函數(shù) 9.11. 幾何函數(shù)和操作符 9.12. 網(wǎng)絡地址函數(shù)和操作符 9.13. 文本檢索函數(shù)和操作符 9.14. XML函數(shù) 9.15. 序列操作函數(shù) 9.16. 條件表達式 9.17. 數(shù)組函數(shù)和操作符 9.18. 聚合函數(shù) 9.19. 窗口函數(shù) 9.20. 子查詢表達式 9.21. 行和數(shù)組比較 9.22. 返回集合的函數(shù) 9.23. 系統(tǒng)信息函數(shù) 9.24. 系統(tǒng)管理函數(shù) 9.25. 觸發(fā)器函數(shù) 章10. 類型轉換 10.3. 函數(shù) 10.2. 操作符 10.1. 概述 10.4. 值存儲 10.5. UNION 章11. 索引 11.1. 介紹 11.2. 索引類型 11.3. 多字段索引 11.4. 索引和ORDER BY 11.5. 組合多個索引 11.6. 唯一索引 11.7. 表達式上的索引 11.8. 部分索引 11.9. 操作類和操作簇 11.10. 檢查索引的使用 章12. Full Text Search 12.1. Introduction 12.2. Tables and Indexes 12.3. Controlling Text Search 12.4. Additional Features 12.5. Parsers 12.6. Dictionaries 12.7. Configuration Example 12.8. Testing and Debugging Text Search 12.9. GiST and GIN Index Types 12.10. psql Support 12.11. Limitations 12.12. Migration from Pre-8.3 Text Search 章13. 并發(fā)控制 13.1. 介紹 13.2. 事務隔離 13.3. 明確鎖定 13.4. 應用層數(shù)據(jù)完整性檢查 13.5. 鎖和索引 章14. 性能提升技巧 14.1. 使用EXPLAIN 14.2. 規(guī)劃器使用的統(tǒng)計信息 14.3. 用明確的JOIN語句控制規(guī)劃器 14.4. 向數(shù)據(jù)庫中添加記錄 14.5. 非持久性設置 III. 服務器管理 章15. 安裝指導 15.1. 簡版 15.2. 要求 15.3. 獲取源碼 15.4. 升級 15.5. 安裝過程 15.6. 安裝后的設置 15.7. 支持的平臺 15.8. 特殊平臺的要求 章16. Installation from Source Code on Windows 16.1. Building with Visual C++ or the Platform SDK 16.2. Building libpq with Visual C++ or Borland C++ 章17. 服務器安裝和操作 17.1. PostgreSQL用戶帳戶 17.2. 創(chuàng)建數(shù)據(jù)庫集群 17.3. 啟動數(shù)據(jù)庫服務器 17.4. 管理內(nèi)核資源 17.5. 關閉服務 17.6. 防止服務器欺騙 17.7. 加密選項 17.8. 用SSL進行安全的TCP/IP連接 17.9. Secure TCP/IP Connections with SSH Tunnels 章18. 服務器配置 18.1. 設置參數(shù) 18.2. 文件位置 18.3. 連接和認證 18.4. 資源消耗 18.5. 預寫式日志 18.6. 查詢規(guī)劃 18.7. 錯誤報告和日志 18.8. 運行時統(tǒng)計 18.9. 自動清理 18.10. 客戶端連接缺省 18.12. 版本和平臺兼容性 18.11. 鎖管理 18.13. 預置選項 18.14. 自定義的選項 18.15. 開發(fā)人員選項 18.16. 短選項 章19. 用戶認證 19.1. pg_hba.conf 文件 19.2. 用戶名映射 19.3. 認證方法 19.4. 用戶認證 章20. 數(shù)據(jù)庫角色和權限 20.1. 數(shù)據(jù)庫角色 20.2. 角色屬性 20.3. 權限 20.4. 角色成員 20.5. 函數(shù)和觸發(fā)器 章21. 管理數(shù)據(jù)庫 21.1. 概述 21.2. 創(chuàng)建一個數(shù)據(jù)庫 21.3. 臨時庫 21.4. 數(shù)據(jù)庫配置 21.5. 刪除數(shù)據(jù)庫 21.6. 表空間 章22. 本土化 22.1. 區(qū)域支持 22.2. 字符集支持 章23. 日常數(shù)據(jù)庫維護工作 23.1. Routine Vacuuming日常清理 23.2. 經(jīng)常重建索引 23.3. 日志文件維護 章24. 備份和恢復 24.1. SQL轉儲 24.2. 文件系統(tǒng)級別的備份 24.3. 在線備份以及即時恢復(PITR) 24.4. 版本間遷移 章25. 高可用性與負載均衡,復制 25.1. 不同解決方案的比較 25.2. 日志傳送備份服務器 25.3. 失效切換 25.4. 日志傳送的替代方法 25.5. 熱備 章26. 恢復配置 26.1. 歸檔恢復設置 26.2. 恢復目標設置 26.3. 備服務器設置 章27. 監(jiān)控數(shù)據(jù)庫的活動 27.1. 標準Unix工具 27.2. 統(tǒng)計收集器 27.3. 查看鎖 27.4. 動態(tài)跟蹤 章28. 監(jiān)控磁盤使用情況 28.1. 判斷磁盤的使用量 28.2. 磁盤滿導致的失效 章29. 可靠性和預寫式日志 29.1. 可靠性 29.2. 預寫式日志(WAL) 29.3. 異步提交 29.4. WAL配置 29.5. WAL內(nèi)部 章30. Regression Tests 30.1. Running the Tests 30.2. Test Evaluation 30.3. Variant Comparison Files 30.4. Test Coverage Examination IV. 客戶端接口 章31. libpq-C庫 31.1. 數(shù)據(jù)庫聯(lián)接函數(shù) 31.2. 連接狀態(tài)函數(shù) 31.3. 命令執(zhí)行函數(shù) 31.4. 異步命令處理 31.5. 取消正在處理的查詢 31.6. 捷徑接口 31.7. 異步通知 31.8. 與COPY命令相關的函數(shù) 31.9. Control Functions 控制函數(shù) 31.10. 其他函數(shù) 31.11. 注意信息處理 31.12. 事件系統(tǒng) 31.13. 環(huán)境變量 31.14. 口令文件 31.15. 連接服務的文件 31.16. LDAP查找連接參數(shù) 31.17. SSL支持 31.18. 在多線程程序里的行為 31.19. 制作libpq程序 31.20. 例子程序 章32. 大對象 32.1. 介紹 32.2. 實現(xiàn)特點 32.3. 客戶端接口 32.4. 服務器端函數(shù) 32.5. 例子程序 章33. ECPG - Embedded SQL in C 33.1. The Concept 33.2. Connecting to the Database Server 33.3. Closing a Connection 33.4. Running SQL Commands 33.5. Choosing a Connection 33.6. Using Host Variables 33.7. Dynamic SQL 33.8. pgtypes library 33.9. Using Descriptor Areas 33.10. Informix compatibility mode 33.11. Error Handling 33.12. Preprocessor directives 33.13. Processing Embedded SQL Programs 33.14. Library Functions 33.15. Internals 章34. 信息模式 34.1. 關于這個模式 34.2. 數(shù)據(jù)類型 34.3. information_schema_catalog_name 34.4. administrable_role_authorizations 34.5. applicable_roles 34.6. attributes 34.7. check_constraint_routine_usage 34.8. check_constraints 34.9. column_domain_usage 34.10. column_privileges 34.11. column_udt_usage 34.12. 字段 34.13. constraint_column_usage 34.14. constraint_table_usage 34.15. data_type_privileges 34.16. domain_constraints 34.18. domains 34.17. domain_udt_usage 34.19. element_types 34.20. enabled_roles 34.21. foreign_data_wrapper_options 34.22. foreign_data_wrappers 34.23. foreign_server_options 34.24. foreign_servers 34.25. key_column_usage 34.26. parameters 34.27. referential_constraints 34.28. role_column_grants 34.29. role_routine_grants 34.30. role_table_grants 34.31. role_usage_grants 34.32. routine_privileges 34.33. routines 34.34. schemata 34.35. sequences 34.36. sql_features 34.37. sql_implementation_info 34.38. sql_languages 34.39. sql_packages 34.40. sql_parts 34.41. sql_sizing 34.42. sql_sizing_profiles 34.43. table_constraints 34.44. table_privileges 34.45. tables 34.46. triggered_update_columns 34.47. 觸發(fā)器 34.48. usage_privileges 34.49. user_mapping_options 34.50. user_mappings 34.51. view_column_usage 34.52. view_routine_usage 34.53. view_table_usage 34.54. 視圖 V. 服務器端編程 章35. 擴展SQL 35.1. 擴展性是如何實現(xiàn)的 35.2. PostgreSQL類型系統(tǒng) 35.3. User-Defined Functions 35.4. Query Language (SQL) Functions 35.5. Function Overloading 35.6. Function Volatility Categories 35.7. Procedural Language Functions 35.8. Internal Functions 35.9. C-Language Functions 35.10. User-Defined Aggregates 35.11. User-Defined Types 35.12. User-Defined Operators 35.13. Operator Optimization Information 35.14. Interfacing Extensions To Indexes 35.15. 用C++擴展 章36. 觸發(fā)器 36.1. 觸發(fā)器行為概述 36.3. 用 C 寫觸發(fā)器 36.2. 數(shù)據(jù)改變的可視性 36.4. 一個完整的例子 章37. 規(guī)則系統(tǒng) 37.1. The Query Tree 37.2. 視圖和規(guī)則系統(tǒng) 37.3. 在INSERT,UPDATE和DELETE上的規(guī)則 37.4. 規(guī)則和權限 37.5. 規(guī)則和命令狀態(tài) 37.6. 規(guī)則與觸發(fā)器得比較 章38. Procedural Languages 38.1. Installing Procedural Languages 章39. PL/pgSQL - SQL過程語言 39.1. 概述 39.2. PL/pgSQL的結構 39.3. 聲明 39.4. 表達式 39.5. 基本語句 39.6. 控制結構 39.7. 游標 39.8. 錯誤和消息 39.9. 觸發(fā)器過程 39.10. PL/pgSQL Under the Hood 39.11. 開發(fā)PL/pgSQL的一些提示 39.12. 從OraclePL/SQL 進行移植 章40. PL/Tcl - Tcl Procedural Language 40.1. Overview 40.2. PL/Tcl Functions and Arguments 40.3. Data Values in PL/Tcl 40.4. Global Data in PL/Tcl 40.5. Database Access from PL/Tcl 40.6. Trigger Procedures in PL/Tcl 40.7. Modules and the unknown command 40.8. Tcl Procedure Names 章41. PL/Perl - Perl Procedural Language 41.1. PL/Perl Functions and Arguments 41.2. Data Values in PL/Perl 41.3. Built-in Functions 41.4. Global Values in PL/Perl 41.6. PL/Perl Triggers 41.5. Trusted and Untrusted PL/Perl 41.7. PL/Perl Under the Hood 章42. PL/Python - Python Procedural Language 42.1. Python 2 vs. Python 3 42.2. PL/Python Functions 42.3. Data Values 42.4. Sharing Data 42.5. Anonymous Code Blocks 42.6. Trigger Functions 42.7. Database Access 42.8. Utility Functions 42.9. Environment Variables 章43. Server Programming Interface 43.1. Interface Functions Spi-spi-connect Spi-spi-finish Spi-spi-push Spi-spi-pop Spi-spi-execute Spi-spi-exec Spi-spi-execute-with-args Spi-spi-prepare Spi-spi-prepare-cursor Spi-spi-prepare-params Spi-spi-getargcount Spi-spi-getargtypeid Spi-spi-is-cursor-plan Spi-spi-execute-plan Spi-spi-execute-plan-with-paramlist Spi-spi-execp Spi-spi-cursor-open Spi-spi-cursor-open-with-args Spi-spi-cursor-open-with-paramlist Spi-spi-cursor-find Spi-spi-cursor-fetch Spi-spi-cursor-move Spi-spi-scroll-cursor-fetch Spi-spi-scroll-cursor-move Spi-spi-cursor-close Spi-spi-saveplan 43.2. Interface Support Functions Spi-spi-fname Spi-spi-fnumber Spi-spi-getvalue Spi-spi-getbinval Spi-spi-gettype Spi-spi-gettypeid Spi-spi-getrelname Spi-spi-getnspname 43.3. Memory Management Spi-spi-palloc Spi-realloc Spi-spi-pfree Spi-spi-copytuple Spi-spi-returntuple Spi-spi-modifytuple Spi-spi-freetuple Spi-spi-freetupletable Spi-spi-freeplan 43.4. Visibility of Data Changes 43.5. Examples VI. 參考手冊 I. SQL命令 Sql-abort Sql-alteraggregate Sql-alterconversion Sql-alterdatabase Sql-alterdefaultprivileges Sql-alterdomain Sql-alterforeigndatawrapper Sql-alterfunction Sql-altergroup Sql-alterindex Sql-alterlanguage Sql-alterlargeobject Sql-alteroperator Sql-alteropclass Sql-alteropfamily Sql-alterrole Sql-alterschema Sql-altersequence Sql-alterserver Sql-altertable Sql-altertablespace Sql-altertsconfig Sql-altertsdictionary Sql-altertsparser Sql-altertstemplate Sql-altertrigger Sql-altertype Sql-alteruser Sql-alterusermapping Sql-alterview Sql-analyze Sql-begin Sql-checkpoint Sql-close Sql-cluster Sql-comment Sql-commit Sql-commit-prepared Sql-copy Sql-createaggregate Sql-createcast Sql-createconstraint Sql-createconversion Sql-createdatabase Sql-createdomain Sql-createforeigndatawrapper Sql-createfunction Sql-creategroup Sql-createindex Sql-createlanguage Sql-createoperator Sql-createopclass Sql-createopfamily Sql-createrole Sql-createrule Sql-createschema Sql-createsequence Sql-createserver Sql-createtable Sql-createtableas Sql-createtablespace Sql-createtsconfig Sql-createtsdictionary Sql-createtsparser Sql-createtstemplate Sql-createtrigger Sql-createtype Sql-createuser Sql-createusermapping Sql-createview Sql-deallocate Sql-declare Sql-delete Sql-discard Sql-do Sql-dropaggregate Sql-dropcast Sql-dropconversion Sql-dropdatabase Sql-dropdomain Sql-dropforeigndatawrapper Sql-dropfunction Sql-dropgroup Sql-dropindex Sql-droplanguage Sql-dropoperator Sql-dropopclass Sql-dropopfamily Sql-drop-owned Sql-droprole Sql-droprule Sql-dropschema Sql-dropsequence Sql-dropserver Sql-droptable Sql-droptablespace Sql-droptsconfig Sql-droptsdictionary Sql-droptsparser Sql-droptstemplate Sql-droptrigger Sql-droptype Sql-dropuser Sql-dropusermapping Sql-dropview Sql-end Sql-execute Sql-explain Sql-fetch Sql-grant Sql-insert Sql-listen Sql-load Sql-lock Sql-move Sql-notify Sql-prepare Sql-prepare-transaction Sql-reassign-owned Sql-reindex Sql-release-savepoint Sql-reset Sql-revoke Sql-rollback Sql-rollback-prepared Sql-rollback-to Sql-savepoint Sql-select Sql-selectinto Sql-set Sql-set-constraints Sql-set-role Sql-set-session-authorization Sql-set-transaction Sql-show Sql-start-transaction Sql-truncate Sql-unlisten Sql-update Sql-vacuum Sql-values II. 客戶端應用程序 App-clusterdb App-createdb App-createlang App-createuser App-dropdb App-droplang App-dropuser App-ecpg App-pgconfig App-pgdump App-pg-dumpall App-pgrestore App-psql App-reindexdb App-vacuumdb III. PostgreSQL服務器應用程序 App-initdb App-pgcontroldata App-pg-ctl App-pgresetxlog App-postgres App-postmaster VII. 內(nèi)部 章44. PostgreSQL內(nèi)部概覽 44.1. 查詢路徑 44.2. 連接是如何建立起來的 44.3. 分析器階段 44.4. ThePostgreSQL規(guī)則系統(tǒng) 44.5. 規(guī)劃器/優(yōu)化器 44.6. 執(zhí)行器 章45. 系統(tǒng)表 45.1. 概述 45.2. pg_aggregate 45.3. pg_am 45.4. pg_amop 45.5. pg_amproc 45.6. pg_attrdef 45.7. pg_attribute 45.8. pg_authid 45.9. pg_auth_members 45.10. pg_cast 45.11. pg_class 45.12. pg_constraint 45.13. pg_conversion 45.14. pg_database 45.15. pg_db_role_setting 45.16. pg_default_acl 45.17. pg_depend 45.18. pg_description 45.19. pg_enum 45.20. pg_foreign_data_wrapper 45.21. pg_foreign_server 45.22. pg_index 45.23. pg_inherits 45.24. pg_language 45.25. pg_largeobject 45.26. pg_largeobject_metadata 45.27. pg_namespace 45.28. pg_opclass 45.29. pg_operator 45.30. pg_opfamily 45.31. pg_pltemplate 45.32. pg_proc 45.33. pg_rewrite 45.34. pg_shdepend 45.35. pg_shdescription 45.36. pg_statistic 45.37. pg_tablespace 45.38. pg_trigger 45.39. pg_ts_config 45.40. pg_ts_config_map 45.41. pg_ts_dict 45.42. pg_ts_parser 45.43. pg_ts_template 45.44. pg_type 45.45. pg_user_mapping 45.46. System Views 45.47. pg_cursors 45.48. pg_group 45.49. pg_indexes 45.50. pg_locks 45.51. pg_prepared_statements 45.52. pg_prepared_xacts 45.53. pg_roles 45.54. pg_rules 45.55. pg_settings 45.56. pg_shadow 45.57. pg_stats 45.58. pg_tables 45.59. pg_timezone_abbrevs 45.60. pg_timezone_names 45.61. pg_user 45.62. pg_user_mappings 45.63. pg_views 章46. Frontend/Backend Protocol 46.1. Overview 46.2. Message Flow 46.3. Streaming Replication Protocol 46.4. Message Data Types 46.5. Message Formats 46.6. Error and Notice Message Fields 46.7. Summary of Changes since Protocol 2.0 47. PostgreSQL Coding Conventions 47.1. Formatting 47.2. Reporting Errors Within the Server 47.3. Error Message Style Guide 章48. Native Language Support 48.1. For the Translator 48.2. For the Programmer 章49. Writing A Procedural Language Handler 章50. Genetic Query Optimizer 50.1. Query Handling as a Complex Optimization Problem 50.2. Genetic Algorithms 50.3. Genetic Query Optimization (GEQO) in PostgreSQL 50.4. Further Reading 章51. 索引訪問方法接口定義 51.1. 索引的系統(tǒng)表記錄 51.2. 索引訪問方法函數(shù) 51.3. 索引掃描 51.4. 索引鎖的考量 51.5. 索引唯一性檢查 51.6. 索引開銷估計函數(shù) 章52. GiST Indexes 52.1. Introduction 52.2. Extensibility 52.3. Implementation 52.4. Examples 52.5. Crash Recovery 章53. GIN Indexes 53.1. Introduction 53.2. Extensibility 53.3. Implementation 53.4. GIN tips and tricks 53.5. Limitations 53.6. Examples 章54. 數(shù)據(jù)庫物理存儲 54.1. 數(shù)據(jù)庫文件布局 54.2. TOAST 54.3. 自由空間映射 54.4. 可見映射 54.5. 數(shù)據(jù)庫分頁文件 章55. BKI后端接口 55.1. BKI 文件格式 55.2. BKI命令 55.3. 系統(tǒng)初始化的BKI文件的結構 55.4. 例子 章56. 規(guī)劃器如何使用統(tǒng)計信息 56.1. 行預期的例子 VIII. 附錄 A. PostgreSQL錯誤代碼 B. 日期/時間支持 B.1. 日期/時間輸入解析 B.2. 日期/時間關鍵字 B.3. 日期/時間配置文件 B.4. 日期單位的歷史 C. SQL關鍵字 D. SQL Conformance D.1. Supported Features D.2. Unsupported Features E. Release Notes Release-0-01 Release-0-02 Release-0-03 Release-1-0 Release-1-01 Release-1-02 Release-1-09 Release-6-0 Release-6-1 Release-6-1-1 Release-6-2 Release-6-2-1 Release-6-3 Release-6-3-1 Release-6-3-2 Release-6-4 Release-6-4-1 Release-6-4-2 Release-6-5 Release-6-5-1 Release-6-5-2 Release-6-5-3 Release-7-0 Release-7-0-1 Release-7-0-2 Release-7-0-3 Release-7-1 Release-7-1-1 Release-7-1-2 Release-7-1-3 Release-7-2 Release-7-2-1 Release-7-2-2 Release-7-2-3 Release-7-2-4 Release-7-2-5 Release-7-2-6 Release-7-2-7 Release-7-2-8 Release-7-3 Release-7-3-1 Release-7-3-10 Release-7-3-11 Release-7-3-12 Release-7-3-13 Release-7-3-14 Release-7-3-15 Release-7-3-16 Release-7-3-17 Release-7-3-18 Release-7-3-19 Release-7-3-2 Release-7-3-20 Release-7-3-21 Release-7-3-3 Release-7-3-4 Release-7-3-5 Release-7-3-6 Release-7-3-7 Release-7-3-8 Release-7-3-9 Release-7-4 Release-7-4-1 Release-7-4-10 Release-7-4-11 Release-7-4-12 Release-7-4-13 Release-7-4-14 Release-7-4-15 Release-7-4-16 Release-7-4-17 Release-7-4-18 Release-7-4-19 Release-7-4-2 Release-7-4-20 Release-7-4-21 Release-7-4-22 Release-7-4-23 Release-7-4-24 Release-7-4-25 Release-7-4-26 Release-7-4-27 Release-7-4-28 Release-7-4-29 Release-7-4-3 Release-7-4-30 Release-7-4-4 Release-7-4-5 Release-7-4-6 Release-7-4-7 Release-7-4-8 Release-7-4-9 Release-8-0 Release-8-0-1 Release-8-0-10 Release-8-0-11 Release-8-0-12 Release-8-0-13 Release-8-0-14 Release-8-0-15 Release-8-0-16 Release-8-0-17 Release-8-0-18 Release-8-0-19 Release-8-0-2 Release-8-0-20 Release-8-0-21 Release-8-0-22 Release-8-0-23 Release-8-0-24 Release-8-0-25 Release-8-0-26 Release-8-0-3 Release-8-0-4 Release-8-0-5 Release-8-0-6 Release-8-0-7 Release-8-0-8 Release-8-0-9 Release-8-1 Release-8-1-1 Release-8-1-10 Release-8-1-11 Release-8-1-12 Release-8-1-13 Release-8-1-14 Release-8-1-15 Release-8-1-16 Release-8-1-17 Release-8-1-18 Release-8-1-19 Release-8-1-2 Release-8-1-20 Release-8-1-21 Release-8-1-22 Release-8-1-23 Release-8-1-3 Release-8-1-4 Release-8-1-5 Release-8-1-6 Release-8-1-7 Release-8-1-8 Release-8-1-9 Release-8-2 Release-8-2-1 Release-8-2-10 Release-8-2-11 Release-8-2-12 Release-8-2-13 Release-8-2-14 Release-8-2-15 Release-8-2-16 Release-8-2-17 Release-8-2-18 Release-8-2-19 Release-8-2-2 Release-8-2-20 Release-8-2-21 Release-8-2-3 Release-8-2-4 Release-8-2-5 Release-8-2-6 Release-8-2-7 Release-8-2-8 Release-8-2-9 Release-8-3 Release-8-3-1 Release-8-3-10 Release-8-3-11 Release-8-3-12 Release-8-3-13 Release-8-3-14 Release-8-3-15 Release-8-3-2 Release-8-3-3 Release-8-3-4 Release-8-3-5 Release-8-3-6 Release-8-3-7 Release-8-3-8 Release-8-3-9 Release-8-4 Release-8-4-1 Release-8-4-2 Release-8-4-3 Release-8-4-4 Release-8-4-5 Release-8-4-6 Release-8-4-7 Release-8-4-8 Release-9-0 Release-9-0-1 Release-9-0-2 Release-9-0-3 Release-9-0-4 F. 額外提供的模塊 F.1. adminpack F.2. auto_explain F.3. btree_gin F.4. btree_gist F.5. chkpass F.6. citext F.7. cube F.8. dblink Contrib-dblink-connect Contrib-dblink-connect-u Contrib-dblink-disconnect Contrib-dblink Contrib-dblink-exec Contrib-dblink-open Contrib-dblink-fetch Contrib-dblink-close Contrib-dblink-get-connections Contrib-dblink-error-message Contrib-dblink-send-query Contrib-dblink-is-busy Contrib-dblink-get-notify Contrib-dblink-get-result Contrib-dblink-cancel-query Contrib-dblink-get-pkey Contrib-dblink-build-sql-insert Contrib-dblink-build-sql-delete Contrib-dblink-build-sql-update F.9. dict_int F.10. dict_xsyn F.11. earthdistance F.12. fuzzystrmatch F.13. hstore F.14. intagg F.15. intarray F.16. isn F.17. lo F.18. ltree F.19. oid2name F.20. pageinspect F.21. passwordcheck F.22. pg_archivecleanup F.23. pgbench F.24. pg_buffercache F.25. pgcrypto F.26. pg_freespacemap F.27. pgrowlocks F.28. pg_standby F.29. pg_stat_statements F.30. pgstattuple F.31. pg_trgm F.32. pg_upgrade F.33. seg F.34. spi F.35. sslinfo F.36. tablefunc F.37. test_parser F.38. tsearch2 F.39. unaccent F.40. uuid-ossp F.41. vacuumlo F.42. xml2 G. 外部項目 G.1. 客戶端接口 G.2. 過程語言 G.3. 擴展 H. The Source Code Repository H.1. Getting The Source Via Git I. 文檔 I.1. DocBook I.2. 工具集 I.3. 制作文檔 I.4. 文檔寫作 I.5. 風格指導 J. 首字母縮略詞 參考書目 Bookindex Index
文字

27.2. 統(tǒng)計收集器

PostgreSQL統(tǒng)計收集器是一個支持收集和匯報服務器活躍性信息的子系統(tǒng)。 目前,這個收集器可以給出對表和索引的訪問計數(shù),包括磁盤塊的數(shù)量和獨立行的項。 它還跟蹤每個表中的行的總數(shù),每個表的過去的真空和分析時間。它也可以計算用戶定義的函數(shù)的調(diào)用,和在每個人的總花費的時間。

PostgreSQL還可以判斷當前其它服務器進程正在執(zhí)行的命令是什么。 這是一個收集過程中的獨立設施。

27.2.1. 統(tǒng)計收集器配置

因為統(tǒng)計收集給查詢處理增加了一些開銷,所以你可以啟用或禁用統(tǒng)計收集。這是由配置參數(shù)控制的, 通常在postgresql.conf里設置(參閱Chapter 18獲取有關設置配置參數(shù)的細節(jié))。

這個參數(shù)track_counts控制關于表和索引是否被統(tǒng)計。

參數(shù)track_functions實現(xiàn)了對用戶子弟年故意函數(shù)用法的追蹤。

參數(shù)track_activities控制是否監(jiān)視每個服務器進程當前執(zhí)行的命令字符串。

通常這些參數(shù)在postgresql.conf中設置,因此它們作用于所有服務器進程, 但是我們也可以在獨立的會話里用SET命令把它們打開或者關閉。 為避免普通用戶把它們的活躍性隱藏不給管理員看, 只有超級用戶允許用SET命令修改這些參數(shù)。

統(tǒng)計收集器與后端通信通過臨時文件獲得需要的信息(包括autovacuum)。 這些文件存放在pg_stat_tmp子目錄中。 當postmaster關閉時,一個統(tǒng)計數(shù)據(jù)的永久副本存放在global 子目錄中。為了提高性能,stats_temp_directory參數(shù) 可以指向一個依據(jù)RAM的文件系統(tǒng),降低物理I/O需求。

27.2.2. 查看收集到的統(tǒng)計信息

有一些預定義的視圖可以用于顯示統(tǒng)計收集的結果,在表Table 27-1里列出。另外,我們可以使用底層的統(tǒng)計函數(shù)制作自定義的視圖。

在使用統(tǒng)計觀察當前活躍性的時候,你必須意識到這些信息并不是實時更新的。 每個獨立的服務器進程只是在準備進入空閑狀態(tài)的時候才向收集器傳送新的塊和行訪問計數(shù); 因此正在處理的查詢或者事務并不影響顯示出來的總數(shù)。同樣,收集器本身也最 多每PGSTAT_STAT_INTERVAL毫秒(缺省500,除非在編譯服務器的時候修改過)發(fā)送一 次新的報告。因此顯示總是落后于實際活動。但是由track_activities收集的當前查 詢信息總是實時更新的。

另外一個需要著重指出的是,在請求服務器進程顯示任何這些統(tǒng)計信息的時候, 它首先抓取收集器進程發(fā)出的最新報告,然后就拿這些數(shù)據(jù)作為所有統(tǒng)計視圖 和函數(shù)的快照,直到它當前的事務結束。因此統(tǒng)計信息在當前事務的持續(xù)期間內(nèi)不會改 變。類似的,每個進程的當前查詢信息在該查詢首次出現(xiàn)在事務中的時候就被收集了, 并且在整個事務過程中都顯示相同的信息。這是一個特性,而不是一個臭蟲,因為這樣 就允許你在統(tǒng)計上執(zhí)行幾個查詢并且對結果進行相關性檢查而又不用擔心這些數(shù)字會悄悄 的變化。但是如果你想看每個查詢的最新結果,那么就要記住在事務塊外面處理這些查詢。 另外,你可以調(diào)用pg_stat_clear_snapshot,這將丟棄 目前交易的統(tǒng)計數(shù)據(jù)快照(如有)。下次使用 統(tǒng)計信息將導致獲取一個新的快照

Table 27-1. 標準統(tǒng)計視圖

視圖名字 描述
pg_stat_activity 每個服務器進程一行,顯示:數(shù)據(jù)庫OID、數(shù)據(jù)庫名、進程ID、用戶OID、用戶名、客戶的地址和端口號,服務器進程, 當前交易、當前查詢等待狀態(tài)、當前查詢開始執(zhí)行的時間、進程啟動的時間、進程的等待狀態(tài)和文字當前查詢。。報告當前查詢相關信息的各個字段只有在打開track_activities參數(shù) 的時候才可用。另外,這些列是唯一可見的,如果檢查視圖的用戶是一個超級用戶或、擁有相同進程的用戶。
只有一行,通過后臺寫進程來顯示集群范圍內(nèi)的統(tǒng)計數(shù)據(jù): 預計檢查點的數(shù)量,要求的檢查點,檢查點寫入的緩沖區(qū)和清理掃描, 以及后臺寫進程停滯一個清理掃描的時間(因為需要寫很多緩沖區(qū))。 同時還包括共享緩沖池的統(tǒng)計數(shù)據(jù),包括后臺進程寫入的緩沖區(qū)( 也就是說,不是通過后臺寫進程)以及分配的總緩沖區(qū)。 ?
pg_stat_database 每個數(shù)據(jù)庫一行, 顯示:數(shù)據(jù)庫OID、數(shù)據(jù)庫名、與該數(shù)據(jù)庫連接的活躍服務器進程數(shù)、 已提交的事務總數(shù)、已回滾的事務總、已讀取的磁盤塊總數(shù)、緩沖區(qū)命中總數(shù) (在緩沖區(qū)中找到所需要的塊,從而避免讀取塊的動作)。返回插入,抓取,更新,刪除的列數(shù)。
pg_stat_all_tables 當前數(shù)據(jù)庫中每個表一行(包括TOAST表),顯示:表OID、模式名、表名、發(fā)起的 順序掃描總數(shù)、順序掃描抓取的活數(shù)據(jù)行(liverow)的數(shù)目、發(fā)起的索引掃描的總數(shù) (屬于該表的所有索引)、索引掃描抓取的活數(shù)據(jù)行的數(shù)目、插入的行總數(shù)、更新的行總數(shù) 、刪除的行總數(shù)、數(shù)行更新,它們是熱(即,沒有單獨的索引更新), 活的和死行數(shù),上次手動清理該表的時間、上次由autovacuum自動清理該表的時間、 上次手動分析該表的時間、上次由autovacuum自動分析該表的時間。
pg_stat_sys_tables pg_stat_all_tables一樣,但只顯示系統(tǒng)表。
pg_stat_user_tables pg_stat_all_tables一樣,但只顯示用戶表。
pg_stat_all_indexes 當前數(shù)據(jù)庫的每個索引一行,顯示:表OID、索引OID、模式名、表名、索引名、 使用了該索引的索引掃描總數(shù)、索引掃描返回的索引記錄數(shù)、使用該索引的簡 單索引掃描抓取的活表(livetable)中數(shù)據(jù)行數(shù)。
pg_stat_sys_indexes pg_stat_all_indexes一樣,但只顯示系統(tǒng)表上的索引。
pg_stat_user_indexes pg_stat_all_indexes一樣,但只顯示用戶表上的索引。
pg_statio_all_tables 當前數(shù)據(jù)庫中每個表一行(包括TOAST表),顯示:表OID、模式名、表名、 從該表中讀取的磁盤塊總數(shù)、緩沖區(qū)命中次數(shù)、該表上所有索引的磁盤塊讀取總數(shù)、 該表上所有索引的緩沖區(qū)命中總數(shù)、在該表的輔助TOAST表(如果存在)上的磁盤塊讀取總數(shù)、 在該表的輔助TOAST表(如果存在)上的緩沖區(qū)命中總數(shù)、TOAST表的索引的磁盤塊讀 取總數(shù)、TOAST表的索引的緩沖區(qū)命中總數(shù)。
pg_statio_sys_tables pg_statio_all_tables一樣,但只顯示系統(tǒng)表。
pg_statio_user_tables pg_statio_all_tables一樣,但只顯示用戶表。
pg_statio_all_indexes 當前數(shù)據(jù)庫中每個索引一行,顯示:表OID、索引OID、模式名、 表名、索引名、該索引的磁盤塊讀取總數(shù)、該索引的緩沖區(qū)命中總數(shù)。
pg_statio_sys_indexes 和pg_statio_all_indexes一樣,但只顯示系統(tǒng)表。
pg_statio_user_indexes 和pg_statio_all_indexes一樣,但只顯示用戶表。
pg_statio_all_sequences 當前數(shù)據(jù)庫中每個序列對象一行,顯示:序列OID、模式名、序列名、序列的磁盤讀取總數(shù)、序列的緩沖區(qū)命中總數(shù)。
pg_statio_sys_sequences pg_statio_all_sequences一樣,但只系統(tǒng)序列。因為目前沒有定義系統(tǒng)序列,所以這個視圖總是空的。
pg_statio_user_sequences 和pg_statio_all_sequences一樣,但只顯示用戶序列。
pg_stat_user_functions 對于所有跟蹤功能,函數(shù)的OID,模式,名稱,數(shù)量 通話總時間,和自我的時間。自我時間是 在函數(shù)本身所花費的時間量,總時間包括 它調(diào)用函數(shù)所花費的時間。時間值以毫秒為單位。

針對每個索引的統(tǒng)計對于判斷哪個索引得到使用以及它們的效果非常有用

PostgreSQL8.1開始,索引既可以直接使用,也可以通過"位圖掃描"使用。 在位圖掃描中,多個索引的輸出可以通過AND或者OR規(guī)則合并;所以,在使用索引的時候, 很難把獨立的堆(表)行抓取和指定的索引抓取結合起來。因此,位圖掃描增大它使用 的pg_stat_all_indexes計數(shù)。并且它還增加為表使用的 idx_tup_fetch計數(shù),但是它并不影 響pg_stat_all_indexes. idx_tup_fetch

Note: PostgreSQL8.1之前, idx_tup_read idx_tup_fetch計數(shù)實際上 總是一樣的?,F(xiàn)在即使是不考慮位圖掃描,它們也可能是不同的,因為 idx_tup_read記錄從索引檢索的記錄條目,而 idx_tup_fetch記錄從表中抓取的活行數(shù); 如果有已經(jīng)失效的或者還未提交的行通過索引掃描找出來,后者將會小一些。

Thepg_statio_系列視圖在判斷緩沖區(qū)效果的時候特別有用。在實際磁盤讀取‘ 遠比緩沖命中小的時候,這個緩沖基本滿足所有讀要求,因此不需要進行內(nèi)核調(diào) 用。但是,這些統(tǒng)計并未給出所有信息。由于PostgreSQL處理磁盤的方式,不 在PostgreSQL緩沖區(qū)中的數(shù)據(jù)可能仍然駐留在內(nèi)核的I/O緩存中,因此仍然可 能不必經(jīng)過物理讀取。對獲取PostgreSQL的I/O行為的更多細節(jié)感興趣的用戶 可以結合使用PostgreSQL的統(tǒng)計收集器和可以分析內(nèi)核I/O處理的操作系統(tǒng)工 具來獲取更多細節(jié)。

其它查看統(tǒng)計的方法可以通過書寫使用底層統(tǒng)計訪問函數(shù)的查詢來設置, 這些底層統(tǒng)計訪問函數(shù)和標準視圖里使用的是一樣的。這些函數(shù)在Table 27-2 中列出。針對某個數(shù)據(jù)庫進行訪問的函數(shù)接受一個數(shù)據(jù)庫OID為參數(shù)來標 識需要報告哪個數(shù)據(jù)庫。每個表和每個索引的功能 表或索引的OID。函數(shù)調(diào)用統(tǒng)計函數(shù)采取一個函數(shù)的OID。請注意這些函數(shù)只能看到在當前數(shù)據(jù)庫里的表和索引。針 對某個服務器進行訪問的函數(shù)接受一個服務器進程號, 其范圍從1到當前活躍服務器的數(shù)目。

Table 27-2. 統(tǒng)計訪問函數(shù)

函數(shù) 返回類型 描述
pg_stat_get_db_numbackends(o id) integer 處理該數(shù)據(jù)庫活躍的服務器進程數(shù)目
pg_stat_get_db_xact_commit(o id) bigint 數(shù)據(jù)庫中已提交事務數(shù)量目
pg_stat_get_db_xact_rollback(o id) bigint 數(shù)據(jù)庫中回滾的事務數(shù)量
pg_stat_get_db_blocks_fetched(o id) bigint 數(shù)據(jù)庫中磁盤塊抓取請求的總數(shù)
pg_stat_get_db_blocks_hit(o id) bigint 為數(shù)據(jù)庫在緩沖區(qū)中找到的磁盤塊抓取請求的總數(shù)
pg_stat_get_db_tuples_returned(o id) bigint 為數(shù)據(jù)庫返回的Tuple數(shù)
pg_stat_get_db_tuples_fetched(o id) bigint 為數(shù)據(jù)庫中獲取的Tuple數(shù)
pg_stat_get_db_tuples_inserted(o id) bigint 在數(shù)據(jù)庫中插入Tuple數(shù)
pg_stat_get_db_tuples_updated(o id) bigint 在數(shù)據(jù)庫中更新的Tuple數(shù)
pg_stat_get_db_tuples_deleted(o id) bigint 數(shù)據(jù)庫中刪除Tuple數(shù)
pg_stat_get_numscans(o id) bigint 如果參數(shù)是一個表,那么就是順序掃描讀取的行數(shù)目, 如果參數(shù)是一個索引,那么就是返回的索引行的數(shù)目。
pg_stat_get_tuples_returned(o id) bigint 如果參數(shù)是一個表,那么就是順序掃描讀取的行數(shù)目,如果參數(shù)是一個索引,那么就是返回的索引行的數(shù)目。
pg_stat_get_tuples_fetched(o id) bigint 如果參數(shù)是一個表,那么就是位圖掃描抓取的行數(shù)目,如果參數(shù)是一個索引,那么就是用簡單索引掃描抓取的行數(shù)目。
pg_stat_get_tuples_inserted(o id) bigint 插入表中的行數(shù)量
pg_stat_get_tuples_updated(o id) bigint 在表中已更新的行數(shù)量,包括熱更新
pg_stat_get_tuples_deleted(o id) bigint 從表中刪除的行數(shù)量
pg_stat_get_tuples_hot_updated(o id) bigint 熱更新的行數(shù)表
pg_stat_get_live_tuples(o id) bigint 活行數(shù)表
pg_stat_get_dead_tuples(o id) bigint 死行數(shù)表
pg_stat_get_blocks_fetched(o id) bigint 表或者索引的磁盤塊抓取請求的數(shù)量
pg_stat_get_blocks_hit(o id) bigint 在緩沖區(qū)中找到的表或者索引的磁盤塊請求數(shù)目
pg_stat_get_last_vacuum_time(o id) timestamptz 用戶在該表上最后一次啟動清理的時間
pg_stat_get_last_autovacuum_time(o id) timestamptz autovacuum守護進程在該表上最后一次啟動清理的時間
pg_stat_get_last_analyze_time(o id) timestamptz 用戶在該表上最后一次啟動分析的時間
pg_stat_get_last_autoanalyze_time(o id) timestamptz autovacuum守護進程在該表上最后一次啟動分析的時間
pg_backend_p id() integer 當前會話的服務器進程的進程ID
pg_stat_get_activity(integer) setofrecord 返回一個關于帶有特殊PID號的后臺進程的記錄信息,或者是每個 活動的后臺進程的記錄(如果聲明了NULL)。 返回結果是pg_stat_activity視圖中的一個子集。
pg_stat_get_function_calls(o id) bigint 函數(shù)已被調(diào)用次數(shù)
pg_stat_get_function_time(o id) bigint 總掛鐘時間花費在功能,在微秒的。包括 在這個函數(shù)調(diào)用所花費的時間。
pg_stat_get_function_self_time(o id) bigint 只有在此功能所花費的時間。在所謂的功能所花費的時間 被排除在外。
pg_stat_get_backend_ idset() setofinteger 設置當前活動的服務器進程數(shù)(從1到 活動服務器進程的數(shù)量)??丛谖谋局惺褂玫睦印?/td>
pg_stat_get_backend_p id(integer) integer 給定的服務器進程的PID
pg_stat_get_backend_db id(integer) o id 給定的服務器進程的數(shù)據(jù)庫ID
pg_stat_get_backend_user id(integer) o id 給定的服務器進程的用戶ID
pg_stat_get_backend_activity(integer) text 給定服務器進程的當前活動查詢,僅在調(diào)用者是超級用戶或被查詢會話的用戶, 并且打開track_activities的時候才能獲得結果。
pg_stat_get_backend_waiting(integer) boolean 如果給定服務器進程在等待某個鎖,并且調(diào)用者是超級用戶或被查詢會話的用戶, 并且打開track_activities的時候才返回真。
pg_stat_get_backend_activity_start(integer) timestampwithtimezone 給定服務器進程當前正在執(zhí)行的查詢的起始時間,僅在調(diào)用者是超級用戶或被查詢會話的用戶, 并且打開track_activities的時候才能獲得結果。
pg_stat_get_backend_xact_start(integer) timestampwithtimezone 給定的服務進程當前正在執(zhí)行的事務的開始時間,但只有 當權用戶是超級用戶或正在被插敘的會話的相同用戶(同時 ,開啟track_activities)才可以使用。
pg_stat_get_backend_start(integer) timestampwithtimezone timezone給定服務器進程啟動的時間,如果當前用戶不是超級用戶或被查詢的后端的用戶,則返回NULL。
pg_stat_get_backend_client_addr(integer) inet 連接到給定服務器進程的客戶端IP地址。如果是通過Unix域套接字連接的則返回NULL。 如果當前用戶不是超級用戶或被查詢會話的用戶,也返回NULL。
pg_stat_get_backend_client_port(integer) integer 連接到給定服務器進程的客戶端IP端口。如果是通過Unix域套接字連接的則返回-1。 如果當前用戶不是超級用戶或被查詢會話的用戶,也返回NULL。
pg_stat_get_bgwriter_timed_checkpoints() bigint 后臺寫進程開啟定時檢查點的時間(因為 checkpoint_timeout時間已經(jīng)過期了)
pg_stat_get_bgwriter_requested_checkpoints() bigint 后臺寫進程開啟基于后端請求的檢查點的時間,因為已經(jīng)超過了checkpoint_segments 或因為已經(jīng)執(zhí)行了CHECKPOINT。
pg_stat_get_bgwriter_buf_written_checkpoints() bigint 在檢查點期間后臺寫進程寫入的緩沖區(qū)數(shù)目。
pg_stat_get_bgwriter_buf_written_clean() bigint 為日常清理臟塊,后臺寫進程寫入的緩沖區(qū)數(shù)目。
pg_stat_get_bgwriter_maxwritten_clean() bigint 后臺寫進程停止清理掃描的時間,因為 已經(jīng)寫入了更多的緩沖區(qū)(相比bgwriter_lru_maxpages 參數(shù)聲明的緩沖區(qū)數(shù))。
pg_stat_get_buf_written_backend() bigint 后端進程寫入的緩沖區(qū)數(shù),因為它們需要分配一個新的緩沖區(qū)。
pg_stat_get_buf_alloc() bigint 分配的總緩沖區(qū)數(shù)。
pg_stat_clear_snapshot() void 忽略當前的統(tǒng)計快照。
pg_stat_reset() void 為當前數(shù)據(jù)庫重置統(tǒng)計計數(shù)器為0(需要超級用戶權限)。
pg_stat_reset_shared(text) void 為當前數(shù)據(jù)庫集群重置共享統(tǒng)計計數(shù)器為0(需要超級用戶權限)。 調(diào)用pg_stat_reset_shared('bgwriter')將所有 pg_stat_bgwriter顯示的值置為0。
pg_stat_reset_single_table_counters(o id) void 為當前數(shù)據(jù)庫中的一個表或索引重置統(tǒng)計為0(需要超級用戶權限)。
pg_stat_reset_single_function_counters(o id) void 為當前數(shù)據(jù)庫中的一個函數(shù)重置統(tǒng)計為0(需要超級用戶權限)。

Note: pg_stat_get_blocks_fetched減去pg_stat_get_blocks_hit就是為該表、索引、數(shù)據(jù)庫而調(diào)用 內(nèi)核read()函數(shù)的數(shù)目;不過實際的物理讀取的數(shù)目通常比較低, 因為還有內(nèi)核級的緩沖。*_blks_read用減法統(tǒng)計列獲取減去結果

后端ID的所有功能,訪問有關后端的信息索引數(shù),除了pg_stat_get_activity,這是由PID功能。 pg_stat_get_backend_ idset函數(shù)提供了為每個活躍服務器進程生成一行的便捷方法。 比如,要顯示所有服務器進程的PID和它們的當前查詢:

SELECTpg_stat_get_backend_p id(s.backend id)ASprocp id,
pg_stat_get_backend_activity(s.backend id)AScurrent_query
FROM(SELECTpg_stat_get_backend_ idset()ASbackend id)ASs;

上一篇: 下一篇: