Шрифт:
Интервал:
Закладка:
Встроенный сервер может использовать только "локальный для Windows" метод доступа и поддерживает одно и только одно соединение с каждой локальной базой данных. Встроенный клиент может единолично соединяться с множеством локальных баз данных и получать к ним доступ через встроенный сервер. Встроенный клиент может также соединяться как обычный сетевой клиент с базами данных на других серверах.
Файл конфигурации Firebird
Firebird не требует постоянных серьезных изменений конфигурации, как это делает большинство других мощных реляционных СУБД. Однако доступен большой диапазон режимов конфигурации для настройки сервера Firebird и хост-системы, на которой он запущен.
Файл конфигурации Firebird имеет имя firebird.conf во всех версиях Firebird, начиная с 1.5. В предыдущих версиях его имя зависит от операционной системы:
* в Linux/UNIX это файл isc config;
* в Windows его имя ibconfig.
Некоторые новые параметры были добавлены в версию 1.5.
Когда при запуске процесса Firebird читается файл конфигурации, то выполняется настройка его флагов времени выполнения на значения не по умолчанию, содержащиеся в файле конфигурации. Этот файл больше не читается, пока сервер не будет заново запущен в следующий раз. Параметры конфигурации по умолчанию и их значения отображаются в файле конфигурации, закомментированные маркерами комментариев #. Нет необходимости убирать комментарии для значений по умолчанию, чтобы сделать их видимыми процедуре запуска сервера.
Файл конфигурации может быть отредактирован любым текстовым редактором, например, vim (Linux) или Блокнот (Windows). Не копируйте этот файл с машины Windows на Linux и наоборот, поскольку две системы по-разному хранят символ перевода строки.
Параметры
Записи имеют форму.
имя-параметра = значение
имя-параметра является строкой, которая не содержит пробелов и именует конфигурируемое свойство сервера.
Значение является числом, логическим значением (1 = True, 0 = False) или строкой, что задает значение параметра.
Для установления значения любого параметра в значение не по умолчанию удалите маркер комментария (#) и отредактируйте значение.
Имена параметров Firebird 1.0.* в ibconfig/iscconfig и их синтаксис не являются равнозначными параметрам в firebird.conf. Формат, размер и количество параметров являются более ограниченными.
Формат в ibconfig/isc_config:
имя-параметра значение
Здесь пробелами между именем и его значением могут быть символы табуляции или пробелы - по желанию, что больше радует глаз. Каждая строка в файле ограничена 80 символами. Неиспользуемые параметры и значения инсталляции по умолчанию закомментированы символом #.
В Linux вы должны учитывать, что имена параметров чувствительны к регистру.
! ! !
ПРИМЕЧАНИЕ. Вы можете редактировать файл конфигурации в то время, когда сервер работает. Для активации изменений конфигурации необходимо остановить и снова запустить сервер.
. ! .
"Отсутствующие" параметры в Firebird 1.0.xВ версиях, предшествующих 1.5, некоторые необязательные параметры, которые не могли быть сконфигурированы по умолчанию, не вошли в файл конфигурации.
* Если отсутствующий параметр, принадлежащий ibconfig или isc_config, необходим для работы, он может быть добавлен.
* Если вы включите параметр, который не поддерживается в той версии, которая у вас запущена, он будет проигнорирован.
* Имена параметров и синтаксические конструкции в ibconfig/isc config не являются взаимозаменяемыми в firebird.conf.
Установки менеджера блокировокУлучшенные установки менеджера блокировок обсуждаются позже в конце главы 40.
Параметры, связанные с файловой системойRootDirectoryВерсия 1.5 и более поздние.
Значением этого параметра является строка, задающая абсолютный путь к корневому каталогу локальной файловой системы. Этот параметр должен оставаться закомментированным, если только вы не хотите, чтобы процедура запуска заменила путь к корневому каталогу инсталляции сервера Firebird, который иначе она определяет сама. Серверы Firebird 1.5 и выше следуют заранее определенным путем для поиска корневого каталога. Логика этого пути объясняется в главе 3.
DatabaseAccessВерсия 1.5 и более поздние.
В Firebird 1.0.x сервер может соединиться с любой базой данных в его локальной файловой системе и всегда доступен приложениям, передающим абсолютный путь к файлу в файловой системе. Настоящий параметр был добавлен в версии 1.5 для более жесткого контроля безопасности при доступе к файлам базы данных и для поддержки системы алиасов базы данных. Этот параметр предоставляет возможность ограничения доступа сервера только к базам данных, имеющим алиасы, или только к базам данных, расположенным в указанных деревьях файловой системы.
DatabaseAccess может иметь Значения Full, None или Restrict.
* Full (по умолчанию) разрешает доступ к файлам базы данных в любом месте локальной файловой системы.
* None позволяет серверу соединяться только с базами данных, которые указаны в списке aliases.conf.
! ! !
ВНИМАНИЕ! Настоятельно рекомендуется установить этот режим и использовать средства алиасов баз данных. Алиасы баз данных описаны с примерами в главе 4.
. ! .
* Restrict позволяет сконфигурировать размещение доступных для подключения файлов баз данных, указывая список корневых деревьев файловой системы. Для определения разрешенных размещений задавайте список из одного или более корневых деревьев, разделяя их точкой с запятой, например:
POSIX: /db/databases;/userdir/data
Windows: D:data
Относительные пути трактуются как дополнительные к корневому каталогу установки сервера. Например, под Windows, если корневым каталогом является C:Program FilesFirebird, то следующее значение будет ограничивать доступ сервера к файлам баз данных, размещенных на CAProgram FiiesFirebirduserdata:
DatabaseAccess = Restrict userdata
Параметры для конфигурирования временного пространства для сортировки
Когда размер внутреннего буфера сортировки слишком мал для размещения строк, включенных в операцию сортировки, для Firebird требуется создание временных файлов для сортировки в файловой системе сервера. По умолчанию он будет отыскивать путь, заданный в переменной окружения INTERBASE_TMP. Если эта переменная не указана, он постарается использовать путь /tmp в файловой системе Linux/UNIX или C:Temp в Windows NT/2000/XP. Ни одно из этих размещений не может конфигурироваться для задания размера.
В Firebird существует параметр для определения дискового пространства, которое будет использовано для хранения таких временных файлов. Будет разумным его применять, чтобы гарантировать, что достаточное пространство для сортировки будет доступным при любых условиях.
Все запросы CONNECT или CREATE DATABASE совместно используют один и тот же список каталогов для временных файлов, и каждый запрос создает свои собственные временные файлы. Файлы сортировки освобождаются при завершении сортировки или при отмене запроса.
В версии 1.5 имя этого параметра изменилось с tmp_directory на TempDirectories. Также поменялся и синтаксис значения параметра.
TempDirectoriesВерсия 1.5 и более поздние.
Предоставляет список из одного или более каталогов, разделенных точкой с запятой (;), где могут сохраняться файлы сортировки. Каждый элемент может включать необязательный аргумент размера в байтах для ограничения хранения. Если этот аргумент опущен или задан неверно, Firebird будет использовать пространство в этом каталоге, пока не исчерпает его объем, а после чего перейдет к следующему каталогу в списке, например:
POSIX: /db/sortfilesl 100000000;/firebird/sortfiles2
Windows: E:sortfiles 500000000
Относительные пути трактуются относительно пути, который запущенный сервер распознает как корневой каталог инсталляции Firebird. Например, в Windows, если корневым каталогом является C:Program FilesFirebird, то следующее значение сообщит серверу, что он должен сохранять временные файлы в C:Program FilesFirebirduserdatasortfiles с ограничением размера примерно в 477 Мбайт:
TempDirectories = userdatasortfiles 500000000
tmp_directoryВерсии до Firebird 1.5.
Синтаксис старого значения для tmp directory требует включения одной строки tmp_directory для каждого каталога, в котором вы хотите сохранять временные файлы сортировки. Задавайте количество байтов, доступных в каждом каталоге, и в кавычках путь к каталогу, который существует на физическом накопителе с достаточным объемом свободной памяти. Вы можете перечислить множество записей, по одной на строке; пространства не обязательно должны быть смежными или размещаться на одном устройстве хранения данных.
Пример. Следующие записи задают список в одном файле конфигурации:
tmp_directory 6000000 "d:fbtemp"
tmp_directory 12000000 "f:fbtemp"
tmp_directory 4000000 "w:backwash"
Путь должен быть заключен в двойные кавычки, иначе сервер проигнорирует эту запись. Пространство будет использовано в соответствии с порядком задания. Если будет выбрано пространство в одном конкретном каталоге, Firebird создаст новый временный файл в следующем каталоге из списка каталогов. Если же больше нет записей в списке каталогов, Firebird выдаст сообщение об ошибке и остановит обработку текущего запроса.
- Delphi. Учимся на примерах - Сергей Парижский - Программирование
- Сделай видеоигру один и не свихнись - Слава Грис - Программирование / Руководства
- Психбольница в руках пациентов - Алан Купер - Программирование