FirebirdSQL logo

CREATE DATABASE

Назначение

Создание новой базы данных.

Доступно в

DSQL, ESQL

Синтаксис
CREATE {DATABASE | SCHEMA} <filespec>
  [<db_initial_option> [<db_initial_option> ...]]
  [<db_config_option> [<db_config_option> ...]]

<db_initial_option> ::=
    USER username
  | PASSWORD 'password'
  | ROLE rolename
  | PAGE_SIZE [=] size
  | LENGTH [=] num [PAGE[S]]
  | SET NAMES 'charset'

<db_config_option> ::=
    DEFAULT CHARACTER SET default_charset
      [COLLATION collation]
  | <sec_file>
  | DIFFERENCE FILE 'diff_file'


<filespec> ::= '[<server_spec>]{filepath | db_alias}'

<server_spec> ::=
    host[/ {port | service}]:
  | \\host\
  | <protocol>://[host[:{port | service}]/]

<protocol> ::= inet | inet4 | inet6 | wnet | xnet

<sec_file> ::=
  FILE 'filepath'
  [LENGTH [=] num [PAGE[S]]
  [STARTING [AT [PAGE]] pagenum]
Note

Каждый db_initial_option и db_config_option может встречаться не более одного раза, за исключением sec_file, который может встречаться ноль или более раз.

Table 1. Параметры оператора CREATE DATABASE
Параметр Описание

filespec

Спецификация первичного файла базы данных.

server_spec

Спецификация удалённого сервера.Включает в себя имя сервера и протокол.Необходима, если база данных создаётся на удалённом сервере.

filepath

Полный путь и имя файла, включая расширение.Имя файла должно быть задано в соответствии со спецификой используемой платформы.

db_alias

Псевдоним (alias) базы данных, присутствующий в файле databases.conf

host

Имя сервера или IP адрес, на котором создаётся база данных.

port

Номер порта, который слушает удалённый сервер (параметр RemoteServicePort файла firebird.conf).

service

Имя сервиса.Должно совпадать со значением параметра RemoteServiceName файла firebird.conf.

protocol

Наименование протокола.

username

Имя пользователя-владельца базы данных.Может быть заключено в одинарные или двойные кавычки.Если имя пользователя заключено в двойные кавычки, то оно чувствительно к регистру.

password

Пароль пользователя-владельца базы данных.Чувствительно к регистру.

role

Имя роли, права которой могут учитываться при создании базы данных.Может быть заключено в одинарные или двойные кавычки.Если имя роли заключено в двойные кавычки, то оно чувствительно к регистру.

size

Размер страницы для базы данных.Допустимые значения 4096, 8192, 16384, 32768.Размер страницы по умолчанию 8192.

num

Максимальный размер первичного или вторичного файла в страницах.

charset

Задаёт набор символов подключения, доступного после успешного создания базы данных.

default_charset

Задаёт набор символов по умолчанию для строковых типов данных.

collation

Сортировка для набора символов по умолчанию.

sec_file

Спецификация вторичного файла.

pagenum

Номер страницы, с которой начинается вторичный файл базы данных.

diff_file

Путь и имя дельта файла.

Оператор CREATE DATABASE создаёт новую базу данных.Вы можете использовать CREATE DATABASE или CREATE SCHEMA.Это синонимы.

База данных может состоять из одного или нескольких файлов.Первый, основной, файл называется первичным, остальные файлы — вторичными.

Note

В настоящее время многофайловые базы данных являются атавизмом.Многофайловые базы данных имеет смысл использовать на старых файловых системах, в которых существует ограничение на размер любого файла.Например, в FAT32 нельзя создать файл больше 4-х гигабайт.

Спецификация первичного файла — имя файла базы данных и его расширение с указанием к нему полного пути в соответствии с правилами используемой операционной системы.При создании базы данных файл базы данных должен отсутствовать.В противном случае будет выдано сообщение об ошибке и база данных не будет создана.Если полный путь к базе данных не указан, то база данных будет создана в одном из системных каталогов.В каком именно зависит от операционной системы.

Использование псевдонимов БД

Вместо полного пути к первичному файлу базы можно использовать псевдонимы (aliases). Псевдонимы описываются в файле databases.conf в формате:

alias = filepath
Note

Помимо указания псевдонимов для базы данных в этом файле можно задать параметры уровня базы данных для каждой описываемой базы данных.Эти параметры задаются в фигурных скобках сразу после объявления псевдонима.

docnext count = 18

Создание БД на удалённом сервере

При создании базы данных на удалённом сервере необходимо указать спецификацию удалённого сервера.Спецификация удалённого сервера зависит от используемого протокола.

Если вы при создании базы данных используете протокол TCP/IP, то спецификация первичного файла должна выглядеть следующим образом:

host[/{port | service}]:{filepath | db_alias}

Если вы при создании базы данных используете протокол под названием именованные каналы (Name Pipes), то спецификация первичного файла должна выглядеть следующим образом.

\\host\{filepath | db_alias}

Существует также унифицированный URL-подобный синтаксис спецификации удалённого сервера.В этом синтаксисе первым параметром указывается наименование протокола, далее указывается имя сервера или IP адрес, номер порта и путь к первичному файлу базы данных или псевдоним.В качестве протокола можно указать следующие значения:

INET

TCP/IP (сначала пробует подключиться по протоколу TCP/IP v6, если не получилось, то TCP/IP v4);

INET4

TCP/IP v4;

INET6

TCP/IP v6;

WNET

протокол именованных каналов (Named Pipes);

XNET

локальный протокол.

<protocol>://[host[:{port | service}]/]{filepath | db_alias}

Необязательные параметры CREATE DATABASE

USER и PASSWORD

Необязательные предложения USER и PASSWORD задают, соответственно, имя и пароль пользователя присутствующего в базе данных безопасности (security4.fdb или той, что указана в параметре SecurityDatabase). Пользователя и пароль можно не указывать, если установлены переменные окружения ISC_USER и ISC_PASSWORD.Пользователь, указанный при создании базы данных, будет её владельцем.

ROLE

Необязательное предложение ROLE задаёт имя роли (обычно это RDB$ADMIN), права которой будут учитываться при создании базы данных.Роль должна быть назначена пользователю в соответствующей базе данных безопасности.

PAGE_SIZE

Необязательное предложение PAGE_SIZE задаёт размер страницы базы данных.Этот размер будет установлен для первичного файла и всех вторичных файлов базы данных.При вводе размера страницы БД меньшего, чем 4096, он будет автоматически изменён на 4096.Другие числа (не равные 4096, 8192, 16384 или 32768) будут изменены на ближайшее меньшее из поддерживаемых значений.Если размер страницы базы данных не указан, то по умолчанию принимается значение 8192.

Tip
Больше не значит лучше

Большие размеры страницы могут вместить больше записей на одной странице, иметь более широкие индексы и больше индексов, но они также будут тратить больше места для BLOB (сравните потраченное впустую пространство BLOB размером 3 КБ на странице размером 4096 и такого же BLOB на 32768: +/- 1 КБ против +/- 29 КБ). Кроме того, при большом размере страницы увеличивается конкуренция за одну и ту же страницу данных, поскольку на неё вмещается больше записей, который могли бы располагаться на разных страницах.

LENGTH

Необязательное предложение LENGTH задаёт максимальный размер первичного или вторичного файла базы данных в страницах.При создании базы данных её первичный или вторичный файл будут занимать минимально необходимое количество страниц для хранения системных данных, не зависимо от величины, установленной в предложении LENGHT.Для единственного или последнего (в многофайловой базе данных) файла значение LENGTH никак не влияет на его размер.Файл будет автоматически увеличивать свой размер по мере необходимости.

SET NAMES

Необязательное предложение SET NAMES задаёт набор символов подключения, доступного после успешного создания базы данных.По умолчанию используется набор символов NONE.

DEFAULT CHARACTER SET

Необязательное предложение DEFAULT CHARACTER SET задаёт набор символов по умолчанию для строковых типов данных.Наборы символов применяются для типов CHAR, VARCHAR и BLOB.По умолчанию используется набор символов NONE.Для набора символов по умолчанию можно также указать сортировку по умолчанию (COLLATION). В этом случае сортировка станет умалчиваемой для набора символов по умолчанию (т.е.для всей БД за исключением случаев использования других наборов символов).

STARTING AT

Предложение STARTING AT задаёт номер страницы базы данных, с которой должен начинаться следующий файл базы данных.Когда предыдущий файл будет полностью заполнен данными в соответствии с заданным номером страницы, система начнёт помещать вновь добавляемые данные в следующий файл базы данных.

DIFFERENCE FILE

Необязательное предложение DIFFERENCE FILE задаёт путь и имя дельта файла, в который будут записываться изменения, внесённые в БД после перевода её в режим “безопасного копирования” (“copy-safe”) путём выполнения команды ALTER DATABASE BEGIN BACKUP.Полное описание данного параметра см.в ALTER DATABASE.

Диалект базы данных

По умолчанию база данных создаётся в 3 диалекте.Для того чтобы база данных была создана в нужном вам диалекте SQL, следует перед выполнением оператора создания базы данных задать нужный диалект, выполнив оператор SET SQL DIALECT.

Кто может создать базу данных?

Выполнить оператор CREATE DATABASE могут:

Примеры

Example 1. Создание базы данных в операционной системе Windows

Создание базы данных в операционной системе Windows расположенной на диске D с размером страницы 8192.Владельцем базы данных будет пользователь wizard.База данных будет в 1 диалекте, и использовать набор символов по умолчанию WIN1251.

SET SQL DIALECT 1;
CREATE DATABASE 'D:\test.fdb'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET WIN1251;
Example 2. Создание базы данных в операционной системе Linux

Создание базы данных в операционной системе Linux с размером страницы 4096.Владельцем базы данных будет пользователь wizard.База данных будет в 3 диалекте, и использовать набор символов по умолчанию UTF8 с умалчиваемой сортировкой UNICODE_CI_AI.

CREATE DATABASE '/home/firebird/test.fdb'
USER "wizard" PASSWORD 'player' ROLE 'RDB$ADMIN'
PAGE_SIZE = 4096
DEFAULT CHARACTER SET UTF8 COLLATION UNICODE_CI_AI;
Important

В данном случае при создании базы данных будет учитываться регистр символов для имени пользователя, потому что оно указано в двойных кавычках.

Example 3. Создание базы данных на удалённом сервере

Создание базы данных на удалённом сервере baseserver расположенном по пути, на который ссылается псевдоним test, описанный в файле databases.conf.Используется протокол TCP.Владельцем базы данных будет пользователь wizard.

CREATE DATABASE 'baseserver:test'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET UTF8;

То же самое с использованием унифицированного URL-подобного синтаксиса задания спецификации удалённого сервера.

CREATE DATABASE 'inet://baseserver:3050/test'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET UTF8;

или

CREATE DATABASE 'inet://baseserver:gds_db/test'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET UTF8;

При использовании доменных имён может быть полезно указать какой именно из протоколов IP v4 или IP v6 вы хотите использовать.

CREATE DATABASE 'inet4://baseserver/test'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET UTF8;

или

CREATE DATABASE 'inet6://baseserver/test'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET UTF8;

Создание базы данных с указанием IP адреса (IPv4) вместо указания имени сервера.

CREATE DATABASE '127:0:0:1:test'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET UTF8;

Создание базы данных с указанием IP адреса (IPv6) вместо указания имени сервера.

CREATE DATABASE '[::1]:test'
USER wizard PASSWORD 'player' ROLE RDB$ADMIN
DEFAULT CHARACTER SET UTF8;
Example 4. Создание многофайловой базы данных

Создание базы данных в 3 диалекте с набором символов по умолчанию UTF8.Первичный файл будет содержать 10000 страниц с размером страницы 8192.Как только в процессе работы с базой данных первичный файл будет заполнен, СУБД будет помещать новые данные во вторичный файл test.fdb2.Аналогичные действия будут происходить и со вторым вторичным файлом.Размер последнего файла будет увеличиваться до тех пор, пока это позволяет используемая операционная система или пока не будет исчерпана память на внешнем носителе.

SET SQL DIALECT 3;
CREATE DATABASE 'baseserver:D:\test.fdb'
USER wizard PASSWORD 'player' ROLE 'RDB$ADMIN'
PAGE_SIZE = 8192
DEFAULT CHARACTER SET UTF8
FILE 'D:\test.fdb2'
STARTING AT PAGE 10001
FILE 'D:\test.fdb3'
STARTING AT PAGE 20001;
Example 5. Создание многофайловой базы данных 2

Создание базы данных в 3 диалекте с набором символов по умолчанию UTF8.Первичный файл будет содержать 10000 страниц с размером страницы 8192.Как только в процессе работы с базой данных первичный файл будет заполнен, СУБД будет помещать новые данные во вторичный файл test.fdb2.Аналогичные действия будут происходить и со вторым вторичным файлом.

SET SQL DIALECT 3;
CREATE DATABASE 'baseserver:D:\test.fdb'
USER wizard PASSWORD 'player' ROLE 'RDB$ADMIN'
PAGE_SIZE = 8192
LENGTH 10000 PAGES
DEFAULT CHARACTER SET UTF8
FILE 'D:\test.fdb2'
FILE 'D:\test.fdb3'
STARTING AT PAGE 20001;

ALTER DATABASE

Назначение

Изменение структуры файлов базы данных, переключение её в состояние “безопасное для копирования” или изменение некоторых свойств базы данных.

Доступно в

DSQL, ESQL

Синтаксис
ALTER {DATABASE | SCHEMA}
    {<add_sec_clause> [<add_sec_clausee> ...]}
  | {ADD DIFFERENCE FILE 'diff_file' | DROP DIFFERENCE FILE}
  | {{BEGIN | END} BACKUP}
  | {SET DEFAULT CHARACTER SET charset}
  | {SET DEFAULT SQL SECURITY {DEFINER | INVOKER}}
  | {SET LINGER TO linger_duration | DROP LINGER}
  | {ENCRYPT WITH plugin_name [KEY key_name] | DECRYPT}
  | {ENABLE | DISABLE} PUBLICATION
  | INCLUDE {TABLE <table_list> | ALL} TO PUBLICATION
  | EXCLUDE {TABLE <table_list> | ALL} FROM PUBLICATION

<add_sec_clause> ::= ADD <sec_file> [<sec_file> ...]

<sec_file> ::=
  FILE 'filepath'
  [STARTING [AT [PAGE]] pagenum]
  [LENGTH [=] num [PAGE[S]]

<table_list> ::= tablename [, tablename ...]
Table 1. Параметры оператора ALTER DATABASE
Параметр Описание

add_sec_clause

Инструкция для добавления вторичного файла базы данных.

sec_file

Спецификация вторичного файла.

filepath

Полный путь и имя дельта файла или вторичного файла базы данных.

pagenum

Номер страницы, с которой начинается вторичный файл базы данных.

num

Максимальный размер вторичного файла в страницах.

diff_file

Путь и имя дельта файла.

charset

Новый набор символов по умолчанию для базы данных.

linger_duration

Задержка в секундах.

plugin_name

Имя плагина шифрования.

key_name

Имя ключа шифрования.

table_list

Список таблиц, которые необходим разрешить или запретить дляпубликации (репликации).

tablename

Имя таблицы.

Оператор ALTER DATABASE изменяет структуру файлов базы данных или переключает её в состояние “безопасное для копирования”.

Добавление вторичного файла

Предложение ADD FILE добавляет к базе данных вторичный файл.Для вторичного файла необходимо указывать полный путь к файлу и имя вторичного файла.Описание вторичного файла аналогично тому, что описано в операторе CREATE DATABASE.

Example 1. Добавление вторичного файла в базу данных

Как только в предыдущем первичном или вторичных файлах будет заполнено 30000 страниц, СУБД будет помещать данные во вторичный файл test4.fdb.

ALTER DATABASE
ADD FILE 'D:\test.fdb4'
STARTING PAGE 30001;

Изменение пути и имени дельта файла

Предложение ADD DIFFERENCE FILE задаёт путь и имя дельта файла, в который будут записываться изменения, внесённые в базу данных после перевода её в режим “безопасного копирования” (“copy-safe”). Этот оператор в действительности не добавляет файла.Он просто переопределяет умалчиваемые имя и путь файла дельты.Для изменения существующих установок необходимо сначала удалить ранее указанное описание файла дельты с помощью оператора DROP DIFFERENCE FILE, а затем задать новое описание файла дельты.Если не переопределять путь и имя файла дельты, то он будет иметь тот же путь и имя, что и БД, но с расширением .delta.

Note

При задании относительного пути или только имени файла дельты он будет создаваться в текущем каталоге сервера.Для операционных систем Windows это системный каталог.

Предложение DROP DIFFERENCE FILE удаляет описание (путь и имя) файла дельты, заданное ранее командой ADD DIFFERENCE FILE.На самом деле при выполнении этого оператора файл не удаляется.Он удаляет путь и имя файла дельты и при последующем переводе БД в режим “безопасного копирования” будут использованы значения по умолчанию (т.е.тот же путь и имя, что и у файла БД, но с расширением .delta).

Example 1. Установка пути и имени файла дельты
ALTER DATABASE
ADD DIFFERENCE FILE 'D:\test.diff';
Example 2. Удаление описание файла дельты
ALTER DATABASE
DROP DIFFERENCE FILE;

Перевод базы данных в режим “безопасного копирования”

Предложение BEGIN BACKUP предназначено для перевода базы данных в режим “безопасного копирования” (“copy-safe”). Этот оператор “замораживает” основной файл базы данных, что позволяет безопасно делать резервную копию средствами файловой системы, даже если пользователи подключены и выполняют операции с данными.При этом все изменения, вносимые пользователями в базу данных, будут записаны в отдельный файл, так называемый дельта файл (delta file).

Note

Оператор BEGIN BACKUP, несмотря на синтаксис, не начинает резервное копирование базы данных, а лишь создаёт условия для его осуществления.

Предложение END BACKUP предназначено для перевода базы данных из режима “безопасного копирования” (“copy-safe”) в режим нормального функционирования.Этот оператор объединяет файл дельты с основным файлом базы данных и восстанавливает нормальное состояние работы, таким образом, закрывая возможность создания безопасных резервных копий средствами файловой системы.(При этом безопасное резервное копирование с помощью утилиты gbak остаётся доступным).

Example 1. Перевод базы данных в режим “безопасного копирования”
ALTER DATABASE
BEGIN BACKUP;
Example 2. Возвращение базы данных в режим нормального функционирования из режима “безопасного копирования”
ALTER DATABASE
END BACKUP;

Изменение набора символов по умолчанию

Предложение SET DEFAULT CHARACTER SET изменяет набор символов по умолчанию для базы данных.Это изменение не затрагивает существующие данные.Новый набор символов по умолчанию будет использоваться только в последующих DDL командах, кроме того для них будет использоваться сортировка по умолчанию для нового набора символов.

Example 1. Изменение набора символов по умолчанию для базы данных
ALTER DATABASE SET DEFAULT CHARACTER SET WIN1251;

Изменение привилегий выполнения по умолчанию

Начиная с Firebird 4.0 появилась возможность указывать объектам метаданных с какими привилегиями они будут выполняться: вызывающего или определяющего пользователя.Для этого используется предложение SQL SECURITY, которое можно указать для таблицы, триггера, процедуры, функции или пакета.Если выбрана опция INVOKER, то объект метаданных будет выполняться с привилегиями вызывающего пользователя.Если выбрана опция DEFINER, то объект метаданных будет выполняться с привилегиями определяющего пользователя (владельца). Если при создании PSQL модуля или таблицы предложение SQL SECURITY не задано, то по умолчанию используется опция INVOKER.

Предложение SET DEFAULT SQL SECURITY изменяет привилегии выполнения с которым по умолчанию выполняются PSQL модули (хранимые процедуры, функции и пакеты).

Example 1. Изменение привилегий выполнения по умолчанию

После выполнения данного оператора PSQL модули по умолчанию будут выполняться с опцией SQL SECURITY DEFINER

ALTER DATABASE SET DEFAULT SQL SECURITY DEFINER;

LINGER

Предложение SET LINGER позволяет установить задержку закрытия базы данных.Этот механизм позволяет Firebird в режиме SuperServer, сохранять базу данных в открытом состоянии в течение некоторого времени после того как последние соединение закрыто, т.е.иметь механизм задержки закрытия базы данных.Это может помочь улучшить производительность и уменьшить издержки в случаях, когда база данных часто открывается и закрывается, сохраняя при этом ресурсы “разогретыми” до следующего открытия.

Tip

Такой режим может быть полезен для Web приложений, в которых коннект к базе обычно “живёт” очень короткое время.

Предложение DROP LINGER удаляет задержку и возвращает базу данных к нормальному состоянию (без задержки). Эта команда эквивалентна установки задержки в 0.

Tip

Удаление LINGER не самое лучшее решение для временной необходимости его отключения для некоторых разовых действий, требующих принудительного завершения работы сервера.Утилита gfix теперь имеет переключатель -NoLinger, который сразу закроет указанную базу данных, после того как последнего соединения не стало, независимо от установок LINGER в базе данных.Установка LINGER будет сохранена и нормально отработает в следующий раз.

Кроме того, одноразовое переопределение доступно также через сервисы API, с использованием тега isc_spb_prp_nolinger, например (в такой строке):

fbsvcmgr host:service_mgr user sysdba password xxx
action_properties dbname employee prp_nolinger
Example 1. Установка задержки в 30 секунд
ALTER DATABASE SET LINGER TO 30;
Example 2. Удаление задержки
ALTER DATABASE DROP LINGER;

или

ALTER DATABASE SET TO LINGER 0;

Шифрование базы данных

Оператор ALTER DATABASE с предложением ENCRYPT WITH шифрует базу данных с помощью указанного плагина шифрования.Шифрование начинается сразу после этого оператора и будет выполняться в фоновом режиме.Нормальная работа с базами данных не нарушается во время шифрования.

Note

Процесс шифрования может быть проконтролирован с помощью поля MON$CRYPT_PAGE в псевдо-таблице MON$DATABASE или просмотрен на странице заголовка базы данных с помощью gstat -e.

gstat –h также будет предоставлять ограниченную информацию о состоянии шифрования.

Например, следующий запрос

select MON$CRYPT_PAGE * 100 / MON$PAGES from MON$DATABASE

будет отображать процент завершения процесса шифрования.

Необязательное предложение KEY позволяет передать имя ключа для плагина шифрования.Что делать с этим именем ключа решает плагин.

Оператор ALTER DATABASE с предложением DECRYPT дешифрует базу данных.

Example 1. Шифрование базы данных
ALTER DATABASE ENCRYPT WITH DbCrypt;
Example 2. Дешифрование базы данных
ALTER DATABASE DECRYPT;

Управление репликацией

Оператор ALTER DATABASE с предложением ENABLE PUBLICATION включает репликацию базы данных.

ALTER DATABASE ENABLE PUBLICATION

Для отключения репликации базы данных выполните оператор

ALTER DATABASE DISABLE PUBLICATION

Изменения будут применены сразу после подтверждения транзакции.

При настойке репликации должен быть определен набор репликации (он же публикация). Он включает в себя таблицы, которые должны быть реплицированы.Это также делается с помощью команды DDL:

ALTER DATABASE INCLUDE {TABLE <table_list> | ALL} TO PUBLICATION

<table_list> ::= tablename [, tablename ...]

При использовании ключевого слова ALL в набор репликации будут включены все таблицы, включая те что будут созданы позднее.Команда будет выглядеть следующим образом:

ALTER DATABASE INCLUDE ALL TO PUBLICATION

Вы можете задать конкретный набор таблиц для репликации.Для этого после ключевого слова TABLE необходимо указать список таблиц через запятую.В следующем примере мы разрешаем репликацию для таблиц t1 и t2:

ALTER DATABASE INCLUDE TABLE t1, t2 TO PUBLICATION

Для исключения таблиц из набора репликации (публикации) используется следующий оператор:

ALTER DATABASE EXCLUDE {TABLE <table_list> | ALL} FROM PUBLICATION

<table_list> ::= tablename [, tablename ...]

При использовании ключевого слова ALL из набора репликации будут исключены все таблицы.Если ранее в публикацию были добавлены все таблицы с использованием ключевого слова ALL, то данный оператор отключит автоматическую публикацию для вновь создаваемых таблиц.Команда будет выглядеть следующим образом:

ALTER DATABASE EXCLUDE ALL FROM PUBLICATION

Вы можете задать конкретный набор таблиц для исключения из репликации.Для этого после ключевого слова TABLE необходимо указать список таблиц через запятую.В следующем примере мы исключаем таблицы t1 и t2 из набора репликации:

ALTER DATABASE EXCLUDE TABLE t1, t2 FROM PUBLICATION

Таблицы, включенные для репликации, могут быть дополнительно отфильтрованы с использованием двух параметров в файле конфигурации replication.conf: include_filter и exclude_filter.Это регулярные выражения, которые применяются к именам таблиц и определяют правила для включения таблиц в набор репликации или исключения их из набора репликации.

Кто может выполнить ALTER DATABASE?

Выполнить оператор ALTER DATABASE могут:

См. также:

CREATE DATABASE, DROP DATABASE.

DROP DATABASE

Назначение

Удаление текущей базы данных.

Доступно в

DSQL, ESQL

Синтаксис
DROP DATABASE

Оператор DROP DATABASE удаляет текущую базу данных.Перед удалением базы данных, к ней необходимо присоединиться.Оператор удаляет первичный, все вторичные файлы и все файлы теневых копий.

Кто может удалить базу данных?

Выполнить оператор DROP DATABASE могут:

Примеры

Example 1. Удаление базы данных

Удаление базы данных, к которой подключен клиент.

DROP DATABASE;
См. также:

CREATE DATABASE, ALTER DATABASE.