すべてのプロダクト
Search
ドキュメントセンター

PolarDB:CREATE DATABASE

最終更新日:May 28, 2024

CREATE DATABASEステートメントを実行してデータベースを作成できます。 データベースを作成するときに、既定の文字セットや照合順序など、データベースの既定の属性を指定できます。

構文

create_database_stmt:
    CREATE {DATABASE | SCHEMA} [存在しない場合] database_name [database_option_list]

database_option_list:
    database_option [database_option ...]

database_option:
    [デフォルト] {キャラクターセット | CHARSET} [=] charset_name
  | [デフォルト] collation_name [=] collation_name
  | LOCALITY = locality_option}
  | [{PARTITION_MODE | MODE} = partition_mode_option]
  | [DEFAULT_SINGLE = default_single_option]  
  
locality_option:
    'dn=storage_inst_id_list'

storage_inst_id_list:
    storage_inst_id[,storage_inst_id_list]
    
partition_mode_option:
{'auto' | 'partitioning'}
    |{'drds' | 'sharding'}

default_single_option:
{'on' | 'off'} 

使用上の注意

Standard Editionインスタンスは、データベースシャードとテーブルシャードの作成に使用されるDBPARTITION構文をサポートしていません。 DRDSモードでデータベースを作成できるのは、Enterprise Editionインスタンスのみです。

パラメーター

パラメーター

説明

database_name

データベースの名前。

CHARSET charset_name

データベースの文字セット。

collation_nameを収集する

データベースの照合順序。

ロカリティ

データベースの場所。

説明

LOCALITY構文を使用してデータベースの場所を指定した後は、場所を変更することはできません。

モード

論理データベースのパーティション分割モード。 有効な値:

  • drds: データベースはDRDSモードでパーティション分割されます。 DBPARTITION BYやTBPARTITION BYなど、このモード専用のCREATE TABLE構文のみを使用してテーブルを作成できます。

  • auto: データベースはAUTOモードでパーティション分割されます。

    • パーティション定義を手動で指定しない場合、データベースは主キーに基づいてパーティション分割されます。

    • DBPARTITION BY HASH、DBPARTITION BY RANGE、DBPARTITION BY LISTなど、このモード専用のCREATE TABLE構文のみを使用してテーブルを作成できます。

重要
  • MODEパラメーターを設定しない場合は、デフォルト値drdsが使用されます。

  • データベースに指定したパーティション分割モードを変更することはできません。

  • 上記のモードの詳細については、「自動モードおよびDRDSモードのデータベース」をご参照ください。

DEFAULT_SINGLE (PolarDB-X 5.4.17-16921956以降で利用可能)

AUTOモードでデータベースに単一のテーブルを作成し、インスタンス内の異なるデータノード (DN) にテーブルデータを分散するかどうかを指定します。 このパラメータは、AUTOモードのデータベースに対してのみ有効です。 有効な値:

  • on: パーティション定義を明示的に指定せずにAUTOモードでデータベースにテーブルを作成すると、単一のテーブルが作成され、テーブルデータがインスタンス内の異なるDNに分散されます。

  • off: パーティション定義を明示的に指定せずにAUTOモードでデータベースにテーブルを作成すると、データベースはプライマリキーに基づいてパーティション分割されます。 このパラメーターが指定されていない場合も同様です。

  • AUTOモードでtestという名前のデータベースを作成し、UTF-8の文字セットを指定します。

    CREATE DATABASEテストモード=自動デフォルト文字セットUTF8;
    クエリOK、影響を受ける1行 (0.00秒) 
  • PolarDB-Xインスタンスのpolardbx-storage-0マスターノードにデータベースを作成します。

    データベースの作成db1MODE=drds LOCALITY='dn=polardbx-storage-0-master ';
    説明
    • データベースの作成時にデータベースの場所を指定しないと、システムはすべてのストレージノードにデータベースデータを均等に分散します。

    • データベース内のテーブルシャードは、データベースと同じ場所に格納する必要があります。 これにより、テーブルシャード内のデータを分離できます。

    データベースを作成した後、次のステートメントを実行してデータベースの場所を照会できます。

    SHOW CREATE DATABASE db1 MODE=drds;

    次の結果が返されます。

    + ---------- + ------------------------------------------------------------------------ +
    | データベース | データベースの作成 |
    + ---------- + ------------------------------------------------------------------------ +
    | db1 | データベース 'db1' /* LOCALITY = "dn=polardbx-storage-0-master" */ |
    + ---------- + ------------------------------------------------------------------------ +
    1行のセット