Mac 用 Amazon Redshift クライアント
アプリ同梱の PostgreSQL ドライバーでプロビジョンドクラスタや Serverless ワークグループに問い合わせ、各テーブルの分散方式とソートキーを確認し、自分のスキーマと並んで Spectrum や datashare のスキーマを閲覧できます。
Mac で使用可能Mac アプリにドライバー同梱
概要
- クエリ言語
- SQL
- ドライバー
- Mac アプリに同梱PostgreSQL、CockroachDBとPGlite と共有
- 接続方法
- ホストとポート, SSH トンネル, SSL/TLS
- 既定のポート
- 5439
- iPhone と iPad
- Mac から同期すれば開ける
接続
ホストにはクラスタエンドポイント、Redshift Serverless ならワークグループエンドポイントを使い、どちらも同じポートで待ち受けます。データベースは必須で、すべてのクラスタには作成時に dev が用意されます。redshift:// URL のインポートでフォームを入力できます。
新規接続は SSL を Preferred にし、バージョン検査は行わないため、AWS が稼働させているクラスタなら接続できます。パスワードはキーチェーンに保存するか ~/.pgpass から読み取り、接続の 認証情報オプション の二つです。公開アクセスできないクラスタには、VPC 内の踏み台への SSH トンネル でアクセスします。
クエリと編集
クエリと Preview SQL 付きの行編集保留 は、同じドライバーを使う PostgreSQL と同じように動作します。有効なデータベース以外に紐付いたタブは、そのために二つ目の接続を開きます。
テーブル情報は svv_table_info から分散方式、ソートキーとサイズを読み取り、DDL タブは DISTKEY、SORTKEY、DISTSTYLE、ENCODE を書き出します。外部キーは表示しますが Redshift は強制しないため、違反する行も防げません。
EXPLAIN と EXPLAIN VERBOSE は Redshift のプランを図ではなくテキストで返します。
CREATE EXTERNAL SCHEMA で作ったスキーマは、S3 上の Spectrum、フェデレーテッドクエリ、データベース間参照や datashare を問わず、独自スキーマと並んで External と表示します。テーブルは通常どおり閲覧、絞り込み、並べ替えとエクスポートができますが、Redshift が UPDATE と DELETE を受け付けないため読み取り専用です。行数は表示せず、カラム型は外部カタログの報告をそのまま読みます。
スキーマ
Redshift に管理対象のインデックス、enum、シーケンスやトリガーはありません。DISTKEY と SORTKEY がインデックスに相当する役割を果たし、Structure に Triggers タブはありません。ルーチンはサイドバーに表示しません。
サイドバーからテーブル、データベースとスキーマを名前変更し、所有者付きのスキーマを作成できます。
監視とバックアップ
Server Dashboard はセッションと遅いクエリを一覧表示し、接続数、キャッシュヒット率、データベースサイズ、稼働時間と実行中のクエリをメトリクスとして示します。Cancel Query は pg_cancel_backend、Terminate Session は pg_terminate_backend を、それぞれ確認後に送ります。
Redshift には Maintenance メニューも Users & Roles もありません。VACUUM、ANALYZE と GRANT は SQL エディタで実行します。
Backup Dump と Restore Dump は Mac の pg_dump と pg_restore を実行し、SSH トンネルがある場合はそれを通します。先に Homebrew の libpq でインストールしてください。
データの移動
インポート は Mac の CSV、TSV、JSON、JSONL、XLSXとSQL ファイルを Redshift テーブルに読み込みます。テーブルやクエリ結果は CSV、JSON、SQL、XLSX、Markdown、HTMLとXML にエクスポートし、外部テーブルも通常どおりエクスポートできます。
iPhone と iPad
iPhone と iPad アプリが Amazon Redshift 接続を開けるのは、iCloud Sync やエクスポートした接続ファイルで Mac から持ち込んだ場合のみです。アプリ内では作成できません。
Redshift 接続を iPhone や iPad に持ち込むには、Mac の Starter プランに含まれる iCloud Sync を有効にするか、接続をエクスポートしたファイルをデバイスで開きます。その後はアプリ内蔵の PostgreSQL ドライバーで、カードの閲覧、絞り込み、並べ替え、Query タブでの SQL 実行ができます。iCloud Sync のパスワードはパスワード同期を有効にした場合のみ届きます。エクスポートでは Starter プランのパスワード付き暗号化ファイルを使います。証明書は各デバイスに残ります。
制限
- Redshift の AWS IAM 認証は非対応です。データベースユーザーでログインしてください。
- Structure タブは読み取り専用です。エディタで DDL を実行してください。
- iPhone・iPad で Redshift 接続を開けるのは、Mac から同期またはインポートした場合のみです。
Amazon Redshift に関する質問
Redshift Serverless に対応しますか?
はい。ホストにワークグループエンドポイントを入れ、プロビジョンドクラスタと同様にポート、データベースとユーザーを指定します。
pg_dump は Redshift に対応しますか?
Redshift が報告する PostgreSQL バージョンへの対応を表明する pg_dump リリースはありません。PostgreSQL ではサーバーに合うものを選びますが、Redshift ではインストール済みの pg_dump を実行するため、頼る前に小さなスキーマでバックアップを試してください。
TablePro を入手
macOS 13 Ventura 以降 が必要です