Todos os produtos
Search
Central de documentação

PolarDB:CREATE DATABASE

Última atualização: Jun 28, 2026

O comando CREATE DATABASE cria um banco de dados lógico no PolarDB-X. Ao criar o banco de dados, especifique o conjunto de caracteres padrão, a collation, a localidade de armazenamento e o modo de particionamento.

Sintaxe

create_database_stmt:
    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] database_name [database_option_list]

database_option_list:
    database_option [database_option ...]

database_option:
    [DEFAULT] {CHARACTER SET | CHARSET} [=] charset_name
  | [DEFAULT] COLLATE [=] 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'}

Observações de uso

  • Instâncias da Standard Edition não suportam a sintaxe DBPARTITION BY, usada para criar shards de banco de dados e de tabela.

  • Apenas instâncias da Enterprise Edition permitem criar bancos de dados no modo DRDS.

Parâmetros

Parâmetro

Descrição

database_name

Nome do banco de dados.

CHARSET charset_name

Conjunto de caracteres do banco de dados.

COLLATE collation_name

Collation do banco de dados.

LOCALITY

Local de armazenamento do banco de dados, definido por um ou mais IDs de nó de dados (DN). Não é possível alterar esse local após a criação. Se você não especificar LOCALITY, o PolarDB-X distribuirá os dados uniformemente entre todos os nós de armazenamento.

MODE

Modo de particionamento do banco de dados lógico. Valores válidos: auto e drds. Para obter detalhes, consulte Escolha um modo de particionamento. Padrão: drds.

DEFAULT_SINGLE

Defina se os dados de tabelas únicas devem ser distribuídos entre vários DNs quando nenhuma definição explícita de partição for fornecida. Válido apenas para bancos de dados no modo AUTO. Disponível no PolarDB-X 5.4.17-16921956 ou posterior. Valores válidos: on e off. Padrão: off.

Importante

Não é possível alterar o modo de particionamento (MODE) após a criação do banco de dados.

Escolha um modo de particionamento

O PolarDB-X oferece dois modos de particionamento para bancos de dados lógicos. Selecione o modo adequado com base no seu fluxo de trabalho de criação de tabelas.

Modo AUTO

Modo DRDS

Padrão

Não

Sim (padrão quando MODE não é especificado)

Sintaxe de criação de tabela

PARTITION BY HASH, PARTITION BY RANGE, PARTITION BY LIST

DBPARTITION BY, TBPARTITION BY

Tabelas únicas entre nós

Compatível (ative com DEFAULT_SINGLE='on')

Incompatível

Particionamento automático por chave primária

Compatível (ative com set global auto_partition=true)

Incompatível

Requisito de edição

Sem restrição à Enterprise Edition

Exclusivo da Enterprise Edition

Referência

CREATE TABLE (modo AUTO)

CREATE TABLE (modo DRDS)

Para obter uma explicação detalhada sobre ambos os modos, consulte Bancos de dados nos modos AUTO e DRDS.

Comportamento de DEFAULT_SINGLE no modo AUTO

O parâmetro DEFAULT_SINGLE determina o que ocorre ao criar uma tabela em um banco de dados no modo AUTO sem definir uma partição explicitamente.

**DEFAULT_SINGLE**

Comportamento

off (padrão)

Crie uma tabela única.

on

Crie uma tabela única e distribua os dados entre todos os nós de dados da instância. Consulte Common table sharding.

Nota

Se DEFAULT_SINGLE='on' e MODE='auto' forem especificados simultaneamente, DEFAULT_SINGLE='on' terá precedência e desativará o particionamento automático por chave primária.

Exemplos

Crie um banco de dados no modo AUTO com UTF-8

CREATE DATABASE test MODE=auto default CHARACTER SET UTF8;
Query OK, 1 row affected (0.00 sec)

Crie um banco de dados em um nó de armazenamento específico

Fixe o banco de dados em um único nó de armazenamento usando LOCALITY. Os shards de tabela desse banco serão armazenados no mesmo nó, isolando os dados por localização.

CREATE DATABASE db1 MODE=drds LOCALITY='dn=polardbx-storage-0-master';

Verifique a localização após a criação:

SHOW CREATE DATABASE db1 MODE=drds;
+----------+------------------------------------------------------------------------+
| DATABASE | CREATE DATABASE                                                        |
+----------+------------------------------------------------------------------------+
| db1      | CREATE DATABASE `db1` /* LOCALITY = "dn=polardbx-storage-0-master" */  |
+----------+------------------------------------------------------------------------+
1 row in set