aurora_replica_status - Amazon Aurora

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 merupakan UUID (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, nilai last_update_timestamp untuk instans DB yang terhubung dengan Anda diatur ke NULL.

  • 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 – Bidang session_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 ke UUID 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 memeriksa pg_stat_database_conflicts() untuk memverifikasi bahwa konflik seperti itu menyebabkan lag replika (atau tidak). Untuk informasi selengkapnya, lihat Pengumpul Statistik di 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 metrik AuroraReplicaLag. Untuk informasi tentang melihat metrik CloudWatch untuk Aurora, lihat Memantau metrik Amazon Aurora 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? di Pusat AWS Support.

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)