CSV などに出力された性能分析を行う際によく EXCEL を使ったりするが、DuckDB が便利だと聞いてインストールしてみた。 インストール curl https://install.duckdb.org | sh ~/.zshrc に以下を追加 export PATH='~/.duckdb/cli/latest':$PATH 起動する sour…
現在から1日前のタイムスタンプを取得する。 # select trunc(sysdate)-1; ?column? 2025-06-10 現在から16時間前のタイムスタンプを取得する # select dateadd(hour,-16, sysdate); date_add 2025-06-10 14:52:09.714924 参考 SYSDATE 関数 - Amazon Redshif…
Linux で psql の実行結果をファイルに出力する際、結果セットのサイズが大きいと OS の OOM Killer に kill されることがある。 FETCH_COUNT を指定すると FETCH_COUNT 単位でメモリにキャッシュするようになる。 FETCH_COUNT の指定方法 psql のコマンドラ…
Amazon Redshift で Elastic resize した後、バックグラウンドでノードスライスにデータを再分配が完了するまではクエリの実行に時間がかかる可能性がある。 2. このオペレーションはクラスターのメタデータを移行します。クラスターは数分間使用できません…
Amazon Redshift の ra3 インスタンスのローカルSSDのキャッシュについて Compute nodes use large, high performance SSDs as local caches. Redshift leverages workload patterns and techniques such as automatic fine-grained data eviction and intel…
Write latency – Shows the average amount of time in milliseconds taken for disk write I/O operations. You can evaluate the time for the write acknowledgment to return. When latency is high, it means that the sender spends more time idle (n…
Amazon Redshift でノード・スライスごとのブロック数を確認する。 select b.node, a.slice, sum(blocknum) from svv_diskusage a, stv_slices b where a.slice = b.slice group by b.node, a.slice order by b.node, a.slice, sum(blocknum) desc; node|sli…
Amazon Redshift の redistribute と broadcast の違いについてのメモ。 redistribute と broadcast(A copy of the entire table is broadcast to all the compute nodes) がある。 DS_DIST_OUTER The outer table is redistributed.DS_BCAST_INNER A copy o…
Redshift の分散スタイルやソートキーの自動最適化履歴は SVL_AUTO_WORKER_ACTION で確認することができる。 select table_id, type, status, eventtime, sequence, previous_state from SVL_AUTO_WORKER_ACTION; table_id | type | status | eventtime | se…
デフォルトだと一般ユーザーは SYS_LOAD_ERROR_DETAIL を参照すると、自分が実行したロード処理のエントリしか表示できない。 他のユーザーが実行したロード処理のエントリも参照したい場合は SYSLOG ACCESS UNRESTRICTED を付与すればよい。 デフォルトでは…
自動VACUUM実行中に手動VACUUMを実行すると、自動VACUUMが停止し、手動VACUUMが実行される。 Automatic vacuum operations pause if any of the following conditions are met: A user runs a data definition language (DDL) operation, such as ALTER TABL…
CloudWatch メトリクスのデータポイントの粒度と参照可能期間 メトリクスの保持 CloudWatch では、次のようにメトリクスデータを保持します。 期間が 60 秒未満のデータポイントは、3 時間使用できます。これらのデータポイントは高解像度カスタムメトリクス…
Redshift でクラスターの一時停止・再開(特定のクラスターのみ)、パラメータグループ設定変更(特定の)を許可する IAM ポリシー 前提 マネジメントコンソールから人が操作する想定(AWS CLI など AWS API 経由で実行する場合も同じ)。 IAM ポリシー "Rea…
Redshift でユーザーの接続制限数以上のコネクションを張ろうとすると即時エラーになる。 検証結果 3本接続を張った後、4本目の接続を張ろうとすると即時エラーとなる。 $ psql -A -h rs-ra3-4xl-4n.********.us-east-1.redshift.amazonaws.com -p 5439 -d d…
Amazon Redshift でテーブルの所有者を変更するにはスーパーユーザー権限が必要。 dev=> ALTER TABLE table_a OWNER TO user_a; ERROR: must be superuser to change owner 参考 ALTER TABLE - Amazon Redshift
qiita.com
Redshift Spectrum で外部スキーマの作成と同時に外部データベースを作成する。 外部スキーマの作成と同時に外部データベースを作成するには、FROM DATA CATALOGステートメントで CREATE EXTERNAL DATABASE を指定して CREATE EXTERNAL SCHEMA 句を含めます…
次の データ型 がサポートされています。 SMALLINT (INT2) INTEGER (INT、INT4) BIGINT (INT8) DECIMAL (NUMERIC) REAL (FLOAT4) DOUBLE PRECISION (FLOAT8) BOOLEAN (BOOL) CHAR (CHARACTER) VARCHAR (CHARACTER VARYING) VARBYTE (CHARACTER VARYING) – Pa…
node-postgres.com qiita.com
Redshift の STL テーブルのクエリID(query列)と SYS ビューのクエリID(query_id)は別の値のため、クエリIDで結合することはできない。トランザクションID(STLとSYSのトランザクションIDが 1:1 の場合)で結合することができる。 Redshift の STL テー…
Redshift に Data API でアクセスする場合、Internet Gateway や Public Access 許可がなくても、必要な IAM 権限があればアクセスできる。 DataAPIでは、AWSのIAMによる認証でクラスタにクエリを投げられるというのがウリなので、 出来るだけ外からは接続で…
Redshift で SET SESSION AUTHORIZATION は SECURITY DEFINER 関数内で使用できない。 SET SESSION AUTHORIZATIONをSECURITY DEFINER関数内で使用することはできません。 https://www.postgresql.jp/docs/9.4/sql-set-session-authorization.html
Redshift Serverless の監査ログ出力先は CloudWatch Logs のみ。Provisioned は S3 にも出力できる。 Redshift Serverlessの監査ログもS3バケットに直接出力できないのかなーと思いましたが、今後のRedshift監査ログの出力先はCloudWatch Logsを推奨されて…
事象 Windows Server に rsql をインストールして実行すると以下のエラーが発生する。 libssl-1_1-x64.ddlが見つからないため、コードの実行を続行できません。 プログラムを再インストールすると、この問題が解決する可能性があります。 libcrypto-l-1_1-x6…
ピアソンVUEの場合、AWS試験申し込み完了時に、「ピアソンVUEお支払いの受領通知」という題目の領収書メールが届きます。そのため、まずは領収書メールを確認しましょう。(中略)領収書を再発行する方法を紹介します。 AWS Certification アカウントにサイ…
Redshift でクエリIDを指定して、クエリに関する性能情報をCSVに出力する bash スクリプト(get_redshift_query_perf2)を作った。 内部的には bash から psql を実行して、sql ファイルを実行している。以前作ったスクリプト(get_redshift_query_perf)か…
psql でクエリの結果セットをファイルに出力したい場合、psql のコマンドラインで -o オプションで指定することもできるが、SQL スクリプト内でクエリ単位で出力ファイルを分けたい場合は \o オプションが使える。 書式 \o <file path> query text 実装例 yoheia/aws/re</file>…
psql でコマンドラインから変数を渡して SQL 内で参照する方法。 -v オプションで変数を渡し、 psql -v query_id=54321 ... SQL 内では :変数名 で渡された変数を参照する。 select * from SVL_QUERY_METRICS_SUMMARY where query = :query_id; 実装例 yohei…
ファイル名の取得:${変数名##*/} 拡張子の削除:${変数名%.*} 拡張子の取得:${変数名##*.} bashの変数展開によるファイル名や拡張子の取得 #Bash - Qiita
ViewOnlyAccess - AWS 管理ポリシー または AmazonRedshiftReadOnlyAccess - AWS 管理ポリシー が付与されていればよい。