PostgreSQL: kèo bóng đá hôm nay và ngày mai liệu: 9.6: | |||
---|---|---|---|
prev | UP | Chương 50. Danh mục hệ thống | NEXT |
View9919_9929Cung cấp quyền truy cập vào thông tin về các kèo bóng đá hom nay được tổ chức bởi các quy trình hoạt động trong máy chủ cơ sở dữ liệu. Nhìn thấyChương 13Để thảo luận thêm về kèo bóng đá hom nay.
pg_locksChứa một hàng trên mỗi đối tượng có thể kèo bóng đá hom nay hoạt động, chế độ kèo bóng đá hom nay được yêu cầu và quy trình liên quan. Do đó, cùng một đối tượng có thể kèo bóng đá hom nay có thể xuất hiện nhiều lần, nếu nhiều quy trình đang giữ hoặc chờ kèo bóng đá hom nay trên đó. Tuy nhiên, một đối tượng hiện không có kèo bóng đá hom nay trên đó sẽ không xuất hiện.
Có một số loại đối tượng có thể kèo bóng đá hom nay riêng biệt: toàn bộ mối quan hệ (ví dụ: bảng), các trang quan hệ riêng lẻ, các bộ dữ liệu cá nhân, ID giao dịch (cả ID ảo và ID vĩnh viễn) và các đối tượng cơ sở dữ liệu chung (được xác định bởi lớp OID và đối tượng OID, theo cùng một cáchpg_descriphoặcpg_depend). Ngoài ra, quyền mở rộng một mối quan hệ được biểu diễn dưới dạng đối tượng có thể kèo bóng đá hom nay riêng, như quyền cập nhậtpg_database.Datfrozenxid. Cũng,"Tư vấn"kèo bóng đá hom nay có thể được thực hiện trên các số có ý nghĩa do người dùng xác định.
Bảng 50-66.pg_lockscột
tên | loại | Tài kèo bóng đá hom nay tham khảo | Mô tả |
---|---|---|---|
LockType | Text | Loại đối tượng có thể kèo bóng đá hom nay:quan hệ, mở rộng, frozenid, trang, Tuple, TranstercentID, VirtualXid, Đối tượng, userlockhoặc11894_11904 | |
Cơ sở dữ kèo bóng đá hom nay | OID | PostgreSQL:.oid | OID của cơ sở dữ liệu trong đó mục tiêu kèo bóng đá hom nay tồn tại hoặc không nếu mục tiêu là đối tượng được chia sẻ hoặc null nếu mục tiêu là ID giao dịch |
Mối quan hệ | OID | pg_ class.oid | oid của mối quan hệ được nhắm mục tiêu bởi kèo bóng đá hom nay hoặc null nếu mục tiêu không phải là một mối quan hệ hoặc một phần của mối quan hệ |
trang | Số nguyên | Số trang được nhắm mục tiêu bởi kèo bóng đá hom nay trong quan hệ hoặc null nếu mục tiêu không phải là trang quan hệ hoặc tuple | |
Tuple | SmallInt | Số tuple được nhắm mục tiêu bởi kèo bóng đá hom nay trong trang hoặc null nếu mục tiêu không phải là một tuple | |
VirtualXid | Text | ID ảo của giao dịch được nhắm mục tiêu bởi kèo bóng đá hom nay hoặc null nếu mục tiêu không phải là ID giao dịch ảo | |
TranstercentID | XID | ID của giao dịch được nhắm mục tiêu bởi kèo bóng đá hom nay hoặc null nếu mục tiêu không phải là ID giao dịch | |
classId | OID | pg_ class.oid | OID của danh mục hệ thống chứa mục tiêu kèo bóng đá hom nay hoặc null nếu mục tiêu không phải là đối tượng cơ sở dữ liệu chung |
13820_13827 | OID | bất kỳ cột oid nào | oid của mục tiêu kèo bóng đá hom nay trong danh mục hệ thống của nó hoặc null nếu mục tiêu không phải là đối tượng cơ sở dữ liệu chung |
objsubid | SmallInt | Số cột được nhắm mục tiêu bởi kèo bóng đá hom nay (TheclassIDvàobjidTham khảo chính bảng) hoặc không nếu mục tiêu là một số đối tượng cơ sở dữ kèo bóng đá hom nay chung khác hoặc null nếu mục tiêu không phải là đối tượng cơ sở dữ kèo bóng đá hom nay chung | |
VirtualTransaction | Text | ID ảo của giao dịch đang giữ hoặc chờ kèo bóng đá hom nay này | |
PID | Số nguyên | ID xử lý của quy trình máy chủ giữ hoặc chờ kèo bóng đá hom nay này hoặc null nếu kèo bóng đá hom nay được giữ bởi một giao dịch đã chuẩn bị | |
Mode | Text | Tên của chế độ kèo bóng đá hom nay được giữ hoặc mong muốn bởi quy trình này (xemPhần 13.3.1vàPhần 13.2.3) | |
được cấp | Boolean | Đúng nếu kèo bóng đá hom nay được giữ, sai nếu kèo bóng đá hom nay được chờ đợi | |
Fastpath | Boolean | Đúng nếu kèo bóng đá hom nay được thực hiện qua đường dẫn nhanh, sai nếu được lấy qua bảng kèo bóng đá hom nay chính |
được cấplà đúng trong một hàng đại diện cho một kèo bóng đá hom nay được giữ bởi quy trình được chỉ định. Sai chỉ ra rằng quá trình này hiện đang chờ đợi để có được kèo bóng đá hom nay này, trong đó ngụ ý rằng ít nhất một quy trình khác đang giữ hoặc chờ chế độ kèo bóng đá hom nay mâu thuẫn trên cùng một đối tượng có thể kèo bóng đá hom nay. Quá trình chờ sẽ ngủ cho đến khi kèo bóng đá hom nay khác được phát hành (hoặc tình huống bế tắc được phát hiện). Một quy trình duy nhất có thể chờ để có được nhiều nhất một kèo bóng đá hom nay tại một thời điểm.
Trong suốt quá trình chạy giao dịch, quy trình máy chủ giữ kèo bóng đá hom nay độc quyền trên ID giao dịch ảo của giao dịch. Nếu ID vĩnh viễn được gán cho giao dịch (thường chỉ xảy ra nếu giao dịch thay đổi trạng thái của cơ sở dữ liệu), nó cũng giữ kèo bóng đá hom nay độc quyền trên ID giao dịch vĩnh viễn của giao dịch cho đến khi kết thúc. Khi một quy trình thấy cần phải chờ cụ thể để một giao dịch khác kết thúc, nó sẽ làm như vậy bằng cách cố gắng có được kèo bóng đá hom nay chia sẻ trên ID giao dịch khác (ID ảo hoặc vĩnh viễn tùy thuộc vào tình huống). Điều đó sẽ chỉ thành công khi giao dịch khác chấm dứt và phát hành kèo bóng đá hom nay của nó.
Mặc dù các bộ dữ liệu là một loại đối tượng có thể kèo bóng đá hom nay, thông tin về các kèo bóng đá hom nay cấp hàng được lưu trữ trên đĩa, không phải trong bộ nhớ và do đó kèo bóng đá hom nay cấp hàng thường không xuất hiện trong chế độ xem này. Nếu một quá trình đang chờ kèo bóng đá hom nay cấp hàng, nó thường sẽ xuất hiện trong chế độ xem khi chờ ID giao dịch vĩnh viễn của chủ sở hữu hiện tại của kèo bóng đá hom nay hàng đó.
kèo bóng đá hom nay tư vấn có thể được thu thập trên các kèo bóng đá hom nay bao gồm mộtBigintGiá trị hoặc hai giá trị số nguyên. MỘTBigintkèo bóng đá hom nay được hiển thị với một nửa thứ tự cao của nó trongclassIDCột, nửa thứ tự thấp của nó trongobjidCột vàobjsubidbằng 1. Bản gốcBigintGiá trị có thể được lắp lại với biểu thức(classid :: Bigint << 32) | objid :: Bigint. Các phím số nguyên được hiển thị với phím đầu tiên trongclassIDCột, phím thứ hai trongobjidCột vàobjsubidbằng 2. Ý nghĩa thực tế của các kèo bóng đá hom nay tùy thuộc vào người dùng. kèo bóng đá hom nay tư vấn là cục bộ cho mỗi cơ sở dữ liệu, vì vậyCơ sở dữ kèo bóng đá hom nayCột có ý nghĩa đối với kèo bóng đá hom nay tư vấn.
pg_locksCung cấp chế độ xem toàn cầu về tất cả các kèo bóng đá hom nay trong cụm cơ sở dữ liệu, không chỉ những cái liên quan đến cơ sở dữ liệu hiện tại. Mặc dù nóMối quan hệCột có thể được kết hợp vớipg_ class.oidĐể xác định các mối quan hệ bị kèo bóng đá hom nay, điều này sẽ chỉ hoạt động chính xác cho các mối quan hệ trong cơ sở dữ liệu hiện tại (những người màCơ sở dữ kèo bóng đá hom nay18431_18487
ThePIDCột có thể được nối vớiPIDCột củapg_stat_activityXem để nhận thêm thông tin về việc giữ phiên hoặc chờ mỗi kèo bóng đá hom nay, ví dụ
Chọn * từ pg_locks pl trái tham gia pg_stat_activity psa Trên pl.pid = psa.pid;
Ngoài ra, nếu bạn đang sử dụng các giao dịch đã chuẩn bị,VirtualTransactionCột có thể được nối vớiGiao dịchCột củakèo bóng đá hôm nay và ngày mai:Xem để có thêm thông tin về các giao dịch đã chuẩn bị giữ kèo bóng đá hom nay. (Một giao dịch đã chuẩn bị không bao giờ có thể chờ kèo bóng đá hom nay, nhưng nó tiếp tục giữ các kèo bóng đá hom nay mà nó có được trong khi chạy.) Ví dụ:
Chọn * từ pg_locks pl trái tham gia pg_prepared_xacts ppx Trên pl.virtualtransaction = '-1/' || ppx.transaction;
Mặc dù có thể có được thông tin về các quy trình nào chặn các quy trình khác bằng cách tham giapg_locksChống lại chính nó, điều này rất khó để có được đúng chi tiết. Một truy vấn như vậy sẽ phải mã hóa kiến thức về chế độ kèo bóng đá hom nay nào xung đột với những người khác. Tệ hơn,pg_locksXem không tiết lộ thông tin về các quy trình nào ở phía trước những người khác trong hàng đợi kèo bóng đá hom nay, cũng như thông tin về quy trình nào là công nhân song song chạy thay mặt cho các phiên khách hàng khác. Tốt hơn là sử dụngpg_blocking_pids ()
Hàm (xemBảng 9-59) Để xác định quy trình chờ nào bị chặn phía sau.
20341_20347pg_locksXem hiển thị dữ liệu từ cả trình quản lý kèo bóng đá hom nay thông thường và trình quản lý kèo bóng đá hom nay vị ngữ, là các hệ thống riêng biệt; Ngoài ra, trình quản lý kèo bóng đá hom nay thông thường chia các kèo bóng đá hom nay của nó thành thông thường vàđường dẫn nhanhkèo bóng đá hom nay. Dữ liệu này không được đảm bảo là hoàn toàn phù hợp. Khi chế độ xem được truy vấn, dữ liệu trên kèo bóng đá hom nay đường nhanh (vớiFastpath=20785_2079120794_21741
kèo bóng đá hom nay trình quản lý kèo bóng đá hom nay thông thường và/hoặc vị từ có thể có một số tác động đến hiệu suất cơ sở dữ liệu nếu chế độ xem này được truy cập rất thường xuyên. Các kèo bóng đá hom nay chỉ được giữ trong khoảng thời gian tối thiểu cần thiết để có được dữ liệu từ các trình quản lý kèo bóng đá hom nay, nhưng điều này không hoàn toàn loại bỏ khả năng tác động hiệu suất.