メニュー
Amazon Relational Database Service
ユーザーガイド (API バージョン 2014-10-31)

Amazon Aurora PostgreSQL のリファレンス

Amazon Aurora PostgreSQL のパラメータ

Amazon Aurora DB クラスターは、他の Amazon RDS DB インスタンスを管理するのと同じ方法で、DB パラメータグループのパラメータを使用して管理します。Amazon Aurora は、複数の DB インスタンスを含む DB クラスターを使用する点が他の DB エンジンとは異なります。その結果、Amazon Aurora DB クラスターの管理に使用するパラメータの中には、クラスター全体に適用されるパラメータと、DB クラスター内の特定の DB インスタンスのみに適用されるパラメータがあります。

クラスターレベルのパラメータは、DB クラスターパラメータグループ単位で管理されます。インスタンスレベルのパラメータは、DB パラメータグループ単位で管理されます。Aurora PostgreSQL DB クラスター内の各 DB インスタンスは PostgreSQL データベースエンジンと互換性がありますが、一部の PostgreSQL データベースエンジンパラメータは、クラスターレベルで適用する必要があり、DB クラスターパラメータグループを使用して管理されます。クラスターレベルのパラメータは、Aurora PostgreSQL DB クラスター内の DB インスタンス用の DB パラメータグループには含まれていません。このトピックで後ほど一覧を示します。

クラスターレベルとインスタンスレベルのパラメータは、いずれも Amazon RDS コンソール、AWS CLI、または Amazon RDS API を使用して管理できます。クラスターレベルのパラメータとインスタンスレベルのパラメータでは、管理のためのコマンドが別です。たとえば、DB クラスターパラメータグループのクラスターレベルパラメータを管理するには、AWS CLI の modify-db-cluster-parameter-group コマンド、DB クラスター内の DB インスタンスに適用される、DB パラメータグループのインスタンスレベルパラメータを管理するには、AWS CLI の modify-db-parameter-group コマンドを使用します。

クラスターレベルとインスタンスレベルの両方のパラメータを表示するには、Amazon RDS コンソール、AWS CLI、または Amazon RDS API を使用します。たとえば、DB クラスターパラメータグループに含まれるクラスターレベルのパラメータを表示するには、AWS CLI の describe-db-cluster-parameters コマンド、DB クラスター内の DB インスタンスの DB パラメータグループに含まれるインスタンスレベルのパラメータを表示するには、AWS CLI の describe-db-parameters コマンドを使用します。

パラメータグループの詳細については、「DB パラメータグループを使用する」を参照してください。

クラスターレベルのパラメータ

次の表は、Aurora PostgreSQL DB クラスター全体に適用されるすべてのパラメータを示しています。

パラメータ名 変更可能

archive_command

いいえ

archive_timeout

いいえ

array_nulls

はい

autovacuum

はい

autovacuum_analyze_scale_factor

はい

autovacuum_analyze_threshold

はい

autovacuum_freeze_max_age

はい

autovacuum_max_workers

はい

autovacuum_multixact_freeze_max_age

はい

autovacuum_naptime

はい

autovacuum_vacuum_cost_delay

はい

autovacuum_vacuum_cost_limit

はい

autovacuum_vacuum_scale_factor

はい

autovacuum_vacuum_threshold

はい

autovacuum_work_mem

はい

backslash_quote

はい

client_encoding

はい

data_directory

いいえ

datestyle

はい

default_tablespace

はい

default_with_oids

はい

extra_float_digits

はい

huge_pages

いいえ

intervalstyle

はい

lc_monetary

はい

lc_numeric

はい

lc_time

はい

log_autovacuum_min_duration

はい

max_prepared_transactions

はい

password_encryption

いいえ

port

いいえ

rds.extensions

いいえ

rds.force_autovacuum_logging_level

はい

rds.force_ssl

はい

server_encoding

いいえ

ssl

はい

synchronous_commit

はい

timezone

はい

track_commit_timestamp

はい

vacuum_cost_delay

はい

vacuum_cost_limit

はい

vacuum_cost_page_hit

はい

vacuum_cost_page_miss

はい

vacuum_defer_cleanup_age

はい

vacuum_freeze_min_age

はい

vacuum_freeze_table_age

はい

vacuum_multixact_freeze_min_age

はい

vacuum_multixact_freeze_table_age

はい

wal_buffers

はい

インスタンスレベルのパラメータ

次の表は、Aurora PostgreSQL DB クラスターの特定の DB インスタンスに適用されるパラメータの一覧です。

パラメータ名 変更可能

application_name

はい

authentication_timeout

はい

auto_explain.log_analyze

はい

auto_explain.log_buffers

はい

auto_explain.log_format

はい

auto_explain.log_min_duration

はい

auto_explain.log_nested_statements

はい

auto_explain.log_timing

はい

auto_explain.log_triggers

はい

auto_explain.log_verbose

はい

auto_explain.sample_rate

はい

backend_flush_after

はい

bgwriter_flush_after

はい

bytea_output

はい

check_function_bodies

はい

checkpoint_flush_after

はい

checkpoint_timeout

いいえ

client_min_messages

はい

config_file

いいえ

constraint_exclusion

はい

cpu_index_tuple_cost

はい

cpu_operator_cost

はい

cpu_tuple_cost

はい

cursor_tuple_fraction

はい

db_user_namespace

いいえ

deadlock_timeout

はい

debug_pretty_print

はい

debug_print_parse

はい

debug_print_plan

はい

debug_print_rewritten

はい

default_statistics_target

はい

default_transaction_deferrable

はい

default_transaction_isolation

はい

default_transaction_read_only

はい

effective_cache_size

はい

effective_io_concurrency

はい

enable_bitmapscan

はい

enable_hashagg

はい

enable_hashjoin

はい

enable_indexonlyscan

はい

enable_indexscan

はい

enable_material

はい

enable_mergejoin

はい

enable_nestloop

はい

enable_seqscan

はい

enable_sort

はい

enable_tidscan

はい

escape_string_warning

はい

exit_on_error

いいえ

force_parallel_mode

はい

from_collapse_limit

はい

geqo

はい

geqo_effort

はい

geqo_generations

はい

geqo_pool_size

はい

geqo_seed

はい

geqo_selection_bias

はい

geqo_threshold

はい

gin_fuzzy_search_limit

はい

gin_pending_list_limit

はい

hba_file

いいえ

hot_standby_feedback

はい

ident_file

いいえ

idle_in_transaction_session_timeout

はい

join_collapse_limit

はい

lc_messages

はい

listen_addresses

いいえ

lo_compat_privileges

いいえ

log_connections

はい

log_destination

はい

log_directory

いいえ

log_disconnections

はい

log_duration

はい

log_error_verbosity

はい

log_executor_stats

はい

log_file_mode

いいえ

log_filename

はい

log_hostname

はい

log_line_prefix

いいえ

log_lock_waits

はい

log_min_duration_statement

はい

log_min_error_statement

はい

log_min_messages

はい

log_parser_stats

はい

log_planner_stats

はい

log_replication_commands

はい

log_rotation_age

はい

log_rotation_size

はい

log_statement

はい

log_statement_stats

はい

log_temp_files

はい

log_timezone

いいえ

log_truncate_on_rotation

いいえ

logging_collector

いいえ

maintenance_work_mem

はい

max_connections

はい

max_files_per_process

はい

max_locks_per_transaction

はい

max_replication_slots

はい

max_stack_depth

はい

max_standby_archive_delay

いいえ

max_standby_streaming_delay

いいえ

max_wal_senders

はい

max_worker_processes

はい

min_parallel_relation_size

はい

old_snapshot_threshold

はい

operator_precedence_warning

はい

parallel_setup_cost

はい

parallel_tuple_cost

はい

pg_hint_plan.debug_print

はい

pg_hint_plan.enable_hint

はい

pg_hint_plan.enable_hint_table

はい

pg_hint_plan.message_level

はい

pg_hint_plan.parse_messages

はい

pg_stat_statements.max

はい

pg_stat_statements.save

はい

pg_stat_statements.track

はい

pg_stat_statements.track_utility

はい

pgaudit.log

はい

pgaudit.log_catalog

はい

pgaudit.log_level

はい

pgaudit.log_parameter

はい

pgaudit.log_relation

はい

pgaudit.log_statement_once

はい

pgaudit.role

はい

postgis.gdal_enabled_drivers

はい

quote_all_identifiers

はい

random_page_cost

はい

rds.force_admin_logging_level

はい

rds.log_retention_period

はい

rds.rds_superuser_reserved_connections

はい

rds.superuser_variables

いいえ

replacement_sort_tuples

はい

restart_after_crash

いいえ

row_security

はい

search_path

はい

seq_page_cost

はい

session_replication_role

はい

shared_buffers

はい

shared_preload_libraries

はい

sql_inheritance

はい

ssl_ca_file

いいえ

ssl_cert_file

いいえ

ssl_ciphers

いいえ

ssl_key_file

いいえ

standard_conforming_strings

はい

statement_timeout

はい

stats_temp_directory

いいえ

superuser_reserved_connections

いいえ

synchronize_seqscans

はい

syslog_facility

いいえ

tcp_keepalives_count

はい

tcp_keepalives_idle

はい

tcp_keepalives_interval

はい

temp_buffers

はい

temp_tablespaces

はい

track_activities

はい

track_activity_query_size

はい

track_counts

はい

track_functions

はい

track_io_timing

はい

transaction_deferrable

はい

transaction_read_only

はい

transform_null_equals

はい

unix_socket_directories

いいえ

unix_socket_group

いいえ

unix_socket_permissions

いいえ

update_process_title

はい

wal_receiver_status_interval

はい

wal_receiver_timeout

はい

wal_sender_timeout

はい

work_mem

はい

xmlbinary

はい

xmloption

はい

Amazon RDS PostgreSQL のイベント

以下は、Aurora PostgreSQL の代表的な待機イベントです。

BufferPin:BufferPin

この待機イベントの場合、他のいずれのセッションもデータバッファを調べることができない間、セッションはそのバッファにアクセスするために待機しています。該当するバッファからデータを最後に読み取ったオープンカーソルを他のプロセスが保持している場合、バッファピンの待機が長引く可能性があります。

Client:ClientRead

この待機イベントの場合、セッションはアプリケーションクライアントからデータを受信しています。この待機は、COPY ステートメントを使用したバルクデータロード中や、クライアントとデータベース間で多くのラウンドトリップを使用して Aurora にデータを渡すアプリケーションで、よく発生する可能性があります。トランザクションあたりのクライアント読み取りの待機数が多い場合、パラメータの受け渡しなどのラウンドトリップが多すぎる可能性があります。この数とトランザクションあたりの想定されるステートメント数を比較する必要があります。

IO:DataFilePrefetch

この待機イベントの場合、セッションは Aurora ストレージからの非同期プリフェッチを待機しています。

IO:DataFileRead

この待機イベントの場合、セッションは Aurora ストレージからデータを読み取っています。これは入出量の多いワークロードでは一般的な待機イベントである可能性があります。他の SQL ステートメントと比較してこの待機イベントの比較的大部分を表示する SQL ステートメントが、大量のデータの読み取りが必要になる非効率的なクエリプランを使用している可能性があります。

IO:XactSync

この待機イベントの場合、セッションは COMMIT または ROLLBACK を発行し、現在のトランザクションの変更の保持を要求しています。Aurora は Aurora ストレージによる保持の確認を待機しています。

この待機は、システムでのコミットアクティビティのレートが非常に高い場合に最も多く発生します。トランザクションをバッチでコミットするようにアプリケーションを変更することで、この待機を軽減できる場合があります。DB 負荷が DB インスタンスの仮想 CPU (vCPU) 数を超えると、この待機は CPU の待機と時間的に重なる場合があります。この場合、ストレージの永続化は CPU を集中的に使用するデータベースワークロードとの間で CPU を奪い合うことになります。この対策としては、データベースワークロードを減らすか、DB インスタンスをスケールアップして vCPU 数を増やすことができます。

Lock:transactionid

この待機イベントの場合、セッションは別のセッションで変更されたデータを変更しようとして、別のセッションのトランザクションがコミットまたはロールバックされるのを待機しています。ブロックセッションおよび待機セッションは、pg_locks ビューで調査できます。

LWLock:buffer_content

この待機イベントの場合、セッションはデータページをメモリに読み取るか書き込むために待機しており、そのデータページは別のセッションで書き込むためにロックされています。多くのセッションで同じデータを頻繁に更新すると、書き込みの競合が 1 つのページ (ホットページ) に集中するため、この待機イベントが発生する場合があります。外部キー制約を使いすぎると、ロック期間が長くなり、競合が増えることになります。buffer_content 待機が多いワークロードについて、外部キー制約の使用状況を調べ、これらの制約が必要かどうかを確認する必要があります。

PostgreSQL の待機イベントの詳細なリストについては、PostgreSQL の wait-event の表を参照してください。