Postgres の互換性
プレビュー
この機能は、us-east-1
、 us-west-2
、 eu-west-1
、 ap-southeast-1
、 ap-southeast-2
、 eu-central-1
、 us-east-2
、 ap-south-1
のリージョンでパブリック プレビューとして提供されています。
このページでは、Lakebase データベースインスタンスが Postgres とどのように互換性があるかについて説明します。マネージド Postgres サービスとして、いくつかの違いと機能上の制限があります。
Databricks データベース インスタンスでは、Postgres 16 のみがサポートされます。
クエリの最適化
pg_stat_statements
拡張機能は、クエリのパフォーマンスに関する詳細情報を提供し、遅いクエリを特定して最適化するのに役立ちます。
ユーザーは、クエリのクエリ テキストと、権限を継承するロールを確認できます。ロールに対する ADMIN
特権があり、そのロールのクエリテキストが表示されない場合は、そのロールのメンバーシップを自分に付与します。ロールに対する権限がない場合、セキュリティ上の理由から、そのクエリテキストは表示されません。
Postgres パラメーター設定
マネージドPostgresサービスとして、データベースパラメータはインスタンスサイズに基づいて設定されます。 以下を使用してすべてのパラメーター設定を表示します。
SHOW ALL;
セッション、データベース、またはロールレベルで user
コンテキストを持つパラメーターを構成できます。 インスタンスレベルでパラメーターを設定することはできません。
-
セッション、データベース、またはロールレベルで設定できるパラメーターを表示します。
SQLSELECT name
FROM pg_settings
WHERE context = 'user'; -
セッションのパラメーターを設定します。
SQLSET maintenance_work_mem='1 GB';
-
データベースに接続されているすべてのセッションのパラメーターを設定する
SQLALTER DATABASE databricks_postgres SET maintenance_work_mem='1 GB';
-
特定のユーザーからのすべてのセッションにパラメーターを設定します。
SQLALTER USER "john@company.com" SET maintenance_work_mem='1 GB';
サポートされているエンコードと照合順序
デフォルトでは、C.UTF-8照合順序が使用されます。C.UTF-8 は、UTF-8 でエンコードされた文字の全範囲をサポートします。
UTF8 エンコーディング (Unicode、8 ビット可変幅エンコーディング) がサポートされています。
データベースのエンコードと照合順序を表示するには、次のクエリを実行します。
SELECT
pg_database.datname AS database_name,
pg_encoding_to_char(pg_database.encoding) AS encoding,
pg_database.datcollate AS collation,
pg_database.datctype AS ctype
FROM
pg_database
WHERE
pg_database.datname = 'your_database_name';
Postgresでは、データベースの作成後にデータベースのエンコーディングや照合順序を変更することはできません。
機能の制限
役割と権限
- ホストオペレーティングシステムにアクセスできません。
- Postgres
superuser
を使用して接続することはできません。superuser
権限またはローカルファイルシステムの直接アクセスを必要とする機能は許可されません。databricks_superuser
は、Postgressuperuser
の役割に取って代わります。情報 このロールに関連付けられている特権については、「 データベース ロールの種類とアクセス許可」を参照してください。
複製
レプリケーションスロット、サブスクリプション、またはパブリケーションの作成はサポートされていません。
イベントトリガー
Postgres イベントトリガー はサポートされていません。
クライアント クエリのキャンセル
Postgres キャンセルプロトコル を使用して、進行中のクエリをキャンセルすることはできません。
代わりに、新しい接続を作成し、 pg_cancel_backend(pid) を実行します。
SELECT pg_cancel_backend(pid)
FROM pg_stat_activity
WHERE pid <> pg_backend_pid() AND
query = '{The query you want to cancel}';
サポートされている拡張機能
拡張機能 | バージョン |
---|---|
address_standardizer | 3.3.3 |
address_standardizer_data_us | 3.3.3 |
autoinc | 1 |
bloom | 1 |
btree_gin | 1.3 |
btree_gist | 1.7 |
citext | 1.6 |
cube | 1.5 |
dict_int | 1 |
earthdistance | 1.2 |
fuzzystrmatch | 1.2 |
HLLの | 2.18 |
hstore | 1.8 |
insert_username | 1 |
intagg | 1.1 |
intarray | 1.5 |
isn | 1.2 |
lo | 1.1 |
lツリー | 1.2 |
moddatetime | 1 |
pg_graphql | 1.5.9 |
pg_jsonschema | 0.3.3 |
pg_prewarm | 1.2 |
pg_stat_statements | 1.10 |
pg_trgm | 1.6 |
pgcrypto | 1.3 |
pgrowlocks | 1.2 |
plpgsql | 1 |
postgis | 3.3.3 |
postgis_raster | 3.3.3 |
postgis_sfcgal | 3.3.3 |
postgis_tiger_geocoder | 3.3.3 |
postgis_topology | 3.3.3 |
refint | 1 |
seg | 1.4 |
tablefunc | 1 |
tcn | 1 |
tsm_system_rows | 1 |
tsm_system_time | 1 |
unaccent | 1.1 |
uuid-ossp | 1.1 |
vector | 0.8.0 |
xml2 | 1.1 |