Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4
Tài tỷ lệ kèo bóng đá này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

tỷ lệ kèo bóng đá45.50.pg_locks

Viewpg_locksCung cấp quyền truy cập thông tin về các khóa được tổ chức bởi các giao dịch mở trong Máy chủ cơ sở dữ tỷ lệ kèo bóng đá. Nhìn thấyChương 13cho thảo luận thêm về tỷ lệ kèo bóng đá.

pg_lockschứa một hàng mỗi đối tượng có thể tỷ lệ kèo bóng đá hoạt động, chế độ tỷ lệ kèo bóng đá được yêu cầu và có liên quan giao dịch. Do đó, cùng một đối tượng có thể tỷ lệ kèo bóng đá có thể xuất hiện nhiều thời gian, nếu nhiều giao dịch đang giữ hoặc chờ tỷ lệ kèo bóng đá trên đó. Tuy nhiên, một đối tượng hiện không có tỷ lệ kèo bóng đá trên đó hoàn toàn không xuất hiện.

Có một số loại đối tượng có thể khóa riêng biệt: Toàn bộ quan hệ (ví dụ: bảng), các trang quan hệ riêng lẻ, Các bộ dữ tỷ lệ kèo bóng đá quan hệ cá nhân, ID giao dịch (cả ảo và ID cố định) và các đối tượng cơ sở dữ tỷ lệ kèo bóng đá chung (được xác định bởi lớp Oid và object oid, theo cách tương tự như trongpg_descriphoặcpg_depend). Ngoài ra, quyền mở rộng một quan hệ được biểu diễn dưới dạng đối tượng có thể tỷ lệ kèo bóng đá riêng.

Bảng 45-51.pg_lockscột

tên loại Tài tỷ lệ kèo bóng đá tham khảo Mô tả
LockType Text Loại đối tượng có thể tỷ lệ kèo bóng đá:Mối quan hệ, mở rộng, trang, Tuple, Giao dịchID, VirtualXid, Đối tượng, userlock,, hoặcTư vấn
Cơ sở dữ tỷ lệ kèo bóng đá oid pg_database.oid oid của cơ sở dữ tỷ lệ kèo bóng đá trong đó đối tượng tồn tại hoặc không nếu đối tượng là đối tượng được chia sẻ hoặc null nếu Đối tượng là ID giao dịch
Mối quan hệ OID pg_ class.oid oid của mối quan hệ hoặc null nếu đối tượng không phải là một quan hệ hoặc một phần của mối quan hệ
trang Số nguyên Số trang trong quan hệ hoặc null nếu đối tượng không phải là một tuple hoặc trang quan hệ
Tuple SmallInt số tuple trong trang hoặc null nếu đối tượng không phải là một tuple
VirtualXid Text ID ảo của tỷ lệ kèo bóng đá hoặc null nếu đối tượng là không phải là ID tỷ lệ kèo bóng đá ảo
TranstercentID XID id của tỷ lệ kèo bóng đá hoặc null nếu đối tượng không phải là một ID tỷ lệ kèo bóng đá
classID OID pg_ class.oid OID của danh mục hệ thống chứa đối tượng hoặc null nếu đối tượng không phải là đối tượng cơ sở dữ tỷ lệ kèo bóng đá chung
objid OID bất kỳ cột oid nào oid của đối tượng trong danh mục hệ thống của nó hoặc null Nếu đối tượng không phải là đối tượng cơ sở dữ tỷ lệ kèo bóng đá chung
objsubid SmallInt Đối với cột bảng, đây là số cột (classIDobjidTham khảo chính bảng). Vì Tất cả các loại đối tượng khác, cột này bằng không. NULL nếu Đối tượng không phải là đối tượng cơ sở dữ tỷ lệ kèo bóng đá chung
VirtualTransaction Text ID ảo của giao dịch đang nắm giữ hoặc Đang chờ tỷ lệ kèo bóng đá này
PID Số nguyên ID xử lý của quy trình máy chủ đang giữ hoặc chờ đợi tỷ lệ kèo bóng đá này. Null nếu tỷ lệ kèo bóng đá được giữ bởi một giao dịch.
Mode Text Tên của chế độ tỷ lệ kèo bóng đá được giữ hoặc mong muốn bởi quy trình này (nhìn thấyPhần 13.3.1)
được cấp Boolean Đúng nếu tỷ lệ kèo bóng đá được giữ, sai nếu tỷ lệ kèo bóng đá được chờ đợi

được cấplà đúng trong một hàng đại diện cho một tỷ lệ kèo bóng đá được tổ chức bởi giao dịch được chỉ định. SAI chỉ ra rằng giao dịch này hiện đang chờ để có được tỷ lệ kèo bóng đá này, ngụ ý rằng một số giao dịch khác đang giữ một Chế độ tỷ lệ kèo bóng đá mâu thuẫn trên cùng một đối tượng có thể tỷ lệ kèo bóng đá. Chờ đợi giao dịch sẽ ngủ cho đến khi tỷ lệ kèo bóng đá khác được phát hành (hoặc Tình trạng bế tắc được phát hiện). Một giao dịch duy nhất có thể là chờ để có được nhiều nhất một tỷ lệ kèo bóng đá tại một thời điểm.

Mỗi giao dịch đều có khóa độc quyền trên ảo ID giao dịch trong toàn bộ thời gian của nó. Nếu ID vĩnh viễn là được giao 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ữ tỷ lệ kèo bóng đá), nó cũng giữ một Khóa độc quyền trên ID giao dịch vĩnh viễn cho đến khi nó kết thúc. Khi một giao dịch thấy cần phải chờ cụ thể một giao dịch khác, nó làm như vậy bằng cách cố gắng mua lại chia sẻ khóa ID giao dịch khác (ID ảo hoặc ID 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 khóa của nó.

Mặc dù các bộ dữ tỷ lệ kèo bóng đá là một loại đối tượng có thể khóa, thông tin về các khóa cấp hàng được lưu trữ trên đĩa, không phải trong bộ nhớ và Do đó, khóa cấp hàng thường không xuất hiện trong chế độ xem này. Nếu như một giao dịch đang chờ khóa 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 người giữ hiện tại của khóa hàng đó.

tỷ lệ kèo bóng đá tư vấn có thể được mua trên các tỷ lệ kèo bóng đá bao gồm một đơnBigintGiá trị hoặc hai giá trị số nguyên. MỘTBiginttỷ lệ kèo bóng đá được hiển thị với nó một nửa thứ tự cao trongclassIdCột, nửa thứ tự thấp của nó trongobjidCột vàobjsubidbằng 1. Các phím số nguyên là đượ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 phím tùy thuộc vào người dùng. Khóa tư vấn là địa phương cho mỗi cơ sở dữ tỷ lệ kèo bóng đá, vì vậyCơ sở dữ tỷ lệ kèo bóng đáCột là có ý nghĩa cho một tỷ lệ kèo bóng đá tư vấn.

Khipg_locksXem là truy cập, cấu trúc dữ tỷ lệ kèo bóng đá trình quản lý khóa nội bộ là Trong giây lát bị khóa, và một bản sao được thực hiện để chế độ xem hiển thị. Điều này đảm bảo rằng chế độ xem tạo ra một tập hợp kết quả nhất quán, trong khi không chặn các hoạt động của trình quản lý khóa thông thường dài hơn cần thiết. Tuy nhiên, có thể có một số tác động đến cơ sở dữ tỷ lệ kèo bóng đá Hiệu suất nếu chế độ xem này thường xuyên được truy cập.

pg_locksCung cấp cái nhìn toàn cầu về Tất cả các khóa trong cụm cơ sở dữ tỷ lệ kèo bóng đá, không chỉ các khóa liên quan đến Cơ sở dữ tỷ lệ kèo bóng đá 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ị khóa, điều này sẽ chỉ hoạt động chính xác cho các mối quan hệ trong cơ sở dữ tỷ lệ kèo bóng đá hiện tại (những người đó màCơ sở dữ tỷ lệ kèo bóng đáCột là OID hoặc không cơ sở dữ tỷ lệ kèo bóng đá hiện tại).

ThePIDCột có thể được tham gia vào TheProcpidCột củapg_stat_activityXem để nhận thêm thông tin về phiên giữ hoặc chờ để giữ từng tỷ lệ kèo bóng đá, Ví dụ

Chọn * từ pg_locks pl trái tham gia pg_stat_activity psa
    Trên pl.pid = psa.procpid;

Ngoài ra, nếu bạn đang sử dụng các tỷ lệ kèo bóng đá đã chuẩn bị,VirtualTransactionCột có thể được nối vớitỷ lệ kèo bóng đáCột củapg_prepared_xactsXem để nhận thêm Thông tin về các giao dịch đã chuẩn bị giữ tỷ lệ kèo bóng đá. (Một chuẩn bị giao dịch không bao giờ có thể chờ tỷ lệ kèo bóng đá, nhưng nó tiếp tục Giữ các tỷ lệ kèo bóng đá 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;