×
思维导图备注
PostgreSQL 12 正體中文使用手冊
首页
白天
夜间
小程序
阅读
书签
我的书签
添加书签
移除书签
53. PostgreSQL 程式撰寫慣例
来源:pgsql-tw
浏览
340
扫码
分享
2020-06-21 17:41:52
53. PostgreSQL 程式撰寫慣例
53. PostgreSQL 程式撰寫慣例
当前内容版权归
pgsql-tw
或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
pgsql-tw
.
上一篇:
下一篇:
簡介
前言
1. 什麼是 PostgreSQL?
2. PostgreSQL 沿革
3. 慣例
4. 其他參考資訊
5. 問題回報指南
I. 新手教學
1. 入門指南
1.1. 安裝
1.2. 基礎架構
1.3. 建立一個資料庫
1.4. 存取一個資料庫
2. SQL 查詢語言
2.1. 簡介
2.2. 概念
2.3. 創建一個新的資料表
2.4. 資料列是資料表的組成單位
2.5. 資料表的查詢
2.6. 交叉查詢
2.7. 彙總查詢
2.8. 更新資料
2.9. 刪除資料
3. 先進功能
3.1. 簡介
3.2. 檢視表(View)
3.3. 外部索引鍵
3.4. 交易安全
3.5. 窗函數
3.6. 繼承
3.7. 結論
II. SQL 查詢語言
4. SQL 語法
4.1. 語法結構
4.2. 參數表示式
4.3. 函數呼叫
5. 定義資料結構
5.1. 認識資料表
5.2. 預設值
5.3. Generated Columns
5.4. 限制條件
5.5. 系統欄位
5.6. 表格變更
5.7. 權限
5.8. 資料列安全原則
5.9. Schemas
5.10. 繼承
5.11. 分割資料表
5.12. 外部資料
5.13. 其他資料庫物件
5.14. 相依性追蹤
6. 資料處理
6.1. 新增資料
6.2. 更新資料
6.3. 刪除資料
6.4. 修改並回傳資料
7. 資料查詢
7.1. 概觀
7.2. 資料表表示式
7.3. 取得資料列表
7.4. 合併查詢結果
7.5. 資料排序
7.6. 指定資料範圍
7.7. 列舉資料
7.8. 遞迴查詢(Common Table Expressions)
8. 資料型別
8.1. 數字型別
8.2. 貨幣型別
8.3. 字串型別
8.4. 位元組型別(bytea)
8.5. 日期時間型別
8.6. 布林型別
8.7. 列舉型別
8.8. 地理資訊型別
8.9. 網路資訊型別
8.10. 位元字串型別
8.11. 全文檢索型別
8.12. UUID 型別
8.13. XML 型別
8.14. JSON 型別
8.15. 陣列
8.16. 複合型別
8.17. 範圍型別
8.18. 指標型別
8.19. pg_lsn 型別
8.20. 概念型別
9. 函式及運算子
9.1. 邏輯運算子
9.2. 比較函式及運算子
9.3. 數學函式及運算子
9.4. 字串函式及運算子
9.5. 位元字串函式及運算子
9.6. 二元字串函式及運算子
9.7. 特徵比對
9.8. 型別轉換函式
9.9 日期時間函式及運算子
9.10. 列舉型別函式
9.11. 地理資訊函式及運算子
9.12. 網路位址函式及運算子
9.13. 文字檢索函式及運算子
9.14. XML 函式
9.15. JSON 函式及運算子
9.16. 序列函式
9.17. 條件表示式
9.18. 陣列函式及運算子
9.19. 範圍函式及運算子
9.20. 彙總函數
9.21. Window 函式
9.22. 子查詢
9.23. 資料列與陣列的比較運算
9.24. 集合回傳函式
9.25. 系統資訊函數
9.26. 系統管理函式
9.27. 觸發函式
9.28. 事件觸發函式
10. 型別轉換
10.1. 概觀
10.2. 運算子
10.3. 函式
10.4. 資料儲存轉換規則
10.5. UNION、CASE 等相關結構
10.6. SELECT 輸出規則
11. 索引(Index)
11.1. 簡介
11.2. 索引型別
11.3. 多欄位索引
11.4. 索引與 ORDER BY
11.5. 善用多個索引
11.6. 唯一值索引
11.7. 表示式索引
11.8. 部份索引(partial index)
11.9. 運算子物件及家族
11.10. 索引與排序規則
11.11. 索引限定查詢(Index-only scan)
11.12. 檢查索引運用
12. 全文檢索
12.1. 簡介
12.2. 查詢與索引
12.3. 細部控制
12.4. 延伸功能
12.5. 斷詞
12.6. 字典
12.7. 組態範例
12.8. 測試與除錯
12.9. GIN 及 GiST 索引型別
12.10. psql支援
12.11. 功能限制
13. 一致性管理(MVCC)
13.1. 簡介
13.2. 交易隔離
13.3. 鎖定模式
13.4. 在應用端檢視資料一致性
13.5. 特別注意
13.6. 鎖定與索引
14. 效能技巧
14.1. 善用 EXPLAIN
14.2. 統計資訊
14.3. 使用確切的 JOIN 方式
14.4. 快速建立資料庫內容
14.5. 彈性設定
15. 平行查詢
15.1. 如何運作?
15.2. 啓用時機?
15.3. 平行查詢計畫
15.4. 平行查詢的安全性
III. 系統管理
16. 用原始碼安裝
16.1. Short Version
16.2. Requirements
16.3. Getting The Source
16.4. 安裝流程
16.5. Post-Installation Setup
16.6. Supported Platforms
16.7. 平台相關的注意事項
17. 用原始碼在 Windows 上安裝
18. 服務配置與維運
18.1. PostgreSQL 使用者帳號
18.2. Creating a Database Cluster
18.3. Starting the Database Server
18.4. 核心資源管理
18.5. Shutting Down the Server
18.6. Upgrading a PostgreSQL Cluster
18.7. Preventing Server Spoofing
18.8. Encryption Options
18.9. Secure TCP/IP Connections with SSL
18.10. Secure TCP/IP Connections with GSSAPI Encryption
18.11. Secure TCP/IP Connections with SSH Tunnels
18.12. 在 Windows 註冊事件日誌
19. 服務組態設定
19.1. Setting Parameters
19.2. File Locations
19.3. 連線與認證
19.4. 資源配置
19.5. Write Ahead Log
19.6. 複寫(Replication)
19.7. 查詢規畫
19.8. 錯誤回報與日誌記錄
19.9. 執行階段統計資訊
19.10. 自動資料庫清理
19.11. 用戶端連線預設參數
19.12. 交易鎖定管理
19.13. 版本與平台的相容性
19.14. Error Handling
19.15. 預先配置的參數
19.16. Customized Options
19.17. Developer Options
19.18. Short Options
20. 使用者認證
20.1. 設定檔:pg_hba.conf
20.2. User Name Maps
20.3. Authentication Methods
20.4. Authentication Problems
20.5. Password Authentication
20.13. PAM Authentication
21. 資料庫角色
21.1. Database Roles
21.2. Role Attributes
21.3. Role Membership
21.4. 移除角色
21.5. Default Roles
21.6. Function Security
22. Managing Databases
22.1. Overview
22.2. Creating a Database
22.3. 樣版資料庫
22.4. Database Configuration
22.5. Destroying a Database
22.6. Tablespaces
23. 語系
23.1. 語系支援
23.2. Collation Support
23.3. 字元集支援
24. 例行性資料庫維護工作
24.1. 例行性資料清理
24.2. 定期重建索引
24.3. Log File Maintenance
25. 備份及還原
25.1. SQL Dump
25.2. 檔案系統層級備份
26. High Availability, Load Balancing, and Replication
26.3. Failover
26.5. Hot Standby
27. 監控資料庫活動
27.1. Standard Unix Tools
27.2. 統計資訊收集器
27.3. Viewing Locks
27.4. Progress Reporting
27.5. Dynamic Tracing
28. 監控磁碟使用情況
28.1. 瞭解磁碟使用情形
28.2. 磁碟空間不足錯誤
29. 高可靠度及預寫日誌
30.1. Reliability
30.2. Write-Ahead Logging(WAL)
30.3. Asynchronous Commit
30.4. WAL Configuration
30.5. WAL Internals
30. 邏輯複寫(Logical Replication)
31.1. 發佈(Publication)
31.2. 訂閱(Subscription)
31.3. 衝突處理
31.4. 限制
31.5. 架構
31.6. 監控
31.7. 安全性
31.8. 系統設定
31.9. 快速設定
31. Just-in-Time Compilation(JIT)
32.1. What is JIT compilation?
32.2. When to JIT?
32.3. Configuration
32.4. Extensibility
32. 迴歸測試
33.1. Running the Tests
33.2. Test Evaluation
33.3. Variant Comparison Files
33.4. TAP Tests
33.5. Test Coverage Examination
IV. 用戶端介面
33. libpq - C Library
33.1. 資料庫連線控制函數
33.2. 連線狀態函數
33.3. Command Execution Functions
33.4. Asynchronous Command Processing
33.5. Retrieving Query Results Row-By-Row
33.6. Canceling Queries in Progress
33.7. The Fast-Path Interface
33.8. Asynchronous Notification
33.9. Functions Associated with the COPY Command
33.10. Control Functions
33.11. Miscellaneous Functions
33.12. Notice Processing
33.13. Event System
33.14. 環境變數
33.15. 密碼檔
33.16. The Connection Service File
33.17. LDAP Lookup of Connection Parameters
33.18. SSL Support
33.19. Behavior in Threaded Programs
33.20. Building libpq Programs
33.21. Example Programs
34. Large Objects
35.1. Introduction
35.2. Implementation Features
35.3. Client Interfaces
35.4. Server-side Functions
35.5. Example Program
35. ECPG - Embedded SQL in C
36.1. The Concept
36.2. Managing Database Connections
36.3. Running SQL Commands
36.4. Using Host Variables
36.5. Dynamic SQL
36.6. pgtypes Library
36.7. Using Descriptor Areas
36.8. Error Handling
36.9. Preprocessor Directives
36.10. Processing Embedded SQL Programs
36.11. Library Functions
36.12. Large Objects
36.13. C++ Applications
36.14. Embedded SQL Commands
36.15. Informix Compatibility Mode
36.16. Internals
36. The Information Schema
36.1. The Schema
36.2. Data Types
36.3. information_schema_catalog_name
36.4. administrable_role_authorizations
36.5. applicable_roles
36.6. attributes
36.7. character_sets
36.8. check_constraint_routine_usage
36.9. check_constraints
36.10. collations
36.11. collation_character_set_applicability
36.12. column_domain_usage
36.13. column_options
36.14. column_privileges
36.15. column_udt_usage
36.16. columns
36.17. constraint_column_usage
37.18. constraint_table_usage
37.19. data_type_privileges
37.20. domain_constraints
37.21. domain_udt_usage
37.22. domains
37.23. element_types
37.24. enabled_roles
37.25. foreign_data_wrapper_options
37.26. foreign_data_wrappers
37.27. foreign_server_options
37.28. foreign_servers
37.29. foreign_table_options
37.30. foreign_tables
37.31. key_column_usage
37.32. parameters
37.33. referential_constraints
37.34. role_column_grants
37.35. role_routine_grants
37.36. role_table_grants
37.37. role_udt_grants
37.38. role_usage_grants
37.39. routine_privileges
37.40. routines
37.41. schemata
37.42. sequences
37.43. sql_features
37.44. sql_implementation_info
37.45. sql_languages
37.46. sql_packages
37.47. sql_parts
37.48. sql_sizing
37.49. sql_sizing_profiles
37.50. table_constraints
37.51. table_privileges
37.52. tables
37.53. transforms
37.54. triggered_update_columns
37.55. triggers
37.56. udt_privileges
37.57. usage_privileges
37.58. user_defined_types
37.59. user_mapping_options
37.60. user_mappings
37.61. view_column_usage
37.62. view_routine_usage
37.63. view_table_usage
37.64. views
V. 資料庫程式設計
37. SQL 延伸功能
37.1. How Extensibility Works
37.2. The PostgreSQL Type System
37.3. 使用者自訂函數
37.4. User-defined Procedures
37.5. Query Language (SQL) Functions
37.6. Function Overloading
37.7. 函數易變性類別
37.8. Procedural Language Functions
37.9. Internal Functions
37.10. C-Language Functions
37.11. Function Optimization Information
37.12. User-defined Aggregates
37.13. User-defined Types
37.14. User-defined Operators
37.15. Operator Optimization Information
37.16. Interfacing Extensions To Indexes
37.17. 封裝相關物件到延伸功能中
37.18. Extension Building Infrastructure
38. Triggers
39. Event Triggers
40. 規則系統
40.1. The Query Tree
40.2. Views and the Rule System
40.3. Materialized Views
40.4. Rules on INSERT, UPDATE, and DELETE
40.5. 規則及權限
40.6. Rules and Command Status
40.7. Rules Versus Triggers
41. Procedural Languages(程序語言)
41.1. Installing Procedural Languages
41.2. Structure of PL/pgSQL
41.5. Basic Statements
41.11. 深入了解 PL/pgSQL
43. PL/pgSQL - SQL Procedural Language
43.5. 基本語法
44. PL/Tcl - Tcl Procedural Language
45. PL/Perl - Perl Procedural Language
46. PL/Python - Python Procedural Language
47. Server Programming Interface
48. Background Worker Processes
49. Logical Decoding
50. Replication Progress Tracking
VI. 參考資訊
I. SQL 指令
ALTER DATABASE
ALTER DEFAULT PRIVILEGES
ALTER EXTENSION
ALTER FUNCTION
ALTER INDEX
ALTER LANGUAGE
ALTER MATERIALIZED VIEW
ALTER POLICY
ALTER PUBLICATION
ALTER ROLE
ALTER RULE
ALTER SCHEMA
ALTER SEQUENCE
ALTER STATISTICS
ALTER SUBSCRIPTION
ALTER SYSTEM
ALTER TABLE
ALTER TABLESPACE
ALTER TRIGGER
ALTER TYPE
ALTER VIEW
ANALYZE
CLUSTER
COMMENT
COPY
CREATE CAST
CREATE DATABASE
CREATE EXTENSION
CREATE FOREIGN TABLE
CREATE FOREIGN DATA WRAPPER
CREATE FUNCTION
CREATE INDEX
CREATE LANGUAGE
CREATE MATERIALIZED VIEW
CREATE DOMAIN
CREATE POLICY
CREATE PROCEDURE
CREATE PUBLICATION
CREATE ROLE
CREATE RULE
CREATE SCHEMA
CREATE SEQUENCE
CREATE SERVER
CREATE STATISTICS
CREATE SUBSCRIPTION
CREATE TABLE
CREATE TABLE AS
CREATE TABLESPACE
CREATE TRANSFORM
CREATE TRIGGER
CREATE TYPE
CREATE USER
CREATE USER MAPPING
CREATE VIEW
DELETE
DO
DROP DATABASE
DROP EXTENSION
DROP FUNCTION
DROP INDEX
DROP LANGUAGE
DROP MATERIALIZED VIEW
DROP OWNED
DROP POLICY
DROP ROLE
DROP RULE
DROP SCHEMA
DROP SEQUENCE
DROP STATISTICS
DROP SUBSCRIPTION
DROP TABLE
DROP TABLESPACE
DROP TRANSFORM
DROP TRIGGER
DROP TYPE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN
GRANT
IMPORT FOREIGN SCHEMA
INSERT
LISTEN
LOAD
NOTIFY
PREPARE TRANSACTION
REASSIGN OWNED
REFRESH MATERIALIZED VIEW
REINDEX
RESET
REVOKE
SECURITY LABEL
SELECT
SELECT INTO
SET
SET CONSTRAINTS
SET ROLE
SET SESSION AUTHORIZATION
SET TRANSACTION
SHOW
TRUNCATE
UNLISTEN
UPDATE
VACUUM
VALUES
II. PostgreSQL 用戶端工具
createdb
createuser
dropdb
dropuser
oid2name
pgbench
pg_basebackup
pg_dump
psql
vacuumdb
III. PostgreSQL 伺服器應用程式
initdb
pg_ctl
pg_test_timing
postgres
VII. 資料庫進階
50. Overview of PostgreSQL Internals
51. 系統目錄
51.3. pg_am
51.7. pg_attribute
51.8. pg_authid
51.9. pg_auth_members
51.11 pg_class
51.12. pg_collation
51.13. pg_constraint
51.15 pg_database
51.22. pg_extension
51.26 pg_index
51.29. pg_language
51.32. pg_namespace
51.33. pg_opclass
51.38. pg_policy
51.39. pg_proc
51.44. pg_rewrite
51.50. pg_statistic
51.51. pg_statistic_ext
51.54. pg_tablespace
51.56. pg_trigger
51.62. pg_type
51.66. pg_available_extensions
51.67. pg_available_extension_versions
51.74. pg_locks
51.79. pg_replication_origin_status
51.82 pg_roles
51.85. pg_settings
51.87. pg_stats
52. Frontend/Backend Protocol
52.1. Overview
52.2. Message Flow
52.3. SASL Authentication
52.4. Streaming Replication Protocol
52.5. Logical Streaming Replication Protocol
52.6. Message Data Types
52.7. Message Formats
52.8. Error and Notice Message Fields
52.9. Logical Replication Message Formats
52.10. Summary of Changes since Protocol 2.0
53. PostgreSQL 程式撰寫慣例
53.1. Formatting
53.2. Reporting Errors Within the Server
53.3. Error Message Style Guide
53.4. Miscellaneous Coding Conventions
54. Native Language Support
54.1. For the Translator
54.2. For the Programmer
55. 撰寫程序語言的處理程序
56. Writing a Foreign Data Wrapper
56.1. Foreign Data Wrapper Functions
56.2. Foreign Data Wrapper Callback Routines
56.3. Foreign Data Wrapper Helper Functions
56.4. Foreign Data Wrapper Query Planning
56.5. Row Locking in Foreign Data Wrappers
64. GiST Indexes
64.1. Introduction
64.2. Built-in Operator Classes
64.3. Extensibility
64.4. Implementation
64.5. Examples
65. SP-GiST Indexes
65.1. Introduction
65.2. Built-in Operator Classes
65.3. Extensibility
65.4. Implementation
65.5. Examples
66. GIN 索引
66.1. 簡介
66.2. 內建運算子類
66.3. Extensibility
66.4. Implementation
66.5. GIN Tips and Tricks
66.6. Limitations
66.7. Examples
67. BRIN Indexes
67.1. Introduction
67.2. Built-in Operator Classes
67.3. Extensibility
68. 資料庫實體儲存格式
68.1. Database File Layout
68.2. TOAST
68.3. Free Space Map
68.4 可視性映射表(Visibility Map)
68.5. The Initialization Fork
68.6. Database Page Layout
70. How the Planner Uses Statistics
70.2. Multivariate Statistics Examples
VIII. 附錄
A. PostgreSQL 錯誤代碼
B. 日期時間格式支援
B.1. 日期時間解譯流程
B.2. 日期時間慣用字
B.3. 日期時間設定檔
B.4. 日期時間的沿革
C. SQL 關鍵字
D. SQL 相容性
E. 版本資訊
F. 延伸支援模組
F.4. auto_explain
F.11. dblink
F.29. pg_stat_statements
dblink
F.33. pg_visibility
F.35. sepgsql
G. Additional Supplied Programs
G.1. Client Applications
oid2name
vacuumlo
G.2. Server Applications
pg_standby
H. 外部專案
H.1. 用戶端介面
H.2. Administration Tools
H.3. Procedural Languages
H.4. Extensions
I. The Source Code Repository
I.1. Getting The Source via Git
J. 文件取得
K. 縮寫字
參考書目
暂无相关搜索结果!
本文档使用
BookStack
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
普通下载
下载码下载(免登录无限下载)
你与大神的距离,只差一个APP
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
温馨提示
每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
下载码方式下载:免费、免登录、无限制。
免费获取下载码
下载码
文档格式
PDF
EPUB
MOBI
码上下载
×
微信小程序阅读
您与他人的薪资差距,只差一个随时随地学习的小程序
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度