snowflake
futureじゃないgrantsでは、schemaはgrants on schemaで、roleはgrants to role SHOW GRANTS [ LIMIT <rows> ] SHOW GRANTS ON ACCOUNT [ LIMIT <rows> ] SHOW GRANTS ON <object_type> <object_name> [ LIMIT <rows> ] SHOW GRANTS TO { APPLICATION <app_name> | APPLICATION ROLE [ <app_name>. ]<app_role_name> | ROLE </app_role_name></app_name></app_name></rows></object_name></object_type></rows></rows>
Datetime(Timestamp)も一緒で 0000-00-00 00:00:00 はnot recognizedエラーになる。 DATE と TIMESTAMP のデータの場合、Snowflakeは、1582と9999の間の年を使用することをお勧めします。Snowflakeは、この範囲外の数年を受け入れますが、 グレゴリオ暦の制…
MySQLだとIFでステートメントと関数で同じ名前のものが用意されているけれど、SnowflakeだとステートメントがIFで関数はIFFっぽい ので select iff($1 = 'hoge', 'true', 'false'); みたいな書き方をする docs.snowflake.com dev.mysql.com
Information Schemaの情報を参照する関数。 データ保持期間がある。 docs.snowflake.com 例 タスク docs.snowflake.com パイプ docs.snowflake.com
アカウントのオブジェクトメタデータと使用状況を表示するビュー Information Schemaとの違い 各ビューに含まれるドロップ済みオブジェクトの記録 履歴使用データのより長い保持時間 データの待機時間(実行からAccount Usageスキーマに履歴が反映されるまで…
説明不要。 コマンド出力には、ビューの定義は含まれません。代わりに、 SHOW VIEWS を使用してください。 とのこと。 docs.snowflake.com
書き方自体は普通なSQLで、複数のユーザーを同時に更新はできない。 ALTER USER [ IF EXISTS ] [ <name> ] RENAME TO <new_name> ALTER USER [ IF EXISTS ] [ <name> ] RESET PASSWORD ALTER USER [ IF EXISTS ] [ <name> ] ABORT ALL QUERIES ALTER USER [ IF EXISTS ] [ <name> ] ADD DELEGAT</name></name></name></new_name></name>…
IF EXISTS使える RENAMEでリネーム ALTER ROLE [ IF EXISTS ] <name> RENAME TO <new_name> docs.snowflake.com</new_name></name>
このクエリでOWNERとか取れない、、、 docs.snowflake.com
snowpipeとかの履歴が取れる。 書き方はtask_historyとかと一緒。 docs.snowflake.com
タスクの実行履歴がSELECTできる。 データベースを指定しておいて以下実行。 select state, error_message, scheduled_time from table(information_schema.task_history()) WHERE DATABASE_NAME = 'xxxxxxxx' order by scheduled_time DESC LIMIT 200 ワイ…
受信(データロード系)には料金が発生しないけど送信(アンロード系)には料金が発生する docs.snowflake.com だからGCSのデータをAWSなSnowflakeにロードしても料金は発生しないけど、AWSなSnowflakeのデータをGCSにエクスポートすると料金が発生する。 www.sn…
識別子が二重引用符で囲まれていない場合、文字またはアンダースコア(_)で始まる必要があり、拡張文字または空白を含めることはできません。 スネークケースでの命名を推奨されているっぽい docs.snowflake.com
スキーマの中にタスクがあるので、データベースとスキーマを決めておかないといけない。 docs.snowflake.com docs.snowflake.com
一番よく使うのはRESUME|SUSPENDの切り替え ALTER TASK "test_task" RESUME 変更する前に一時停止する必要がある 1つのアカウントで同時にRESUMEできるタスクは10000 docs.snowflake.com
本当にterse(簡素)な show table で、カラムを好きに設定することはできないらしい。 docs.snowflake.com
データベースにある将来のオブジェクトの権限を付与または取り消すには、 MANAGE GRANTS グローバル権限が必要です。SECURITYADMIN および ACCOUNTADMIN システムロールのみが MANAGE GRANTS 権限を持っています。ただし、この権限はカスタムロールに付与で…
やってること 所有権が新しいロールに譲渡されるときに、オブジェクトの既存のアウトバウンド権限すべてを削除するか、譲渡するかを指定します。 なので、copy current grantsをつけたら権限が残るし、revoke current grantsをつけたら権限が消える。 デフォ…
基本的なSQLの構造は他のDBと一緒。文字列はシングルクォートじゃないとエラーが出る。 docs.snowflake.com
各オブジェクトタイプ(スキーマ、テーブル、ビュー、ストリームなど)に個別に将来の付与を定義する必要があります。詳細については、 既存のデータベースまたはスキーマオブジェクトに対する将来の付与の定義 (このトピック内)をご参照ください。 スキー…
EXECUTE TASK ロールが所有するタスクを実行する権限を付与します。サーバーレスタスクを実行するには、タスクに対して OWNERSHIP 権限を持つロールに、 EXECUTE MANAGED TASK グローバル権限も必要です。ACCOUNTADMIN ロールによって付与される必要がありま…
セキュリティ保護可能なオブジェクトに対する1つ以上のアクセス権限をロールに付与します。付与できる権限はオブジェクト固有であり、次のカテゴリに分類されます。 グローバル権限 アカウントオブジェクト(リソースモニター、仮想ウェアハウス、およびデー…
まずは、DACと 任意アクセス制御(DAC): 各オブジェクトに所有者がおり、所有者はそのオブジェクトへのアクセスを許可できます。 RBACについて覚えておく。 ロールベースのアクセス制御(RBAC): アクセス権限がロールに割り当てられ、ロールはユーザーに…
GRANT TO ロール、REVOKE FROM ロール、と覚えればよし。 docs.snowflake.com
ユーザーとロールを作る データベース(usage)、スキーマ(usage)、テーブル(select以上)にユーザーの権限を付与する docs.snowflake.com datumstudio.jp
関数が結構豊富なんだね docs.snowflake.com
IF-ELSEのあれをSnowflakeではIFFというらしい。 docs.snowflake.com
型を出力する。そういう関数が存在するからありがたい。 docs.snowflake.com docs.snowflake.com
現在は自動検出できないBrotliで圧縮されたファイルを除き、圧縮アルゴリズムは自動的に検出されます。Brotliで圧縮されたファイルをロードする場合は、 AUTO ではなく BROTLI を明示的に使用してください。 とのこと。 docs.snowflake.com
管理画面でロールに権限を付けたり外したりしていると、どんなクエリが内部で実行されたか「履歴」で追える。 docs.snowflake.com docs.snowflake.com