PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблицу сразу. Если нужны блокировки на уровне записей, включаем в 1С режим управляемых блокировок и прописываем их в конфигурации ручками. Вывод: необходимо скачать специальный дистрибутив с сайта 1С или взять на диске ИТС.
Установка
Сама установка особых затруднений не вызывает, обратить внимание нужно на
Для русского языка
initdb --locale=ru_RU.UTF-8 --lc-collate=ru_RU.UTF-8 --lc-ctype=ru_RU.UTF-8 --encoding=UTF8 -D /db/postgresql
Для украинского языка
initdb --locale=uk_UA.UTF-8 --lc-collate=uk_UA.UTF-8 --lc-ctype=uk_UA.UTF-8 --encoding=UTF8 -D /db/postgresql
где /db/postgresql ваш каталог данных PostgreSQL. Кодировка, конечно же, UTF-8.
Подробный вариант пересоздания кластера
1.Необходимо выдать полные права на папку в которую мы установили PostgreSQL, обычно это C:\Program Files\PostgreSQL
2.Из под админских прав запускаем cmd. Если это делаете в win7, то запускаем от Администратора.
3.Создаем папку где будет храниться кластер. Например d:\postgredata.
md d:\postgredata
4.Проводим инициализацию кластера вручную с указанием пути где он будет находиться.
“C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\initdb.exe” -D d:\postgredata --locale=Russian_Russia --encoding=UTF8 -U postgres
5.Удаляем службу PostgreSQL, которая была установлена в ходе установки.
sc delete pgsql-9.1.2-1.1C-x64
Где pgsql-9.1.2-1.1C-x64 – Это название службы. Если не знаете название точно, можно посмотреть свойствах службы “PostgreSQL Database Server…” (Пуск – Панель управления – Администрирование – Службы )
6.Создаем новый сервис с указанием нашего кластера
“C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\pg_ctl” register -N pgsql -U postgresql -P пароль -D d:/postgredata
7.Теперь заходим в службы. Пуск – Панель управления – Администрирование – Службы и стартуем нашу службу.
Ошибка СУБД: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (WIN1251).
HINT: Use the same encoding as in the template database, or use template0 as template.
Вы выбрали не
Внимание при установке НЕ выбирайте локаль Настройки ОС, выбирайте из списка Russian, Russia
Настройка PostgreSQL
Следует помнить о рекомендации 1С не использовать в запросах конструкции ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ и заменять его, используя, например, комбинацию из нескольких левых соединений. Известна также проблема с потерей производительности в запросах, где применяется соединение с виртуальной таблицей СрезПоследних, к ней рекомендуется делать отдельные запросы и сохранять результаты во временных таблицах.
Настройка конфигурации производится редактированем файла postgresql.conf.
Наиболее важные параметры
effective_cache_size = 0,5 от ёмкости RAM
fsync = off отключаем сброс на диск после каждой транзации (Внимание! Применять только при использовании надежного UPS, есть опасность потери данных при неожиданном отключении)
synchronous_commit = off отключаем синхронную запись в лог (риски теже, что и у fsync)
wal_buffers = 0,25 от ёмкости RAM
После настройки не забываем выполнить перезапуск службы:
service postgresql restart
Настройка сети
Для подключения клиентов 1С к серверу извне и работы сервера баз данных, на файрволе, должны быть открыты следующие порты:
Агент сервера (ragent) & tcp:1540 Главный менеджер кластера (rmngr) & tcp:1541 Диапазон сетевых портов, для динамического распределения рабочих процессов & tcp:1560&1591, tcp:5432 & Postgresql. Создадим правило через стандартный интерфейс, либо с помощью команды:
netsh advfirewall firewall add rule name="1Cv8-Server" dir=in action=allow protocol=TCP localport=1540,1541,5432,1560-1590 enable=yes profile=ANY remoteip=ANY interfacetype=LAN
Теперь с другого компьютера мы спокойно запускаем клиент 1С:Предприятия, добавляем существующую информационную базу newdb. Не забываем про лицензии, программной / аппаратной защиты.
Резервное копирование
Создание дампа базы данных делаем командой
su postgres -c 'pg_dump -U postgres -Fc -Z9 -f baza1.sql baza1'
Восстановление из дампа
su postgres -c 'pg_restore -U postgres -c -d baza1 -v baza1.sql'
Периодическое обслуживание
Рекомендуется настроить AVTO VACUUM в файле конфигурации. Но не пренебрегаем и запуском через планировщик принудительной команды.
su postgres -c '/usr/bin/vacuumdb --dbname=$i --analyze --full --quiet'
Просмотр активности PostgreSQL
Иногда полезно видеть чем сейчас занимается сервер. Поможет такая конструкция:
watch -n 1 'ps auxww | grep ^postgres'
После обновления бухгалтерии 2.0 на 3.0 нумерация документов начинается заново, что делать и как исправить?
В бухгалтерии редакции 3.0 изменен способ нумерации документов по сравнению с редакцией 2.0.
Для правильной нумерации документов необходимо изменить номер первого создаваемого документа каждого вида так, чтобы он продолжал нумерацию из старой версии.
При этом номера документов, перенесенных из редакции 2.0, в печатных формах будут отображаться правильно.
Например, последний номер документа «Реализация товаров и услуг» был 00000000131.
После обновления на редакцию 3.0 первый введенный документ будет иметь номер 0000-000001.
Чтобы сохранить
В дальнейшем всем введенным документам «Реализация товаров, услуг» будет присваиваться правильный номер.
Если по каким-то причинам первый способ Вам не помогает, то обратитесь к программисту 1С для настройки нумерации документов.
Ниже приведен код осуществляющий свою нумерацию документов
Microsoft® SQL Server® 2014 Express &- бесплатная система управления данными, используется для обеспечения хранения данных и организации сетевой работы некоторых программ.
Данный продукт устанавливается на сервере либо на компьютере, выполняющем роль сервера.
Разработчиком продукта Microsoft® SQL Server® 2014 Express является компания Microsoft.
При возникновении вопросов, связанных с работой данного продукта, необходимо обращаться к Вашему системному администратору либо в компанию Microsoft.
Дистрибутив Microsoft® SQL Server® 2014 Express размещен на сайте http://www.microsoft.com
Установка Microsoft® SQL Server® 2014 Express
1. Запустите на установку файл дистрибутива RUS\x86\SQLEXPR_x86_RUS.exe либо SQLEXPR_x86_RUS.exe (дважды щелкните по нему мышью). В фоновом режиме будет выполнена распаковка инсталлятора программы. Затем откроется форма Центр установки SQL Server.
В открывшейся форме левой кнопкой мыши нажмите на значении "Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке".
2. Откроется форма Программа установки SQL Server 2014.
При условии принятия Лицензионного соглашения установите флажок в поле «Я принимаю условия лицензионного соглашения» и нажмите на кнопку Далее.
Начнется процесс установки обязательных компонентов SQL Server 2014
Если потребуется обновление продукта – установите обновление.
3. На шаге Выбор компонентов формы Программа установки SQL Server 2014 проверьте, чтобы были установлены флажки по всем значениям раздела Компоненты.
При необходимости нажмите кнопку Выделить все, чтобы установить флажки по всем значениям. Затем нажмите кнопку Далее.
В моем варианте установки Вылетела ошибка .NET Framework 3.5 - не установлен
Устанавливаем .NET Framework 3.5
Если при попытке установить (распаковка, потом идет загрузка компонентов для установки, затем выскакивает сообщение:
Для установки и настройки Microsoft .Net Framework 3.5 SP1 необходимо использовать средство управления ролями)
то нужно:
- открыть "включение или отключение компонентов windows"
- нажать "добавить компоненты"
- выбрать пункт "Возможности .NET Framework 3.5.1'
- нажать кнопку "установить"
После установки Вы увидите сообщение
Установив .NET Framework запускаем проверку заново - Включить заново
4. Если все ОК, то Вы уведите следующем шаге "Настройка экземпляра" в поле "Именованный экземпляр" введите значение SQLExpress или введите другое имя латинскими буквами (например Express2014), если на компьютере уже установлен SQL Server с таким именем (например, установлен SQL Server 2008 с экземпляром SQLExpress). Мы оставим так:
5. На следующем шаге Конфигурация сервера в таблице Учетные записи служб проверьте, чтобы по всем службам в колонке Тип запуска было установлено значение Авто.
Если по службе Обозреватель SQL Server установлено значение Отключено, нажмите левой кнопкой мыши на выпадающей список в поле Тип запуска и выберите значение Авто.
Параметры сортировки Cyrillic_General_CI_AS
В интернете много описаний на эту тему, но чтобы много не запоминать, для правильной работы необходимо в «языке и региональных стандартах» выбрать «русский». в этом случае при установке sql server сам предложит
6. На следующем шаге Настройка компонента Database Engine установите переключатель в поле Смешанный режим (проверка подлинности SQL Server и Windows).
В поле Введите пароль группы полей Укажите пароль для учетной записи системного администратора SQL Server (sa) введите необходимый пароль (например, adminpsw).
Также продублируйте введенный пароль в поле Подтвердить пароль.
Обязательно запомните или запишите данный пароль.
Установленный пароль будет использоваться при подключении базы данных к SQL-серверу
На закладке Каталоги данных можете изменить основные каталоги, Нажмите на кнопку Далее.
7. На следующем шаге "Отчет об ошибках" нажмите на кнопку Далее.
8. На следующем шаге "Ход выполнения установки" начнется установка SQL Server 2014.
Дождитесь окончания установки.
9. При завершении установки SQL Server откроется форма "Завершено".
Проверьте, чтобы по всем компонентам в разделе "Сведения об операции установки или возможных следующих шагов" в колонке "Состояние" было приведено значение Выполнено успешно.
Нажмите на кнопку «Закрыть».
Установка MS SQL Server 2014 будет завершена.
Создание базы 1С 8.3 через консоль Администрирования
Думаю что описывать установку сервера 1С нет необходимости, там все банально и просто, перейдем сразу к добавлению баз.
Откройте Администрирование серверов 1С Предприятия и добавьте новую информационную базу
В окне добавления пропишите все параметры
В результате получаем:
В SQL Server Management Studio:
Теперь, чтобы загрузить Вашу базу необходимо добавить эту базу в список, открыть Конфигуратор и в пункте "Администрирование - Загрузить информационную базу..." указать путь к Вашей ранее выгруженной базе. Подробнее - Как загрузить базу из файла DT?
Чтобы иметь файл ранее выгруженной базы, нужно знать, как сделать резервную копию информационной базы.
Одной из часто встречающихся причин не оптимальной работы системы является неправильное или несвоевременное выполнение регламентных операций на уровне СУБД. Особенно важно выполнять эти регламентные процедуры в крупных информационных системах, которые работают под значительной нагрузкой и обслуживают одновременно большое количество пользователей. Специфика таких систем в том, что обычных действий, выполняемых СУБД автоматически (на основании настроек) оказывает недостаточно для эффективной работы.
Если в работающей системе наблюдаются какие-либо симптомы проблем с производительностью, следует проверить, что в системе правильно настроены и регулярно выполняются все рекомендуемые регламентные операции на уровне СУБД.
Выполнение регламентных процедур должно быть автоматизировано. Для автоматизации этих операций рекомендуется использовать встроенное средства MS SQL Server: Maintenance Plan. Существуют так же другие способы автоматизации выполнения этих процедур. В настоящей статье для каждой регламентной процедуры дан пример ее настройки при помощи Maintenance Plan для MS SQL Server 2005.
Для MS SQL Server рекомендуется выполнять следующие регламентные операции:
Обновление статистикОчистка процедурного КЭШаДефрагментация индексовРеиндексация таблиц базы данныхРекомендуется регулярно контролировать своевременность и правильность выполнения данных регламентных процедур.
MS SQL Server строит план запроса на основании статистической информации о распределении значений в индексах и таблицах. Статистическая информация собирается на основании части (образца) данных и автоматически обновляется при изменении этих данных. Иногда этого оказывается недостаточно для того, что MS SQL Server стабильно строил наиболее оптимальный план выполнения всех запросов.
В этом случае возможно проявление проблем с производительностью запросов. При этом в планах запросов наблюдаются характерные признаки неоптимальной работы (неоптимальные операции).
Для того, чтобы гарантировать максимально
Для обновления статистик по всем таблицам базы данных необходимо выполнить следующий SQL запрос:
Обновление статистик не приводит к блокировке таблиц, и не будет мешать работе других пользователей. Статистика может обновляться настолько часто, насколько это необходимо. Следует учитывать, что нагрузка на сервер СУБД во время обновления статистик возрастет, что может негативно сказаться на общей производительности системы.
Оптимальная частота обновления статистик зависит от величины и характера нагрузки на систему и определяется экспериментальным путем. Рекомендуется обновлять статистики не реже одного раза в день.
Приведенный выше запрос обновляет статистики для всех таблиц базы данных. В реально работающей системе разные таблицы требуют различной частоты обновления статистик. Путем анализа планов запроса можно установить, какие таблицы больше других нуждаются в частом обновлении статистик, и настроить две (или более) различных регламентных процедуры: для часто обновляемых таблиц и для всех остальных таблиц. Такой подход позволит существенно снизить время обновления статистик и влияние процесса обновления статистики на работу системы в целом.
Настройка автоматического обновления статистик (MS SQL 2005)
Запустите MS SQL Server Management Studio и подключитесь к серверу СУБД. Откройте папку Management и создайте новый план обслуживания:
Создайте субплан (Add Sublan) и назовите его «Обновление статистик». Добавьте в него задачу Update Statistics Task из панели задач:
Настройте расписание обновления статистик. Рекомендуется обновлять статистики не реже одного раза в день. При необходимости частота обновления статистик может быть увеличена.
Настройте параметры задачи. Для этого следует два раза кликнуть на задачу в правом нижнем углу окна. В появившейся форме укажите имя базу данных (или несколько баз данных) для которых будет выполняться обновление статистик. Кроме этого вы можете указать для каких таблиц обновлять статистики (если точно неизвестно, какие таблицы требуется указать, то устанавливайте значение All).
Обновление статистик необходимо проводить с включенной опцией Full Scan.
Сохраните созданный план. При наступлении указанного в расписании срока обновление статистик будет запущено автоматически.
Оптимизатор MS SQL Server кэширует планы запросов для их повторного выполнения. Это делается для того, чтобы экономить время, затрачиваемое на компиляцию запроса в том случае, если такой же запрос уже выполнялся и его план известен.
Возможна ситуация, при которой MS SQL Server, ориентируясь на устаревшую статистическую информацию, построит неоптимальный план запроса. Этот план будет сохранен в процедурном КЭШе и использован при повторном вызове такого же запроса. Если Вы обновили статистику, но не очистили процедурный кэш, то SQL Server может выбрать старый (неоптимальный) план запроса из КЭШа вместо того, чтобы построить новый (более оптимальный) план.
Таким образом, рекомендуется всегда после обновления статистик очищать содержимое процедурного КЭШа.
Для очистки процедурного КЭШа MS SQL Server необходимо выполнить следующий SQL запрос:
Этот запрос следует выполнять непосредственно после обновления статистики. Соответственно, частота его выполнения должна совпадать с частотой обновления статистики.
Настройка очистки процедурного КЭШа
для (MS SQL 2005)
Поскольку процедурный КЭШ необходимо очищать при каждом обновлении статистики, данную операцию рекомендуется добавить в уже созданный субплан «Обновление статистик». Для этого следует открыть субплан и добавить в его схему задачу Execute T-SQL Statement Task. Затем следует соединить задачу Update Statistics Task стрелочкой с новой задачей.
В тексте созданной задачи Execute T-SQL Statement Task следует указать запрос «DBCC FREEPROCCACHE»:
При интенсивной работе с таблицами базы данных возникает эффект фрагментации индексов, который может привести к снижению эффективности работы запросов.
Рекомендуется регулярное выполнение дефрагментации индексов. Для дефрагментации всех индексов всех таблиц базы данных необходимо использовать следующий SQL запрос (предварительно подставив имя базы):
Дефрагментация индексов не блокирует таблицы, и не будет мешать работе других пользователей, однако создает дополнительную нагрузку на SQL Server. Оптимальная частота выполнения данной регламентной процедуры должна подбираться в соответствии с нагрузкой на систему и эффектом, получаемым от дефрагментации. Рекомендуется выполнять дефрагментацию индексов не реже одного раза в день.
Возможно выполнение дефрагментации для одной или нескольких таблиц, а не для всех таблиц базы данных.
Настройка дефрагментации индексов (MS SQL 2005)
В ранее созданном плане обслуживания создайте новый субплан с именем «Дефрагментация индексов». Добавьте в него задачу Reorganize Index Task:
Задайте расписание выполнения для задачи дефрагментации индексов. Рекомендуется выполнять задачу не реже одного раза в неделю, а при высокой изменчивости данных в базе еще чаще – до одного раза в день.
Настройте задачу, указав базу данных (или несколько баз данных) и выбрав необходимые таблицы. Если точно неизвестно, какие таблицы следует указать, то устанавливайте значение All.
Реиндексация таблиц включает полное перестроение индексов таблиц базы данных, что приводит к существенной оптимизации их работы. Рекомендуется выполнять регулярную переиндексацию таблиц базы данных. Для реиндексации всех таблиц базы данных необходимо выполнить следующий SQL запрос:
Реиндексация таблиц блокирует их на все время своей работы, что может существенно сказаться на работе пользователей. В связи с этим реиндексацию рекомендуется выполнять во время минимальной загрузки системы.
После выполнения реиндексации нет необходимости делать дефрагментацию индексов.
В ранее созданном плане обслуживания создайте новый субплан с именем «Дефрагментация индексов». Добавьте в него задачу Rebuild Index Task:
Задайте расписание выполнения для задачи реиндексирования таблиц. Рекомендуется выполнять задачу во время минимальной нагрузки на систему, не реже одного раза в неделю.
Настройте задачу, указав базу данных (или несколько баз данных) и выбрав необходимые таблицы. Если точно неизвестно, какие таблицы следует указать, то устанавливайте значение All.
Необходимо осуществлять регулярный контроль выполнения регламентных процедур на уровне СУБД. Ниже приведен пример контроля выполнения плана обслуживания для MS SQL Server 2005.
Откройте созданный вами план обслуживания и выберите из контекстного меню пункт «View History»:
Откроется окно с протоколом выполнения всех заданных регламентных процедур.
Успешно выполненные задачи и задачи, выполненные с ошибками, будут помечены соответствующими иконками. Для задач, выполненных с ошибками, доступна подробная информация об ошибке.
Источник: Регламентные операции MS SQL Server. Оптимизация работы