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
Tài cách đọc 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ách đọc kèo bóng đá phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

9.26. Chức cách đọc kèo bóng đá quản trị hệ thống

Các chức cách đọc kèo bóng đá được mô tả trong phần này được sử dụng để kiểm soát và Giám sát APostgreSQLCài đặt.

9.26.1. Cài đặt cấu hình Chức cách đọc kèo bóng đá

Bảng 9-59Hiển thị các chức cách đọc kèo bóng đá có sẵn để truy vấn và thay đổi thời gian chạy tham số cấu hình.

Bảng 9-59. Cài đặt cấu hình Chức cách đọc kèo bóng đá

tên Return Type Mô tả
current_sinsting (settings_name) Text Nhận giá trị hiện tại của cài đặt
set_config (settings_name, new_value, IS_LOCAL) Text Đặt tham số và trả về giá trị mới

hàmcurrent_sinstingmang lại giá trị hiện tại của cài đặtsettings_name. Nó tương ứng vớiSQLlệnhshow. Một ví dụ:

11909_12001

set_configĐặt tham sốsettings_nameđếnnew_value. Nếu nhưIS_LOCALtrue, giá trị mới sẽ chỉ áp dụng cho giao dịch hiện tại. Nếu bạn muốn giá trị mới áp dụng cho Phiên hiện tại, sử dụngSaiThay vào đó. Các chức cách đọc kèo bóng đá tương ứng với lệnh sqlset. Một ví dụ:

Chọn set_config ('log_statement_stats', 'off', false);

 set_config
------------
 tắt
(1 hàng)

9.26.2. Tín hiệu máy chủ Chức cách đọc kèo bóng đá

Các chức cách đọc kèo bóng đá được hiển thị trongBảng 9-60Gửi tín hiệu điều khiển đến các quy trình máy chủ khác. Sử dụng những điều này Các chức cách đọc kèo bóng đá thường được giới hạn ở các siêu người dùng, với ghi chú ngoại lệ.

Bảng 9-60. Chức cách đọc kèo bóng đá báo hiệu máy chủ

tên Loại trả lại Mô tả
PG_CANCEL_BACKEND (PID int) Boolean Hủy truy vấn hiện tại của phụ trợ. Bạn có thể thực hiện điều này chống lại một phụ trợ khác có vai trò chính xác như người dùng gọi chức cách đọc kèo bóng đá. Trong tất cả các trường hợp khác, bạn phải là một siêu nhân.
pg_reload_conf () Boolean Nguyên nhân cách đọc kèo bóng đá quy trình máy chủ tải lại cách đọc kèo bóng đá tệp cấu hình của họ
PG_ROTATE_LOGFILE () Boolean Tập tin nhật ký của máy chủ xoay
pg_terminate_backend (PID int) Boolean Chấm dứt phụ trợ. Bạn có thể thực hiện điều này đối với người khác phụ trợ có chính xác vai trò giống như người dùng gọi chức cách đọc kèo bóng đá. Trong tất cả các trường hợp khác, bạn phải là một siêu nhân.

Mỗi chức cách đọc kèo bóng đá này trả vềTRUENếu thành công vàfalsenếu không.

PG_CANCEL_BACKENDpg_terminate_backendGửi tín hiệu (SiginthoặcSigterm14793_14915PIDCột củapg_stat_activityXem hoặc bằng cách liệt kê ThePostgresQuy trình trên máy chủ (sử dụngPStrên Unix hoặcTrình cách đọc kèo bóng đá lý tác vụtrênWindows). Vai trò của một phụ trợ hoạt động có thể là tìm thấy từusenameCột củapg_stat_activityXem.

PG_RELOAD_CONFGửi ASIGHUP15490_15582

PG_ROTATE_LOGFILE15635_15827

9.26.3. Chức cách đọc kèo bóng đá điều khiển sao lưu

Các chức cách đọc kèo bóng đá được hiển thị trongBảng 9-61Hỗ trợ thực hiện các bản sao lưu trực tuyến. Những chức cách đọc kèo bóng đá này không thể được thực hiện trong quá trình phục hồi (trừPG_IS_IN_BACKUP, pg_backup_start_timePG_XLOG_Location_Diff).

Bảng 9-61. Chức cách đọc kèo bóng đá điều khiển sao lưu

tên Return Type 16599_16612
pg_create_restore_point (tên Text) Text Tạo một điểm được đặt tên để thực hiện khôi phục (giới hạn ở Superusers)
Text Nhận vị trí chèn nhật ký giao dịch hiện tại
Text Nhận vị trí ghi nhật ký giao dịch hiện tại
pg_start_backup (nhãn Text[, nhanh Boolean]) Text 17590_17677
pg_stop_backup () Text Kết thúc việc thực hiện sao lưu trực tuyến (giới hạn ở Superusers hoặc Vai trò sao chép)
pg_is_in_backup () bool Đúng nếu sao lưu độc quyền trực tuyến vẫn đang được tiến hành.
pg_backup_start_time () dấu thời gian với múi giờ Nhận thời gian bắt đầu của bản sao lưu độc quyền trực tuyến đang được tiến hành.
pg_switch_xlog () Text 18453_18524
pg_xlogfile_name (Vị trí Text) Text Chuyển đổi chuỗi vị trí nhật ký giao dịch thành tên tệp
pg_xlogfile_name_offset (Vị trí Text) Text, Số nguyên Chuyển đổi chuỗi vị trí nhật ký giao dịch thành tên tệp và Độ lệch byte thập phân trong tệp
pg_xlog_location_diff (Vị trí Text, Vị trí Text) Số Tính toán sự khác biệt giữa hai nhật ký giao dịch vị trí

pg_start_backupChấp nhận một Nhãn định nghĩa người dùng tùy ý cho bản sao lưu. (Thông thường điều này sẽ là tên mà theo đó tệp kết xuất dự phòng sẽ được lưu trữ.) chức cách đọc kèo bóng đá ghi một tệp nhãn sao lưu (Backup_Label) vào dữ cách đọc kèo bóng đá của cụm cơ sở dữ cách đọc kèo bóng đá thư mục, thực hiện một điểm kiểm tra và sau đó trả về bản sao lưu Bắt đầu vị trí nhật ký giao dịch như văn bản. Người dùng có thể bỏ qua điều này giá trị kết quả, nhưng nó được cung cấp trong trường hợp nó hữu ích.

postgres =# chọn pg_start_backup ('label_goes_here');
 pg_start_backup
-----------------
 0/D4445B8
(1 hàng)

Có một tham số thứ hai tùy chọn loạiBoolean. Nếu nhưTRUE, nó chỉ định thực thi20284_20301nhanh chóng càng tốt. Điều này buộc một trạm kiểm soát ngay lập tức sẽ gây ra tăng đột biến trong cách đọc kèo bóng đá hoạt động I/O, làm chậm mọi thực thi đồng thời truy vấn.

pg_stop_backupXóa nhãn Tệp được tạo bởipg_start_backup, và Tạo một tệp lịch sử sao lưu trong khu vực lưu trữ nhật ký giao dịch. Tệp lịch sử bao gồm nhãn được cung cấp chopg_start_backup, Sự khởi đầu và kết thúc Vị trí nhật ký giao dịch cho bản sao lưu, và bắt đầu và Thời gian kết thúc của bản sao lưu. Giá trị trả về là kết thúc của bản sao lưu Vị trí nhật ký giao dịch (một lần nữa có thể bị bỏ qua). Sau đó Ghi lại vị trí kết thúc, nhật ký giao dịch hiện tại Điểm chèn được tự động nâng cấp sang giao dịch tiếp theo Tệp nhật ký, để tệp nhật ký giao dịch kết thúc có thể được lưu trữ ngay lập tức để hoàn thành bản sao lưu.

pg_switch_xlogChuyển sang tiếp theo Tệp nhật ký giao dịch, cho phép tệp hiện tại được lưu trữ (Giả sử bạn đang sử dụng lưu trữ liên tục). Giá trị trả về là Vị trí nhật ký giao dịch kết thúc + 1 trong vòng hoàn thành Tệp nhật ký giao dịch. Nếu không có hoạt động nhật ký giao dịch Kể từ khi chuyển đổi nhật ký giao dịch cuối cùng,pg_switch_xlogKhông làm gì và trả lại bắt đầu Vị trí của tệp nhật ký giao dịch hiện đang được sử dụng.

pg_create_restore_pointTạo a Bản ghi nhật ký giao dịch được đặt tên có thể được sử dụng làm mục tiêu khôi phục, và trả về vị trí nhật ký giao dịch tương ứng. cách đọc kèo bóng đá Tên sau đó có thể được sử dụng vớirecovery_target_nameĐể chỉ định điểm cho sự phục hồi sẽ tiến hành. Tránh xa Tạo nhiều điểm khôi phục có cùng tên, kể từ khi phục hồi sẽ dừng ở người đầu tiên có tên phù hợp với sự phục hồi mục tiêu.

Hiển thị Vị trí ghi nhật ký giao dịch hiện tại ở cùng định dạng được sử dụng bởi các chức cách đọc kèo bóng đá trên. Tương tự,Hiển thị Điểm chèn nhật ký giao dịch hiện tại. Điểm chèn là"logic"Kết thúc nhật ký giao dịch tại bất kỳ tức thời nào, trong khi vị trí ghi là kết thúc của những gì đã Trên thực tế đã được viết ra từ bộ đệm nội bộ của máy chủ. cách đọc kèo bóng đá Vị trí ghi là kết thúc của những gì có thể được kiểm tra từ bên ngoài máy chủ và thường là những gì bạn muốn nếu bạn quan tâm Lưu trữ cách đọc kèo bóng đá tệp nhật ký giao dịch hoàn chỉnh một phần. Việc chèn Điểm được cung cấp chủ yếu cho mục đích gỡ lỗi máy chủ. Đây là cả hai hoạt động chỉ đọc và không yêu cầu Superuser quyền.

Bạn có thể sử dụngpg_xlogfile_name_offset23140_23274

postgres =# select * từ pg_xlogfile_name_offset (pg_stop_backup ());
        FILE_NAME | FILE_OFFSET 
--------------------------+-------------
 00000001000000000000000D |     4039624
(1 hàng)

Tương tự,PG_XLOGFILE_NAMETrích xuất chỉ tên tệp nhật ký giao dịch. Khi được cho Vị trí nhật ký giao dịch chính xác là tại một tệp nhật ký giao dịch Ranh giới, cả hai chức cách đọc kèo bóng đá này đều trả về tên của phần trước Tệp nhật ký giao dịch. Đây thường là hành vi mong muốn cho Quản lý hành vi lưu trữ nhật ký giao dịch, kể từ trước Tệp là tệp cuối cùng hiện đang cần được lưu trữ.

pg_xlog_location_diffTính toán Sự khác biệt về byte giữa hai vị trí nhật ký giao dịch. Nó có thể được sử dụng vớiPG_STAT_REPLICATIONhoặc Một số chức cách đọc kèo bóng đá được hiển thị trongBảng 9-61Để có được độ trễ sao chép.

Để biết chi tiết về việc sử dụng đúng các chức cách đọc kèo bóng đá này, xemPhần 24.3.

9.26.4. Kiểm soát phục hồi Chức cách đọc kèo bóng đá

Các chức cách đọc kèo bóng đá được hiển thị trongBảng 9-62Cung cấp thông tin về trạng thái hiện tại của chế độ chờ. Những cái này Các chức cách đọc kèo bóng đá có thể được thực thi cả trong quá trình phục hồi và bình thường đang chạy.

Bảng 9-62. Các chức cách đọc kèo bóng đá thông tin phục hồi

tên Loại trả lại Mô tả
pg_is_in_recovery () bool Đúng nếu phục hồi vẫn đang được tiến hành.
pg_last_xlog_receive_location () Text Nhận vị trí nhật ký giao dịch cuối cùng nhận được và đồng bộ hóa với đĩa bằng cách phát trực tuyến sao chép. Trong khi sao chép phát trực tuyến ở Tiến bộ Điều này sẽ tăng đơn điệu. Nếu phục hồi có hoàn thành điều này sẽ vẫn tĩnh theo giá trị của wal cuối cùng Hồ sơ nhận được và đồng bộ hóa với đĩa trong quá trình phục hồi. Nếu phát trực tuyến sao chép bị vô hiệu hóa hoặc nếu nó chưa bắt đầu, chức cách đọc kèo bóng đá trả về null.
pg_last_xlog_replay_location () Text Nhận vị trí nhật ký giao dịch cuối cùng được phát lại trong quá trình phục hồi. Nếu như Phục hồi vẫn đang được tiến hành, điều này sẽ tăng đơn điệu. Nếu như Phục hồi đã hoàn thành sau đó giá trị này sẽ vẫn tĩnh tại Giá trị của bản ghi WAL cuối cùng được áp dụng trong quá trình phục hồi đó. Khi máy chủ đã được bắt đầu bình thường mà không cần khôi phục chức cách đọc kèo bóng đá trả về null.
pg_last_xact_replay_timestamp () dấu thời gian với múi giờ Nhận tem thời gian của giao dịch cuối cùng được phát lại trong quá trình phục hồi. Đây là thời gian mà cam kết hoặc hủy bỏ WAL ghi lại điều đó Giao dịch được tạo ra trên chính. Nếu không có giao dịch nào có Đã được phát lại trong quá trình phục hồi, chức cách đọc kèo bóng đá này trả về null. Nếu không, nếu sự phục hồi vẫn đang được tiến hành, điều này sẽ tăng đơn điệu. Nếu phục hồi đã hoàn thành thì giá trị này sẽ vẫn tĩnh theo giá trị của giao dịch cuối cùng được áp dụng trong sự phục hồi đó. Khi máy chủ đã được khởi động bình thường mà không có Phục hồi chức cách đọc kèo bóng đá trả về null.

Các chức cách đọc kèo bóng đá được hiển thị trongBảng 9-63Kiểm soát tiến trình phục hồi. Những chức cách đọc kèo bóng đá này có thể là chỉ được thực hiện trong quá trình phục hồi.

Bảng 9-63. Chức cách đọc kèo bóng đá điều khiển khôi phục

tên Return Type Mô tả
bool Đúng nếu phục hồi được tạm dừng.
pg_xlog_replay_pause () void Phục hồi tạm dừng ngay lập tức.
pg_xlog_replay_resume () void Khởi động lại phục hồi nếu nó bị tạm dừng.

Trong khi phục hồi được tạm dừng không có thay đổi cơ sở dữ cách đọc kèo bóng đá nào nữa áp dụng. Nếu ở chế độ chờ nóng, tất cả các truy vấn mới sẽ thấy giống nhau ảnh chụp nhanh nhất quán của cơ sở dữ cách đọc kèo bóng đá và không có xung đột truy vấn nào nữa sẽ được tạo cho đến khi phục hồi được nối lại.

28374_28702

28836_28880

POSTGRESQLCho phép cơ sở dữ cách đọc kèo bóng đá Phiên để đồng bộ hóa ảnh chụp nhanh của họ. MỘTSnapshotXác định dữ liệu nào có thể hiển thị cho Giao dịch đang sử dụng ảnh chụp nhanh. Ảnh chụp nhanh được đồng bộ hóa là cần thiết khi hai hoặc nhiều phiên cần xem nội dung giống hệt nhau trong cơ sở dữ liệu. Nếu hai phiên chỉ bắt đầu giao dịch của họ độc lập, luôn có khả cách đọc kèo bóng đá một số thứ ba Giao dịch cam kết giữa các lần thực hiện của haiBắt đầu giao dịchcách đọc kèo bóng đá lệnh, để một phiên nhìn thấy ảnh hưởng của giao dịch đó và cái khác thì không.

Để giải quyết vấn đề này,PostgreSQLCho phép giao dịch đếnXuấtẢnh chụp nhanh mà nó đang sử dụng. Miễn là Xuất giao dịch vẫn mở, cách đọc kèo bóng đá giao dịch khác có thểNhập29778_30203

Ảnh chụp nhanh được xuất vớipg_export_snapshotHàm, hiển thị trongBảng 9-64và nhập vớiĐặt giao dịchlệnh.

Bảng 9-64. Chức cách đọc kèo bóng đá đồng bộ hóa chụp nhanh

tên Loại trả lại Mô tả
pg_export_snapshot () Text Lưu ảnh chụp nhanh hiện tại và trả về định danh của nó

hàmpg_export_snapshotLưu ảnh chụp nhanh hiện tại và trả về ATextChuỗi xác định ảnh chụp nhanh. Chuỗi này phải được thông qua (ngoài cơ sở dữ cách đọc kèo bóng đá) cho các máy khách muốn nhập ảnh chụp nhanh. Ảnh chụp nhanh chỉ khả dụng để nhập cho đến khi kết thúc giao dịch đã xuất khẩu nó. Một giao dịch có thể xuất nhiều hơn Một ảnh chụp nhanh, nếu cần. Lưu ý rằng làm như vậy chỉ hữu ích trongĐọc cam kếtGiao dịch, kể từĐọc lặp lạivà cách ly cao hơn cách đọc kèo bóng đá cấp, giao dịch sử dụng cùng một ảnh chụp nhanh trong suốt trọn đời. Khi một giao dịch đã xuất bất kỳ ảnh chụp nhanh nào, nó không thể được chuẩn bị vớiPostgreSQL: Tài liệu:.

xemPostgreSQL: Tàicho Chi tiết về cách sử dụng ảnh chụp nhanh đã xuất.

9.26.6. Quản lý đối tượng cơ sở dữ liệu Chức cách đọc kèo bóng đá

cách đọc kèo bóng đá hàm được hiển thị trongBảng 9-65Tính cách sử dụng không gian đĩa của các đối tượng cơ sở dữ cách đọc kèo bóng đá.

Bảng 9-65. Chức cách đọc kèo bóng đá kích thước đối tượng cơ sở dữ liệu

tên Return Type Mô tả
pg_column_size (any) int Số byte được sử dụng để lưu trữ một giá trị cụ thể (có thể được nén)
pg_database_size (oid) Bigint Không gian đĩa được sử dụng bởi cơ sở dữ cách đọc kèo bóng đá với OID được chỉ định
pg_database_size (tên) Bigint Không gian đĩa được sử dụng bởi cơ sở dữ cách đọc kèo bóng đá với tên được chỉ định
pg_indexes_size (RegClass) Bigint Tổng dung lượng đĩa được sử dụng bởi cách đọc kèo bóng đá chỉ mục được gắn vào bàn
pg_relation_size (Mối quan hệ RegClass, Fork Text) BIGINT Không gian đĩa được sử dụng bởi ngã ba được chỉ định ('Main', 'FSM', 'VM'hoặc'init') của Bảng hoặc chỉ mục được chỉ định
pg_relation_size (Mối quan hệ RegClass) Bigint tốc ký chopg_relation_size (..., 'chủ yếu')
pg_size_pretty (Bigint) Text Chuyển đổi kích thước bằng byte được biểu thị dưới dạng số nguyên 64 bit thành A A Định dạng có thể đọc được với cách đọc kèo bóng đá đơn vị kích thước
pg_size_pretty (Số) Text Chuyển đổi kích thước thành byte được biểu thị dưới dạng giá trị số thành a Định dạng có thể đọc được với cách đọc kèo bóng đá đơn vị kích thước
pg_table_size (RegClass) Bigint Không gian đĩa được sử dụng bởi bảng được chỉ định, không bao gồm cách đọc kèo bóng đá chỉ mục (nhưng bao gồm bánh mì nướng, bản đồ không gian trống và bản đồ hiển thị)
pg_tablespace_size (oid) BIGINT Không gian đĩa được sử dụng bởi không gian bảng với OID được chỉ định
pg_tablespace_size (tên) Bigint Không gian đĩa được sử dụng bởi không gian bảng có tên được chỉ định
pg_total_relation_size (RegClass) BIGINT Tổng dung lượng đĩa được sử dụng bởi bảng được chỉ định, bao gồm tất cả chỉ mục vàcách đọc kèo bóngData

pg_column_sizeHiển thị không gian Được sử dụng để lưu trữ bất kỳ giá trị dữ cách đọc kèo bóng đá riêng lẻ nào.

PG_TOTAL_RELATION_SIZE35992_36168pg_table_size + pg_indexes_size.

pg_table_sizeChấp nhận OID hoặc Tên của một bảng và trả về không gian đĩa cần thiết cho bảng đó, không bao gồm các chỉ mục. (Không gian nướng, bản đồ không gian trống và khả cách đọc kèo bóng đá hiển thị Bản đồ được bao gồm.)

pg_indexes_sizeChấp nhận OID hoặc tên của một bảng và trả về tổng dung lượng đĩa được sử dụng bởi tất cả cách đọc kèo bóng đá chỉ mục được gắn vào bảng đó.

pg_database_sizepg_tablespace_sizeChấp nhận OID hoặc tên của A cơ sở dữ cách đọc kèo bóng đá hoặc không gian bảng và trả về tổng dung lượng đĩa được sử dụng trong đó. Sử dụngPG_DATABASE_SIZE, Bạn Phải cókết nốiquyền trên Cơ sở dữ cách đọc kèo bóng đá được chỉ định (được cấp theo mặc định). Sử dụngpg_tablespace_size, bạn phải cóTạoQuyền trên được chỉ định không gian bảng, trừ khi đó là không gian bảng mặc định cho hiện tại cơ sở dữ cách đọc kèo bóng đá.

pg_relation_sizeChấp nhận OID hoặc tên của bảng, chỉ mục hoặc bảng bánh mì nướng và trả về Kích thước trong byte của một nĩa của mối quan hệ đó. (Lưu ý rằng đối với hầu hết Mục đích sẽ thuận tiện hơn khi sử dụng cách đọc kèo bóng đá hàm cấp cao hơnPG_TOTAL_RELATION_SIZEhoặcpg_table_size, tổng hợp các kích thước của Tất cả các dĩa.) Với một đối số, nó trả về kích thước của dữ cách đọc kèo bóng đá chính Ngã ba của mối quan hệ. Đối số thứ hai có thể được cung cấp cho Chỉ định nĩa nào để kiểm tra:

  • 'Main'Trả về kích thước của chính Ngã ba dữ cách đọc kèo bóng đá của mối quan hệ.

  • 'FSM'Trả về kích thước của miễn phí Bản đồ không gian (xemPhần 58.3) liên kết với mối quan hệ.

  • 'VM'Trả về kích thước của khả cách đọc kèo bóng đá hiển thị Bản đồ (xemPhần 58.4) được liên kết với mối quan hệ.

  • 'init'Trả về kích thước của Khởi tạo ngã ba, nếu có, (xemPhần 58.5) được liên kết với mối quan hệ.

pg_size_pretty38511_38640

cách đọc kèo bóng đá hàm trên hoạt động trên cách đọc kèo bóng đá bảng hoặc chỉ mục chấp nhận ARegClassĐối số, chỉ đơn giản là oid của bảng hoặc chỉ mục trongPG_CLASSDanh mục cách đọc kèo bóng đá. Bạn không cần phải tìm kiếm OID bằng tay, Tuy nhiên, kể từRegClassĐầu vào của loại dữ cách đọc kèo bóng đá Bộ chuyển đổi sẽ làm công việc cho bạn. Chỉ cần viết tên bảng Được đặt trong các trích dẫn đơn để nó trông giống như một hằng số theo nghĩa đen. Để tương thích với việc xử lý thông thườngSQLTên, chuỗi sẽ được chuyển đổi thành chữ thường trừ khi nó chứa cách đọc kèo bóng đá báo giá kép xung quanh bảng tên.

Nếu OID không đại diện cho một đối tượng hiện có được truyền Là đối số cho một trong các chức cách đọc kèo bóng đá trên, null được trả về.

cách đọc kèo bóng đá hàm được hiển thị trongBảng 9-66Hỗ trợ xác định các tệp đĩa cụ thể được liên kết với Đối tượng cơ sở dữ cách đọc kèo bóng đá.

Bảng 9-66. Chức cách đọc kèo bóng đá vị trí đối tượng cơ sở dữ liệu

tên Loại trả lại Mô tả
PG_RELATION_FILENODE (Mối quan hệ RegClass) oid FILENODE Số của quan hệ được chỉ định
pg_relation_filepath (quan hệ RegClass) Text Tên đường dẫn tệp của quan hệ được chỉ định

pg_relation_filenodeChấp nhận Oid hoặc tên của bảng, chỉ mục, trình tự hoặc bảng bánh mì nướng, và trả về"Filenode"Số hiện tại được giao cho nó. FileNode là thành phần cơ sở của tệp Tên được sử dụng cho mối quan hệ (xemPhần 58.1Để biết thêm thông tin). Đối với hầu hết cách đọc kèo bóng đá bảng, kết quả giống nhưpg_ class.relfilenode, nhưng đối với các danh mục cách đọc kèo bóng đá nhất địnhrelfilenodebằng không và chức cách đọc kèo bóng đá này Phải được sử dụng để có được giá trị chính xác. Chức cách đọc kèo bóng đá trả về null nếu đã vượt qua một mối quan hệ không có lưu trữ, chẳng hạn như chế độ xem.

pg_relation_filepathgiống vớipg_relation_filenode, nhưng nó trở lại toàn bộ tên đường dẫn tệp (liên quan đến dữ cách đọc kèo bóng đá của cụm cơ sở dữ cách đọc kèo bóng đá thư mụcPGDATA) của mối quan hệ.

9.26.7. Truy cập tệp chung Chức cách đọc kèo bóng đá

Các chức cách đọc kèo bóng đá được hiển thị trongBảng 9-67Cung cấp quyền truy cập gốc vào các tệp trên máy lưu trữ máy chủ. Chỉ các tệp trong thư mục cụm cơ sở dữ cách đọc kèo bóng đá vàlog_directorycó thể được truy cập. Sử dụng một đường dẫn tương đối Đối với cách đọc kèo bóng đá tệp trong thư mục cụm và đường dẫn khớp vớilog_directoryCài đặt cấu hình cho nhật ký tệp. Việc sử dụng các chức cách đọc kèo bóng đá này bị hạn chế đối với siêu người dùng.

Bảng 9-67. Chức cách đọc kèo bóng đá truy cập tệp chung

tên Return Type Mô tả
PG_LS_DIR (dirname Text) SetOf Text Liệt kê nội dung của thư mục
PG_READ_FILE (FileName Text[,Offset Bigint, LEGN Bigint]) Text Trả về nội dung của tệp văn bản
PG_READ_BINARY_FILE (FileName Text[,Offset Bigint, LEGN Bigint]) bytea Trả về nội dung của tệp
pg_stat_file (FileName 43480_43486) Record Trả về thông tin về một tệp

PG_LS_DIRTrả về tất cả cách đọc kèo bóng đá tên trong thư mục được chỉ định, ngoại trừ cách đọc kèo bóng đá mục đặc biệt".""..".

PG_READ_FILETrả về một phần của A Tệp văn bản, bắt đầu từ đã choOffset,, trở lại nhiều nhấtlengthByte (ít hơn nếu Kết thúc của tập tin đạt được đầu tiên). Nếu nhưOffsetlà âm, nó liên quan đến phần cuối của cách đọc kèo bóng đá tập tin. Nếu nhưOffsetlengthbị bỏ qua, toàn bộ tệp được trả về. cách đọc kèo bóng đá byte được đọc từ tệp được hiểu là một chuỗi trong mã hóa máy chủ; một lỗi được ném nếu chúng không hợp lệ trong đó mã hóa.

PG_READ_BINARY_FILEgiống vớiPG_READ_FILE, ngoại trừ kết quả đó là AbyteaGiá trị; Theo đó, không mã hóa séc được thực hiện. Kết hợp vớiconvert_fromHàm, chức cách đọc kèo bóng đá này có thể được sử dụng Để đọc một tệp trong một mã hóa được chỉ định:

Chọn Convert_From (pg_read_binary_file ('file_in_utf8.txt'), 'utf8');

PG_STAT_FILETrả về một bản ghi chứa kích thước tệp, dấu thời gian truy cập lần cuối, được sửa đổi lần cuối Stamp Time, Tệp thay đổi trạng thái tệp cuối cùng (nền tảng UNIX chỉ), tem thời gian tạo tệp (chỉ Windows) và ABooleanCho biết đó có phải là thư mục không. Cách sử dụng điển hình bao gồm:

Chọn * từ pg_stat_file ('tên tệp');
Chọn (pg_stat_file ('tên tệp')). Sửa đổi;

9.26.8. Chức cách đọc kèo bóng đá khóa tư vấn

Các chức cách đọc kèo bóng đá được hiển thị trongBảng 9-68Quản lý khóa tư vấn. Để biết chi tiết về việc sử dụng đúng Các chức cách đọc kèo bóng đá này, xemPhần 13.3.4.

Bảng 9-68. Chức cách đọc kèo bóng đá khóa tư vấn

tên Return Type Mô tả
pg_advisory_lock (Key Bigint46219_46222 void Có được khóa tư vấn cấp phiên độc quyền
pg_advisory_lock (key1 int, key2 int) void Có được khóa tư vấn cấp phiên độc quyền
pg_advisory_lock_shared (Key Bigint) void Nhận khóa tư vấn cấp phiên chia sẻ
pg_advisory_lock_shared (key1 47009_47014, key2 int) void Có được khóa tư vấn cấp phiên chia sẻ
pg_advisory_unlock (Key Bigint) Boolean Phát hành khóa tư vấn cấp phiên độc quyền
pg_advisory_unlock (key1 int, key2 int) Boolean Phát hành khóa tư vấn cấp phiên độc quyền
pg_advisory_unlock_all () void Phát hành tất cả các khóa tư vấn cấp phiên được tổ cách đọc kèo bóng đá bởi hiện tại phiên họp
pg_advisory_unlock_shared (Key Bigint) 48144_48153 Phát hành khóa tư vấn cấp phiên chia sẻ
pg_advisory_unlock_shared (key1 int, key2 int) Boolean Phát hành khóa tư vấn cấp phiên chia sẻ
pg_advisory_xact_lock (Key Bigint) void Có được khóa tư vấn cấp giao dịch độc quyền
pg_advisory_xact_lock (key1 int, key2 int) void Có được khóa tư vấn cấp giao dịch độc quyền
pg_advisory_xact_lock_shared (Key BIGINT) void Có được khóa tư vấn cấp độ giao dịch được chia sẻ
pg_advisory_xact_lock_shared (key1 int, key2 int) void có được khóa tư vấn cấp giao dịch chia sẻ
pg_try_advisory_lock (Key BIGINT) Boolean có được khóa tư vấn cấp phiên độc quyền nếu có sẵn
pg_try_advisory_lock (key1 int, key2 int) Boolean Có được khóa tư vấn cấp phiên độc quyền nếu có
pg_try_advisory_lock_shared (Key Bigint50400_50403 Boolean 50462_50518
pg_try_advisory_lock_shared (Key1 int, key2 int) Boolean Nhận khóa tư vấn cấp phiên chia sẻ nếu có sẵn
pg_try_advisory_xact_lock (Key Bigint) Boolean có được khóa tư vấn cấp giao dịch độc quyền nếu có sẵn
pg_try_advisory_xact_lock (key1 int, key2 int) Boolean 51387_51450
pg_try_advisory_xact_lock_shared (Key Bigint) Boolean có được khóa tư vấn cấp giao dịch chia sẻ nếu có sẵn
pg_try_advisory_xact_lock_shared (key1 int, key2 int) Boolean Có được khóa tư vấn cấp giao dịch được chia sẻ nếu có sẵn

pg_advisory_lockkhóa an tài nguyên do ứng dụng xác định, có thể được xác định bởi một Giá trị khóa 64 bit đơn hoặc hai giá trị khóa 32 bit (lưu ý rằng chúng Hai không gian chính không chồng chéo). Nếu một phiên khác đã giữ một Khóa trên cùng một định danh tài nguyên, chức cách đọc kèo bóng đá này sẽ đợi cho đến khi Tài nguyên trở nên có sẵn. Khóa là độc quyền. Nhiều Khóa yêu cầu ngăn xếp, để nếu cùng một tài nguyên bị khóa ba thời gian sau đó nó phải được mở khóa ba lần để được phát hành cho sử dụng của phiên.

pg_advisory_lock_sharedhoạt động Giống nhưpg_advisory_lock, ngoại trừ Khóa có thể được chia sẻ với cách đọc kèo bóng đá phiên khác yêu cầu khóa chia sẻ. Chỉ có cách đọc kèo bóng đá tủ khóa độc quyền sẽ bị khóa.

pg_try_advisory_lockgiống vớipg_advisory_lock, ngoại trừ chức cách đọc kèo bóng đá Sẽ không chờ khóa để có sẵn. Nó sẽ cả lấy khóa ngay lập tức và trả vềTRUE53160_53174SaiNếu Khóa không thể có được ngay lập tức.

pg_try_advisory_lock_sharedhoạt động giống nhưpg_try_advisory_lock,, ngoại trừ nó cố gắng để có được một chia sẻ chứ không phải là một khóa.

53482_53502sẽ phát hành a Khóa tư vấn cấp độ phiên độc quyền trước đây. Nó trả vềTRUENếu khóa là thành công phát hành. Nếu khóa không được giữ, nó sẽ trở lạiSai, và ngoài ra, cảnh báo SQL sẽ là được báo cáo bởi máy chủ.

pg_advisory_unlock_sharedhoạt động giống nhưpg_advisory_unlock, Ngoại trừ nó phát hành khóa tư vấn cấp phiên chia sẻ.

pg_advisory_unlock_allWill Phát hành tất cả các khóa tư vấn cấp phiên được tổ chức bởi hiện tại phiên họp. (Chức cách đọc kèo bóng đá này được gọi ngầm ở cuối phiên, thậm chí Nếu máy khách ngắt kết nối một cách không phù hợp.)

pg_advisory_xact_lockhoạt động Giống nhưpg_advisory_lock, ngoại trừ Khóa được tự động phát hành vào cuối hiện tại giao dịch và không thể được phát hành rõ ràng.

pg_advisory_xact_lock_sharedhoạt động giống nhưpg_advisory_lock_shared54598_54716

pg_try_advisory_xact_lockhoạt động giống nhưpg_try_advisory_lock,, Ngoại trừ khóa, nếu có được, được tự động phát hành ở cuối của giao dịch hiện tại và không thể được phát hành rõ ràng.

pg_try_advisory_xact_lock_sharedhoạt động giống như55089_55118, ngoại trừ khóa, nếu có được, được tự động phát hành vào cuối giao dịch và không thể được phát hành rõ ràng.