細かすぎて伝わらない Amazon Redshift のシステムテーブル/ビュー選手権: SYS_QUERY_DETAIL に plan_node_id...
AWSエンジニアの皆様、AWSサービスアップデートのキャッチアップおつかれさまですm(._.)mこのエントリは AWS Analytics Advent Calendar 2024の4日目の記事です。 3日目は 大薗さんの状況に合わせて、とても素晴らしい食事プランを提案してくれる有益なエントリでした!AWS Summit Tokyo 2023 で "Amazon Redshift...
View Article細かすぎて伝わらない Amazon Redshift のシステムテーブル/ビュー選手権: SYS_QUERY_HISTORY に...
このエントリは AWS Analytics Advent Calendar 2024の8日目の記事です。 7日目は AWS Japan の Analytics Specialist SA ヨータ・ハマオカの AWS上でIcebergテーブルを作成する方法についての検討メモ #iceberg - Qiitaでした。SYS_QUERY_HISTORYに user_query_hash 列と...
View ArticleAmazon Redshift Query Profiler でシステマチックにクエリのボトルネックを分析する
re:Invent に参加されていた AWSエンジニアのみなさま、おつかれさまでしたm(._.)mこのエントリは AWS Analytics Advent Calendar 2024の9日目の記事です。 8日目は 細かすぎて伝わらない Amazon Redshift のシステムテーブル/ビュー選手権: SYS_QUERY_HISTORY に user_query_hash と...
View ArticleAWS でミッションクリティカルなデータウェアハウスを構築する方法 (AWS Summit Tokyo 2023)
AWS Summit Tokyo 2023 大薗さんの「AWSでミッションクリティカルなデータウェアハウスを構築する方法 (AWS-35)」が再利用性が高いが、よくどこに資料があるか見失うので、メモしておく。Level 300: 中級者向けAWSでミッションクリティカルなデータウェアハウスを構築する方法...
View ArticlemacOS に psql をインストールする
macOSに psqlをインストールしたメモ。psqlをインストールする。brew update brew install libpq パスを通す。echo'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"'>> ~/.zshrc source ~/.zshrc バージョンを確認する。% psql --version psql...
View ArticleAmazon Redshift で実行時間の長いクエリの性能情報を取得する
\timing on \pset pager -- show Redshift versionselect version(); -- show table statsselect * from svv_table_info; -- show sort keysset search_path to'$user', public; select * from pg_table_def where...
View Articlepsql でクエリした結果を CSV 出力する(空白を含めずに)
psqlでクエリした結果を CSV出力する(空白を含めずに)には、-A オプションをつける。PostgreSQL: Documentation: 15: psql -A --no-align Switches to unaligned output mode. (The default output mode is aligned.) This is equivalent to \pset...
View Articleマネコンで Amazon Redshift の性能情報を参照するために必要な IAM ポリシー
ViewOnlyAccess - AWS 管理ポリシーまたは AmazonRedshiftReadOnlyAccess - AWS 管理ポリシーが付与されていればよい。
View Articlebash の変数展開でファイル名(拡張子除く)を取得する
ファイル名の取得:${変数名##*/}拡張子の削除:${変数名%.*}拡張子の取得:${変数名##*.}bashの変数展開によるファイル名や拡張子の取得 #Bash - Qiita
View Articlepsql でコマンドラインから変数を渡して SQL 内で参照する
psqlでコマンドラインから変数を渡して SQL内で参照する方法。-v オプションで変数を渡し、psql -vquery_id=54321 ... SQL内では :変数名 で渡された変数を参照する。select * from SVL_QUERY_METRICS_SUMMARY where query = :query_id;...
View Articlepsql でクエリの結果セットをファイルに出力する
psqlでクエリの結果セットをファイルに出力したい場合、psqlのコマンドラインで -o オプションで指定することもできるが、SQLスクリプト内でクエリ単位で出力ファイルを分けたい場合は \o オプションが使える。書式\o <filepath> query text...
View ArticleRedshift でクエリIDを指定して、クエリに関する性能情報をCSVに出力するスクリプト
Redshift でクエリIDを指定して、クエリに関する性能情報をCSVに出力する bashスクリプト(get_redshift_query_perf2)を作った。内部的には bashから...
View ArticleAWS認定試験の領収書の入手方法
ピアソンVUEの場合、AWS試験申し込み完了時に、「ピアソンVUEお支払いの受領通知」という題目の領収書メールが届きます。そのため、まずは領収書メールを確認しましょう。(中略)領収書を再発行する方法を紹介します。AWS Certification アカウントにサインインします。AWS Certificationにログインできたら、以下ホーム画面の「Pearson...
View ArticleWindows に rsql をインストールして実行すると libssl-1_1-x64.ddl と libcrypto-l-1_1-x64.ddl...
事象Windows Server に rsql をインストールして実行すると以下のエラーが発生する。libssl-1_1-x64.ddlが見つからないため、コードの実行を続行できません。 プログラムを再インストールすると、この問題が解決する可能性があります。 libcrypto-l-1_1-x64.ddlが見つからないため、コードの実行を続行できません。...
View ArticleRedshift Serverless の監査ログ出力先は CloudWatch Logs のみ
Redshift Serverless の監査ログ出力先は CloudWatch Logs のみ。Provisioned は S3 にも出力できる。Redshift Serverlessの監査ログもS3バケットに直接出力できないのかなーと思いましたが、今後のRedshift監査ログの出力先はCloudWatch Logsを推奨されているようですね。Redshift Serverless...
View ArticleSET SESSION AUTHORIZATION は SECURITY DEFINER 関数内で使用できない
Redshift で SET SESSION AUTHORIZATION は SECURITY DEFINER 関数内で使用できない。SET SESSION AUTHORIZATIONをSECURITY DEFINER関数内で使用することはできません。https://www.postgresql.jp/docs/9.4/sql-set-session-authorization.html
View ArticleRedshift に Data API でアクセスするために必要な設定
Redshift に Data APIでアクセスする場合、Internet Gatewayや Public Access許可がなくても、必要な IAM 権限があればアクセスできる。DataAPIでは、AWSのIAMによる認証でクラスタにクエリを投げられるというのがウリなので、 出来るだけ外からは接続できない場所にクラスタを立てます。 具体的にはInternet...
View ArticleRedshift の STL_QUERY.query と SYS_QUERY_HISTORY. query_id の対応表を作成する
Redshift の STLテーブルのクエリID(query列)と SYS ビューのクエリID(query_id)は別の値のため、クエリIDで結合することはできない。トランザクションID(STLとSYSのトランザクションIDが 1:1 の場合)で結合することができる。Redshift の STL テーブルと SYS ビュー - ablogSTL_QUERY と SYS_QUERY_HISTORYを...
View ArticleRedshift Spectrum でサポートされるデータ型
次の データ型 がサポートされています。SMALLINT (INT2)INTEGER (INT、INT4)BIGINT (INT8)DECIMAL (NUMERIC)REAL (FLOAT4)DOUBLE PRECISION (FLOAT8)BOOLEAN (BOOL)CHAR (CHARACTER)VARCHAR (CHARACTER VARYING)VARBYTE (CHARACTER...
View ArticleRedshift Spectrum で外部スキーマの作成と同時に外部データベースを作成する
Redshift Spectrum で外部スキーマの作成と同時に外部データベースを作成する。外部スキーマの作成と同時に外部データベースを作成するには、FROM DATA CATALOGステートメントで CREATE EXTERNAL DATABASE を指定して CREATE EXTERNAL SCHEMA 句を含めます。次の例では、外部データベース spectrum_schema を使用して...
View ArticleRedshift でテーブルの所有者を変更するにはスーパーユーザー権限が必要
Amazon Redshift でテーブルの所有者を変更するにはスーパーユーザー権限が必要。dev=> ALTER TABLE table_a OWNER TO user_a; ERROR: must be superuser to change owner 参考ALTER TABLE - Amazon Redshift
View ArticleRedshift でユーザーの接続制限数(CONNECTION LIMIT)以上のコネクションを張ろうすると即時エラーになる
Redshift でユーザーの接続制限数以上のコネクションを張ろうとすると即時エラーになる。検証結果3本接続を張った後、4本目の接続を張ろうとすると即時エラーとなる。$ psql -A -h rs-ra3-4xl-4n.********.us-east-1.redshift.amazonaws.com -p 5439 -d dev -U testuser Password foruser...
View ArticleRedshift でクラスターの一時停止・再開とパラメータグループの変更を許可する IAM ポリシー
Redshift でクラスターの一時停止・再開(特定のクラスターのみ)、パラメータグループ設定変更(特定の)を許可する IAM ポリシー前提マネジメントコンソールから人が操作する想定(AWSCLIなど AWSAPI経由で実行する場合も同じ)。IAM ポリシー "ReadOnlyAccess"(AWS管理) が付与されている前提。IAMロール・ポリシー設定IAMロール名:...
View ArticleCloudWatch メトリクスのデータポイントの粒度と参照可能期間
CloudWatch メトリクスのデータポイントの粒度と参照可能期間メトリクスの保持 CloudWatch では、次のようにメトリクスデータを保持します。期間が 60 秒未満のデータポイントは、3 時間使用できます。これらのデータポイントは高解像度カスタムメトリクスです。期間が 60 秒 (1 分) のデータポイントは、15 日間使用できます。期間が 300 秒 (5 分) のデータポイントは、63...
View Article自動VACUUM実行中に手動VACUUMを実行するとどうなるか
自動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...
View ArticleSYS_LOAD_ERROR_DETAIL で他のユーザーが実行したロード処理も参照できるようにする
デフォルトだと一般ユーザーは SYS_LOAD_ERROR_DETAIL を参照すると、自分が実行したロード処理のエントリしか表示できない。他のユーザーが実行したロード処理のエントリも参照したい場合は SYSLOG ACCESS UNRESTRICTED...
View ArticleRedshift の分散スタイルやソートキーの自動最適化履歴を確認する
Redshift の分散スタイルやソートキーの自動最適化履歴は SVL_AUTO_WORKER_ACTION で確認することができる。select table_id, type, status, eventtime, sequence, previous_state from SVL_AUTO_WORKER_ACTION; table_id | type | status | eventtime |...
View Article