Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
aurora_replica_status
Menampilkan status semua simpul pembaca Aurora PostgreSQL.
Sintaksis
aurora_replica_status()
Argumen
Tidak ada
Jenis pengembalian
Catatan SETOF dengan kolom berikut:
server_id
– ID instans DB (pengidentifikasi).session_id
– Pengidentifikasi unik untuk sesi saat ini, dikembalikan untuk instans utama dan instans pembaca sebagai berikut:-
Untuk contoh instans primer,
session_id
selalu`MASTER_SESSION_ID’
. Untuk instans pembaca,
session_id
selalu merupakanUUID
(pengidentifikasi unik universal) dari instans pembaca.
-
durable_lsn
– Nomor urutan log (LSN) yang disimpan di penyimpanan.Untuk volume primer, volume primer LSN (VDL) tahan lama yang saat ini berlaku.
Untuk setiap volume sekunder, VDL primer yang sekundernya telah berhasil diterapkan.
catatan
Nomor urutan log (LSN) adalah nomor urut unik yang mengidentifikasi catatan di log transaksi basis data. LSN dipesan sedemikian rupa sehingga LSN yang lebih besar mewakili transaksi yang terjadi berikutnya dalam urutan.
highest_lsn_rcvd
– LSN tertinggi (terbaru) yang diterima oleh instans DB dari instans DB penulis.current_read_lsn
– LSN dari snapshot terbaru yang telah diterapkan untuk semua pembaca.cur_replay_latency_in_usec
– Jumlah mikrodetik yang diharapkan untuk memutar ulang log di sekunder.active_txns
– Jumlah transaksi yang aktif saat ini.is_current
– Tidak digunakan.last_transport_error
– Kode kesalahan replikasi terakhir.last_error_timestamp
– Stempel waktu kesalahan replikasi terakhir.last_update_timestamp
– Stempel waktu pembaruan terakhir ke status replika. Dari Aurora PostgreSQL 13.9, nilailast_update_timestamp
untuk instans DB yang terhubung dengan Anda diatur keNULL
.feedback_xmin
– Hot standby feedback_xmin dari replika. ID transaksi aktif minimum (terlawas) yang digunakan oleh instans DB.feedback_epoch
– Masa yang digunakan instans DB saat menghasilkan informasi hot standby.replica_lag_in_msec
– Waktu instans pembaca mengalami lag dari instans penulis, dalam milidetik.log_stream_speed_in_kib_per_second
– Throughput log stream dalam kilobyte per detik.log_buffer_sequence_number
– Nomor urutan buffer log.oldest_read_view_trx_id
– Tidak digunakan.oldest_read_view_lsn
– LSN terlawas yang digunakan oleh instans DB untuk membaca dari penyimpanan.pending_read_ios
– Pembacaan halaman luar biasa yang masih tertunda pada replika.read_ios
– Jumlah pembacaan halaman pada replika.iops
– Tidak digunakan.cpu
– Penggunaan CPU dengan proses replika. Perhatikan bahwa ini bukan penggunaan CPU menurut instans melainkan prosesnya. Untuk informasi tentang penggunaan CPU oleh instans, lihatMetrik tingkat instans untuk Amazon Aurora.
Catatan penggunaan
Fungsi aurora_replica_status
mengembalikan nilai dari manajer status replika klaster DB Aurora PostgreSQL. Anda dapat menggunakan fungsi ini untuk mendapatkan informasi tentang status replikasi pada klaster DB PostgreSQL Aurora Anda, termasuk metrik untuk semua instans DB di klaster DB Aurora Anda. Misalnya, Anda dapat melakukan hal berikut:
Mendapatkan informasi tentang jenis instans (penulis, pembaca) di klaster DB Aurora PostgreSQL – Anda dapat memperoleh informasi ini dengan memeriksa nilai-nilai kolom berikut:
server_id
– Berisi nama instans yang Anda tentukan saat membuat instans. Dalam beberapa kasus, seperti untuk instans primer (penulis), nama biasanya dibuat untuk Anda dengan menambahkan -instance-1 ke nama yang Anda buat untuk klaster DB Aurora PostgreSQL Anda.session_id
– Bidangsession_id
menunjukkan apakah instans adalah pembaca atau penulis. Untuk instans penulis,session_id
selalu diatur ke"MASTER_SESSION_ID"
. Untuk instans pembaca,session_id
diatur keUUID
pembaca tertentu.
Mendiagnosis masalah replikasi umum, seperti lag replika – Lag replica adalah waktu dalam milidetik cache halaman dari instans pembaca berada di belakang instans penulis. Lag ini terjadi karena klaster Aurora menggunakan replikasi asinkron, seperti yang dijelaskan dalam Replikasi dengan Amazon Aurora. Lagi ini ditampilkan di kolom
replica_lag_in_msec
dalam hasil yang dikembalikan oleh fungsi ini. Lag juga dapat terjadi ketika kueri dibatalkan karena konflik dengan pemulihan pada server siaga. Anda dapat memeriksapg_stat_database_conflicts()
untuk memverifikasi bahwa konflik seperti itu menyebabkan lag replika (atau tidak). Untuk informasi selengkapnya, lihat Pengumpul Statistikdi Dokumentasi PostgreSQL. Untuk mempelajari selengkapnya tentang ketersediaan dan replikasi tinggi, lihat FAQ Amazon Aurora . Amazon CloudWatch menyimpan
replica_lag_in_msec
hasil dari waktu ke waktu, sebagai metrikAuroraReplicaLag
. Untuk informasi tentang melihat metrik CloudWatch untuk Aurora, lihat Memantau metrik Aurora Amazon dengan Amazon CloudWatch
Untuk mempelajari selengkapnya tentang pemecahan masalah replika dan pemulaian ulang pembacaan Aurora, lihat Mengapa replika pembacaan Amazon Aurora saya tertinggal dan memulai ulang?
Contoh
Contoh berikut menunjukkan cara mendapatkan status replikasi dari semua instans di klaster DB Aurora PostgreSQL:
=>
SELECT * FROM aurora_replica_status();
Contoh berikut menunjukkan contoh instans penulis di klaster DB Aurora PostgreSQL docs-lab-apg-main
:
=>
SELECT server_id, CASE WHEN 'MASTER_SESSION_ID' = session_id THEN 'writer' ELSE 'reader' END AS instance_role FROM aurora_replica_status() WHERE session_id = 'MASTER_SESSION_ID';
server_id | instance_role ------------------------+--------------- db-119-001-instance-01 | writer
Contoh berikut mencantumkan semua instans pembaca dalam sebuah klaster:
=>
SELECT server_id, CASE WHEN 'MASTER_SESSION_ID' = session_id THEN 'writer' ELSE 'reader' END AS instance_role FROM aurora_replica_status() WHERE session_id <> 'MASTER_SESSION_ID';
server_id | instance_role ------------------------+--------------- db-119-001-instance-02 | reader db-119-001-instance-03 | reader db-119-001-instance-04 | reader db-119-001-instance-05 | reader (4 rows)
Contoh berikut mencantumkan semua instans, seberapa jauh setiap instans tertinggal dari penulis, dan berapa lama sejak pembaruan terakhir:
=>
SELECT server_id, CASE WHEN 'MASTER_SESSION_ID' = session_id THEN 'writer' ELSE 'reader' END AS instance_role, replica_lag_in_msec AS replica_lag_ms, round(extract (epoch FROM (SELECT age(clock_timestamp(), last_update_timestamp))) * 1000) AS last_update_age_ms FROM aurora_replica_status() ORDER BY replica_lag_in_msec NULLS FIRST;
server_id | instance_role | replica_lag_ms | last_update_age_ms ------------------------+---------------+----------------+-------------------- db-124-001-instance-03 | writer | [NULL] | 1756 db-124-001-instance-01 | reader | 13 | 1756 db-124-001-instance-02 | reader | 13 | 1756 (3 rows)