はじめに

本記事では、データベース作成時に自動的に作成されるスキーマについてご紹介いたします。

データベース作成時に自動的に作成されるスキーマ

スキーマ名説明
v_internalすべてのデータコレクターテーブルと、「vs_」で始まる仮想システムビューが含まれます。(※)
v_catalogv_catalog.tables、v_catalog.nodesなどのデータベースカタログに関連するシステムテーブルが含まれます。
v_monitorv_monitor.sessions、v_monitor.memory_usageなどのデータベース監視に関連するシステムテーブルが含まれます。
publicユーザーオブジェクトのデフォルトスキーマです。オブジェクト作成時にスキーマ名が指定されていない場合、publicスキーマに作成されます。
v_txtindexテキスト検索および自然言語処理パッケージ用のライブラリが格納されているスキーマです。
v_funcGeospatial(地理空間)パッケージ用のライブラリが格納されているスキーマです。

(※)データコレクターについては、以下の記事をご参照ください。
システムテーブルの保存条件について
http://vertica-tech.ashisuto.co.jp/datacollector/

内部的に利用されるスキーマについて

スキーマ名が「v_」ではじまるスキーマは、データベース内で内部的に利用されるスキーマのため、基本的には意識する必要はありません。
データベースの設定情報等を参照する場合も、「v_」ではじまるスキーマ内に格納されているシステムテーブルを検索することになりますが、本記事で紹介している全てのスキーマはSEARCH_PATHにデフォルトで設定されているため、意識する必要はありません。

(※)SEARCH_PATHの詳細については、以下の記事をご参照ください。
スキーマ修飾を省略する方法
http://vertica-tech.ashisuto.co.jp/search-path/

publicスキーマについて

publicスキーマは、ユーザオブジェクトのデフォルトスキーマです。オブジェクト作成時にスキーマを指定しなければpublicスキーマにオブジェクトが作成されます。

ユーザオブジェクト用のスキーマを複数作成することで、ユーザごとに参照できるスキーマを限定してセキュリティレベルを高めたり、アプリケーションごとにスキーマを分けることで管理がしやすくなります。

参考情報

V_CATALOG Schema
https://www.vertica.com/docs/10.1.x/HTML/Content/Authoring/SQLReferenceManual/SystemTables/CATALOG/V_CATALOGSchema.htm

V_MONITOR Schema
https://www.vertica.com/docs/10.1.x/HTML/Content/Authoring/SQLReferenceManual/SystemTables/MONITOR/V_MONITORSchema.htm



検証バージョンについて

この記事の内容はVertica 10.1で確認しています。

更新履歴

2021/07/30 本記事を公開