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 / 7.3 / 7.2 / 7.1
Tài liệu 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 kèo bóng đá pháp

Đặt kèo bóng đá pháp - Đặt các đặc điểm của kèo bóng đá pháp hiện tại

Tóm tắt

Đặt kèo bóng đá phápGiao dịch_mode[, ...]snapshot_idĐặt các đặc điểm phiên làm kèo bóng đá phápGiao dịch_mode[, ...]WHEREGiao dịch_modelà một trong:Cấp độ cô lập serializable | Đọc lặp lại |

Mô tả

TheĐặt kèo bóng đá phápLệnh đặt các đặc điểm của kèo bóng đá pháp hiện tại. Nó không có tác dụng đối với bất kỳ kèo bóng đá pháp tiếp theo nào.Đặt đặc điểm phiênĐặt các đặc điểm kèo bóng đá pháp mặc định cho các kèo bóng đá pháp tiếp theo của phiên. Các mặc định này có thể được ghi đè bởiĐặt kèo bóng đá phápĐối với một kèo bóng đá pháp riêng lẻ.

Đặc điểm kèo bóng đá pháp có sẵn là mức cách ly kèo bóng đá pháp, chế độ truy cập kèo bóng đá pháp (đọc/ghi hoặc chỉ đọc) và chế độ có thể bảo vệ. Ngoài ra, có thể chọn ảnh chụp nhanh, mặc dù chỉ cho kèo bóng đá pháp hiện tại, không phải là mặc định phiên.

Mức cách cô lập của một kèo bóng đá pháp xác định dữ liệu nào kèo bóng đá pháp có thể thấy khi các kèo bóng đá pháp khác đang chạy đồng thời:

Đọc cam kết

Một câu lệnh chỉ có thể thấy các hàng được thực hiện trước khi nó bắt đầu. Đây là mặc định.

Đọc lặp lại

Tất cả các câu lệnh của kèo bóng đá pháp hiện tại chỉ có thể thấy các hàng được thực hiện trước khi câu lệnh truy vấn hoặc sửa đổi dữ liệu đầu tiên được thực hiện trong kèo bóng đá pháp này.

serializable

Tất cả các báo cáo của kèo bóng đá pháp hiện tại chỉ có thể thấy các hàng được thực hiện trước khi câu lệnh truy vấn hoặc sửa đổi dữ liệu đầu tiên được thực hiện trong kèo bóng đá pháp này. Nếu một mô hình đọc và ghi giữa các kèo bóng đá pháp có thể nối tiếp đồng thời sẽ tạo ra một tình huống không thể xảy ra đối với bất kỳ hoạt động nối tiếp (một lần) của các kèo bóng đá pháp đó, một trong số chúng sẽ được quay lại bằng mộtserialization_failurelỗi.

Tiêu chuẩn SQL xác định một cấp độ bổ sung,Đọc không được cam kết. TRONGPostgreSQL Đọc không được cam kếtđược coi làĐọc cam kết.

Mức cách ly kèo bóng đá pháp không thể thay đổi sau câu lệnh truy vấn hoặc sửa đổi dữ liệu đầu tiên (Chọn, Chèn, Xóa, Cập nhật, Fetchhoặc​​Copy) của một kèo bóng đá pháp đã được thực thi. Nhìn thấyChương 13Để biết thêm thông tin về việc cô lập kèo bóng đá pháp và kiểm soát đồng thời.

Chế độ truy cập kèo bóng đá pháp xác định xem kèo bóng đá pháp được đọc/ghi hay chỉ đọc. Đọc/Viết là mặc định.Chèn, Cập nhật, XóaSao chép từNếu bảng họ sẽ viết cho không phải là một bảng tạm thời; tất cảTạo, ATTERthảlệnh;bình luận, Grant, thu hồi, cắt ngắn; VàGiải thích Phân tíchthực thiNếu lệnh họ sẽ thực thi nằm trong số những người được liệt kê. Đây là một khái niệm cấp cao về chỉ đọc không ngăn chặn tất cả các ghi vào đĩa.

Thecó thể hoãn lạiThuộc tính kèo bóng đá pháp không có hiệu lực trừ khi kèo bóng đá pháp cũng làserializableChỉ đọc. Khi cả ba thuộc tính này được chọn cho một kèo bóng đá pháp, kèo bóng đá pháp có thể chặn khi lần đầu tiên có được ảnh chụp nhanh của nó, sau đó nó có thể chạy mà không có chi phí bình thường của Aserializablekèo bóng đá pháp và không có bất kỳ rủi ro nào đóng góp hoặc bị hủy do lỗi tuần tự hóa. Chế độ này rất phù hợp cho các báo cáo hoặc bản sao lưu dài.

TheĐặt ảnh chụp nhanh kèo bóng đá phápLệnh cho phép một kèo bóng đá pháp mới chạy với cùng mộtSnapshotnhư một kèo bóng đá pháp hiện có. kèo bóng đá pháp đã tồn tại phải xuất khẩu ảnh chụp nhanh vớiPG_EXPORT_SNAPSHOTHàm (xemPhần 9.26.5). Chức năng đó trả về một định danh ảnh chụp nhanh, phải được trao choĐặt ảnh chụp kèo bóng đá phápĐể chỉ định ảnh chụp nhanh nào sẽ được nhập. Định danh phải được viết dưới dạng chuỗi theo nghĩa đen trong lệnh này, ví dụ'00000003-0000001B-1'. Đặt ảnh chụp kèo bóng đá phápChỉ có thể được thực thi khi bắt đầu kèo bóng đá pháp, trước câu lệnh truy vấn hoặc sửa đổi dữ liệu đầu tiên (Chọn, Chèn, Xóa, Cập nhật, FetchhoặcCopy) của kèo bóng đá pháp. Hơn nữa, kèo bóng đá pháp phải được đặt thànhserializablehoặcĐọc lặp lạiCấp độ cô lập (nếu không, ảnh chụp nhanh sẽ bị loại bỏ ngay lập tức, vìĐọc cam kếtChế độ có một ảnh chụp nhanh mới cho mỗi lệnh). Nếu kèo bóng đá pháp nhập sử dụngserializableCấp độ cô lập, sau đó kèo bóng đá pháp xuất khẩu ảnh chụp cũng phải sử dụng mức cô lập đó. Ngoài ra, một kèo bóng đá pháp không thể đọc không chỉ đọc không thể nhập ảnh chụp nhanh từ kèo bóng đá pháp chỉ đọc.

Ghi chú

nếuĐặt kèo bóng đá phápđược thực thi mà không có trướcBắt đầu kèo bóng đá pháphoặcbắt đầu, nó phát ra cảnh báo và nếu không thì không có hiệu lực.

Có thể phân phối vớiĐặt kèo bóng đá phápthay vào đó chỉ định mong muốnGiao dịch_modesinBắt đầuhoặcBắt đầu kèo bóng đá pháp. Nhưng tùy chọn đó không có sẵn choĐặt ảnh chụp nhanh kèo bóng đá pháp.

Các chế độ kèo bóng đá pháp mặc định phiên cũng có thể được đặt hoặc kiểm tra thông qua tham số cấu hìnhdefault_transaction_isolation, default_transaction_read_onlydefault_transaction_deferrable. (Trong thực tếĐặt đặc điểm phiênchỉ là một dòng tương đương để đặt các biến này vớiset.) Điều này có nghĩa là mặc định có thể được đặt trong tệp cấu hình, thông quathay đổi cơ sở dữ liệu, v.v. Tham khảoChương 19Để biết thêm thông tin.

Các chế độ của kèo bóng đá pháp hiện tại có thể được đặt tương tự hoặc kiểm tra thông qua tham số cấu hìnhGiao dịch_isolation, Giao dịch_read_onlyGiao dịch_deferrable. Đặt một trong các tham số này hoạt động giống như tương ứngĐặt kèo bóng đá phápTùy chọn, với các hạn chế tương tự khi có thể thực hiện được. Tuy nhiên, các tham số này không thể được đặt trong tệp cấu hình hoặc từ bất kỳ nguồn nào khác ngoài SQL trực tiếp.

Ví dụ

Để bắt đầu một kèo bóng đá pháp mới với cùng một ảnh chụp nhanh như một kèo bóng đá pháp đã có, trước tiên xuất khẩu ảnh chụp nhanh từ kèo bóng đá pháp hiện có. Điều đó sẽ trả về định danh ảnh chụp nhanh, ví dụ:

Bắt đầu mức độ cô lập được đọc lặp lại;

Sau đó đưa ra định danh ảnh chụp nhanh trong AĐặt ảnh chụp nhanh kèo bóng đá phápLệnh ở đầu kèo bóng đá pháp mới được mở:

Bắt đầu mức độ cô lập được đọc lặp lại;

Tương thích

Các lệnh này được xác định trongSQLtiêu chuẩn, ngoại trừcó thể hoãn lạiChế độ kèo bóng đá pháp vàĐặt ảnh chụp nhanh kèo bóng đá phápMẫu, đó làPostgreSQLTiện ích mở rộng.

serializablelà mức cách ly kèo bóng đá pháp mặc định trong tiêu chuẩn. TRONGPostgreSQLMặc định thường làĐọc không được cam kết, nhưng bạn có thể thay đổi nó như đã đề cập ở trên.

Trong tiêu chuẩn SQL, có một đặc tính kèo bóng đá pháp khác có thể được đặt với các lệnh này: kích thước của khu vực chẩn đoán. Khái niệm này dành riêng cho SQL nhúng và do đó không được triển khai trongPostgreSQLMáy chủ.

Tiêu chuẩn SQL yêu cầu dấu phẩy giữa liên tiếpGiao dịch_modes, nhưng vì lý do lịch sửPostgreSQLCho phép dấu phẩy bị bỏ qua.