ablog

不器用で落着きのない技術者のメモ

2022-07-01から1ヶ月間の記事一覧

VSCode でスペルチェックを使う

拡張機能 Code Spell Checker をインストールする。 スペルチェックの対象とするファイルの拡張子は [Code Spell Checker]-[拡張機能の設定]-[C Spell: Enabled Language Ids] で [項目の追加] で追加できる。 参考 VSCode に Code Spell Checker を導入して…

Redshift でオブジェクト権限を持つグループ・ユーザーを確認する

AWS

select a.relname, b.nspname, a.relacl from pg_class a, pg_namespace b where a.relnamespace = b.oid and a.relacl is not null and b.nspname not like 'pg_%';

Redsfhit でユーザーとグループの一覧を確認する

AWS

select usename, usesysid, usesuper, useconfig, groname, grosysid, grolist from pg_user, pg_group where pg_user.usesysid = any(pg_group.grolist); 参考 amazon web services - Redshift: How to list all users in a group - Stack Overflow

Redshift クラスターに awslabs - amazon-redshift-utils の AdminViews を作成する

AWS

Redshift クラスターに awslabs - amazon-redshift-utils の AdminViews を作成する。 % git clone https://github.com/awslabs/amazon-redshift-utils.git % cd amazon-redshift-utils/src/AdminViews % ls -1 *.sql > run_all.sql % perl -i -pe 's/^/\\i …

Github に push すると "Support for password authentication was removed on August 13, 2021. Please use a personal access token instead." と怒られる

Github に push すると "Support for password authentication was removed on August 13, 2021. Please use a personal access token instead." と怒られる。 事象 % git push origin master Username for 'https://github.com': yoheia Password for 'http…

Amazon Managed Grafana で Redshift のクエリをモニタリングする

AWS

Amazon Managed Grafana(AMG) で Redshift のクエリをモニタリングしてみた。ダッシュボードの定義(JSON)をインポートすると以下のようなダッシュボードを作成できる。 ダッシュボードの見た目 Redshift の設定 Redshift クラスターを選択し、[Actions]-[M…

SCT で Teradata の拡張パックを Redshift にインストールする

AWS

SCTインストール SCT 1.0 Build 655 をダウンロードして、インストールする。 AWS SCT のインストール、検証、更新 - AWS Schema Conversion Tool JDBC 4.2–compatible driver version 2.1 (without the AWS SDK) をダウンロードする。 Amazon Redshift JDBC…

SCT on EC2 Windows から Redshift に接続する

AWS

macOS版 SCT がなくなったので、SCT on EC2 Windows で使う手順。 macOS へアプリケーションインストール AWS CLI v2 Session Manager Plugin Microsoft Remote Desktop EC2インスタンス作成 EC2(Windows)インスタンス作成 AMI: Microsoft Windows Server …

Redshift に import した UDF を確認する

AWS

Redshift に import した UDF を確認する。 sample=# select * from pg_library a, pg_language b where a.language_oid = b.oid; name | language_oid | file_store_id | owner | lanname | lanispl | lanpltrusted | lanplcallfoid | lanvalidator | lanacl…

Redshift で特定スキーマの持つファンクションを調べる

AWS

SQL select a.proname, a.proacl, a.pronamespace, b.nspname from pg_proc a, pg_namespace b where b.nspname = 'aws_teradata_ext' and a.pronamespace = b.oid order by a.proname; 実行結果 proname | proacl | pronamespace | nspname ---------------…

Redshift で毎日決まった時間に一時停止する

AWS

IAMロールを作成する IAMロール RedshiftPauseResumeRole を作成 Permissions policies IAMポリシー RedshiftPauseResumeRolePolicy を作成してアタッチ { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action":…

Redshift で COPY コマンド実行時の query_temp_blocks_to_disk を調べる

AWS

Redshift で COPY コマンド実行時に query_temp_blocks_to_disk が使われることがあることを確認した。 QMR(Query Monitoring Rule) で query_temp_blocks_to_disk > 1MB のクエリを中止するよう設定した上で、分散キー・ソートキーが指定されたテーブルに非…

Redshift のデータシェアリング設定手順

AWS

producer 側 create datashare test_db; alter datashare test_db set publicaccessible = true; alter datashare test_db add schema sample1, sample2; -- consumer 側で "select current_namespace;" を実行し、以下のクエリの <name space> に指定する grant usage o</name>…

Redshift で CREATE TEMP TABLE は QMR の Memory to disk (1 MB blocks) にひっかかる

AWS

Redshift で CREATE TEMP TABLE は QMR(Query Monitoring Rule) の Memory to disk (1 MB blocks) の制限にひっかかることを確認した。 準備 QMR の設定 テーブルを作成する CREATE TABLE lineorder ( lo_orderkey INTEGER NOT NULL, lo_linenumber INTEGE…

psql の変数にクオーテーションをつける方法

:'変数名' とすればよい。 dev=# SELECT current_database() AS database_name; database_name --------------- dev (1 row) dev=# \gset dev=# select :'database_name'; ?column? ---------- dev (1 row) 参考 psqlの変数にクォーテーションをつける方法 -…

Redshift を時限で一時停止・起動する設定

AWS

Redshift クラスターを土日&夜間に一時停止しコストを削減する - サーバーワークスエンジニアブログ