Postgresql 1c ошибка создания временной директории

Обновлено: 04.07.2024

Другой способ решить эту проблему - изменить регион (язык) вашей операционной системы (Машины). Если вы выбираете, например, французский, возьмите французский из Франции, а не местный французский. То же самое для английского, а не местного английского. Некоторые символы не работают с местным языком. Думаю, это решит вашу проблему.

Для меня это терпело неудачу каждый раз и для каждого решения, упомянутого здесь. Затем, после небольших собственных исследований и разработок, я смог успешно использовать postgresql. Ниже приведены шаги, которые необходимо выполнить при обнаружении этой ошибки «сбой при инициализации кластера базы данных».

Вы должны вручную запустить initdb, который присутствует: "C: \ Software \ PostgreSql \ 12 \ bin"

Теперь убедитесь, что вы связали "postgres" как пользователя с командой initdb, поскольку "postgres" - это суперпользователь, созданный во время установки.

initdb -D "D: \ PostgreSql \ 12 \ data" -U postgres

Теперь, когда кластер базы данных инициализирован, вы можете запустить сервер с помощью утилиты pg_ctl, находящейся в папке bin PostgreSql \ 12.

pg_ctl start -D "D: \ PostgreSql \ 12 \ data"

Или вы также можете зарегистрировать его как службу Windows, и вы можете установить его на автоматический

pg_ctl register -N PostgreSql-12.3.1 -D "D: \ PostgreSql \ 12 \ data"

Теперь вы готовы к использованию базы данных postgresql. Либо используйте его через строку cmd (psql), либо pgAdmin4

У меня была такая же ошибка, но с другой основной проблемой (не с разрешениями пользователя, а с проблемой локали). Решение для этого описано здесь: Инициализация кластера базы данных Win 10 Postgresql 11 не удалась

Я пытался и терпел неудачу несколько раз, думая, что это как-то связано с правами и пользователем, которые использовались во время установки. Но благодаря совету ThangLeQuoc по проверке журнала установки я нашел причину:

initdb: недопустимое имя локали "NorwegianBokm † l, Norway"

Вызывается Die (не удалось инициализировать кластер базы данных с помощью initdb) .

Не удалось инициализировать кластер базы данных с помощью initdb

Итак, после выбора «локали по умолчанию» в процессе установки все прошло нормально. Это было в версии 11.6 OS Postgres.

Я выполнил шаги, предложенные @IsoNecroMad, и это сработало

1) Прежде всего, запустите настройку от имени администратора.

2) Выберите папку для установки внутри программных файлов (по умолчанию)

3) Но выберите расположение данных вне указанной выше папки в другое место (c: \ postgres data или что-то в этом роде.)

Возможное решение для 10.3. версия:

Переместите загруженный файл на диск C: \.
Пример: C:\postgresql-10.3-2-windows-x64.exe

Создайте каталог с именем PostgreSQL на диске C: \

Создайте каталог с именем 10 в ранее созданном каталоге PostgreSQL.
Итак, вам нужно иметь C: \ PostgreSQL \ 10 .

Запустите C: \ postgresql-10.3-2-windows-x64.exe (НЕ НАЖИМАЙТЕ «ЗАПУСТИТЬ ОТ АДМИНИСТРАТОРА», просто дважды щелкните)

Измените путь к каталогу установки на C:\PostgreSQL

Измените путь к каталогу данных на C:\PostgreSQL\data

Надеюсь, установка пройдет успешно.

Запустите установку от имени администратора и используйте режим Windows 7

Я столкнулся с той же проблемой при попытке установить postgres 10.3. Запуск от имени администратора мне не помог. Но он был установлен правильно, когда я изменил каталог установки с каталога по умолчанию, который находится внутри Program Files. Вместо этого я создал новую папку на диске C и сделал ее каталогом установки.

Я устанавливал Postgres версии 9.5 (в Windows 7 и с помощью установщика DBEnterprise) . для меня проблема, похоже, в том, что я выбирал "POSIX" в качестве региональной конфигурации . Но я пробовал с региональной конфигурацией "C" Настройка и установка завершились без проблем .

Также я запускаю установщик от имени администратора!

Только не используйте установщик EDB. Сейчас есть альтернатива BigSQL.

Сейчас 2019 , и у меня все еще та же проблема с Postgres 11 . Перед этим я удаляю текущий Postgres 9.6 (если я правильно помню версию) и пытаюсь установить новый Postgres 11, и возникает проблема. Я пробовал следующие подходы, но ни один из них не работает:

  • Запускать установку от имени администратора при каждом запуске -> сбой
  • Выберите папку для установки по умолчанию, предложенную при установке (C: / Program Files / PostgresSQL / 11), и папку данных, расположенную в другом место -> не удалось
  • Установить его за пределами C: / -> все равно не удалось

Необходимые компоненты для установки

Итак, имеем на руках дистрибутивы:

Статья разбита на 5 разделов:

1) Установка сервера 1C.

2) Установка PostgreSQL в стандартном виде, достаточном для запуска 1С без дополнительных настроек.

3) Установка PostgreSQL с выбором папки хранения кластера.

4) Создание новой информационной базы 1С.

5) Указание папки хранения файлов базы данных на сервере СУБД.

Перед установкой обязательно прочитайте всю статью целиком!

Установка сервера приложений 1С

Запускаем setup.exe из папки с дистрибутивом сервера 1С.

2012-11-01_0940.jpg

2012-11-01_0942.jpg

В том случае, если вы установите сервер приложений не как сервис, нужно будет вручную его запускать каждый раз. Требуется такой вариант редко. Устанавливаем как службу (сервис), и решаем, под каким пользователем он будет запускаться. Из соображений безопасности лучше создать отдельного пользователя USR1CV82, а не разрешать сервису работать под полными правами.

После установки сервера приложений система предложит установить драйвер ключа защиты HASP. Соглашаемся:

2012-11-01_0943_001.jpg

2012-11-01_0944_001.jpg

2012-11-01_0944_002.jpg

Установка PostgreSQL в стандартном виде, достаточном для запуска 1С без дополнительных настроек

2012-10-31_1545.jpg

Выбираем русский язык и двигаемся дальше.

2012-10-31_1546.jpg

2012-10-31_1546_001.jpg

Опции установки можно не менять, 1С работать будет. Далее.

2012-10-31_1547.jpg

Postgre, как и сервер 1С, может сам создать пользователя, под которым будете запускаться служба. Обращаю ваше внимание на то, что если указать учетную запись с правами администратора, то служба корректно работать не будет. Обязательно создавайте нового пользователя.

2012-10-31_1547_001.jpg

Следующее окно установки.

2012-10-31_1548.jpg

Инициализируем кластер. Если у нас сервер баз данных и сервер приложений 1С находятся на разных компьютерах, тогда устанавливаем галочку «Поодерживать подсоединения с любых IP», иначе не трогаем. Обязательно указываем кодировку UTF8. Создаем суперпользователя СУБД. Далее…

2012-10-31_1551.jpg

2012-10-31_1552.jpg

2012-10-31_1552_001.jpg

Уже почти все. Далее.

2012-10-31_1604.jpg

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

Установка Postgre с выбором места хранения кластера

Приступаем к установки Postgre и выполняем все шаги до тех пор, пока нам не предложат инициализировать кластер:

2012-10-31_1553.jpg

2012-10-31_1554.jpg

2012-10-31_1604.jpg

Дальше начинаем колдовать в командной строке:

1. Необходимо выдать полные права на папку в которую мы установили PostgreSQL, обычно это C:Program FilesPostgreSQL

2. Из под админских прав запускаем cmd. Если это делаете в win7, то запускаем от Администратора.

3. Создаем папку где будет храниться кластер. Например d:postgredata.

md d:postgredata

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

5. Удаляем службу PostgreSQL, которая была установлена в ходе установки.

sc delete pgsql-9.1.2-1.1C-x64

Где pgsql-9.1.2-1.1C-x64 – Это название службы. Если не знаете название точно, можно посмотреть свойствах службы “PostgreSQL Database Server…” (Пуск – Панель управления – Администрирование – Службы )

6. Создаем новый сервис с указанием нашего кластера

“C:Program FilesPostgreSQL9.1.2-1.1Cbinpg_ctl” register -N pgsql -U postgresql -P пароль -D d:/postgredata

7. Теперь заходим в службы. Пуск – Панель управления – Администрирование – Службы и стартуем нашу службу.

Создание новой базы данных 1С на сервере с PostgreSQL

Есть несколько вариантов создания базы данных. Можно попробовать создавать базу через pgAdmin3, консоль администрирования серверов 1С. Но тут вы столкнетесь с массой непонятных вопросов и кучей ошибок, ответы на которые будете долго искать. Оставьте это для специалистов. Наша задача получить работоспособную базу с минимальными усилиями. Опишем самый простой путь добиться этого.

Запускаем клиент 1С.

2012-11-01_1008.jpg

2012-11-01_1009.jpg

2012-11-01_1010.jpg

2012-11-01_1010_001.jpg

2012-11-01_1016.jpg

Кластер серверов 1С:Предприятия – localhost, если мы создаем базу на том же компьютере, где установлен сервер 1С, или имя сервера приложений 1С, если на другом.

Тип СУБД – Выбираем PostgreSQL.

Имя базы данных – с таким название будет создана база в PostgreSQL.

2012-11-01_1017.jpg

Готово. Правильно установленная система дальше все сделает сама.

Указание папки хранения базы данных

Итак, мы создали базу. В большинстве случаев на этом установка заканчивается. Однако, если баз много, и есть несколько дисковых массивов для разных групп баз, нужно указать, где физически должны располагаться базы. Чтобы сделать это, запускаем pgAdmin3 из Пуск – Программы – PostgreSQL. Подключаемся к нашему серверу.

2012-11-01_1107.jpg

При первом подключении Postgre попросит пароль для пользователя postgres (которого мы создавали при установке).

2012-11-01_1108.jpg

2012-11-01_1110.jpg

Создаем новый TableSpace, это будет та папка, в которой будут храниться наши базы.

2012-11-01_1121.jpg

Указали место хранения файлов базы. Ок.

2012-11-01_1122.jpg

Теперь открываем свойства уже созданной ранее базы данных, размещение которой мы хотим изменить.

2012-11-01_1123.jpg

PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблицу сразу. Если нужны блокировки на уровне записей, включаем в 1С режим управляемых блокировок и прописываем их в конфигурации ручками. Вывод: необходимо скачать специальный дистрибутив с сайта 1С или взять на диске ИТС.

Установка

Сама установка особых затруднений не вызывает, обратить внимание нужно на правильную инициализацию базы данных, а именно настройку локали, изменить потом это можно только повторной начальной инициализацией. Например, база 1С с украинскими региональными установками в СУБД с установленной русской локалью не загрузится. Да и проблемы с сортировкой потом не нужны. Поэтому делаем init в соответствии с нужным языком.

Для русского языка

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.


Подробный вариант пересоздания кластера

2.Из под админских прав запускаем cmd. Если это делаете в win7, то запускаем от Администратора.

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

5.Удаляем службу PostgreSQL, которая была установлена в ходе установки.

sc delete pgsql-9.1.2-1.1C-x64

Где pgsql-9.1.2-1.1C-x64 – Это название службы. Если не знаете название точно, можно посмотреть свойствах службы “PostgreSQL Database Server…” (Пуск – Панель управления – Администрирование – Службы )

6.Создаем новый сервис с указанием нашего кластера

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.

Вы выбрали неправильную локаль при установке СУБД (WIN1251) для сервера и клиента, нужно изменить на UTF-8 в конфигурации или переустановить СУБД со следующими параметрами:


Внимание при установке НЕ выбирайте локаль Настройки ОС, выбирайте из списка 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. Создадим правило через стандартный интерфейс, либо с помощью команды:

Теперь с другого компьютера мы спокойно запускаем клиент 1С:Предприятия, добавляем существующую информационную базу newdb. Не забываем про лицензии, программной / аппаратной защиты.

Резервное копирование

Создание дампа базы данных делаем командой

Восстановление из дампа

Периодическое обслуживание

Рекомендуется настроить AVTO VACUUM в файле конфигурации. Но не пренебрегаем и запуском через планировщик принудительной команды.

Просмотр активности PostgreSQL

Иногда полезно видеть чем сейчас занимается сервер. Поможет такая конструкция:


Либо проверим все ли зависимости были установлены. И установим недостающие.

ERROR: type «tt7» already exists

Пример полного текста ошибки:

HINT : A relation has an associated type of the same name , so you must use a name that doesn ' t conflict .


Описание:

Данная ошибка является «плавающей» и может возникать в различных местах

Решение:

Выгрузим и загрузим базу данных средствами 1С:Предприятия(через файл *.dt).

ERROR: could not read block

Ошибка при выполнении операции с информационно базой по причине : Ошибка СУБД : ERROR : could not read block . . . in file "" Input / output error


Описание ошибки:

База не запускается. Разрушились диски.

Решения:

Переносим базу на другую дисковую систему.

Разворачиваем из резервной копии.

Пример полного текста ошибки:

Не удалось привязаться к адресу . Адрес уже используется . Возможно порт 5432 занят другим процессом postmaster ? Система БД выключена . Не удалось запустить сервер .


Описание:

Такая ситуация часто случается у начинающих администраторов в случае, если они хотят инициализировать сервер в каталог отличный от каталога по умолчанию. При этом сервер уже запустили из каталога по умолчанию.

В этой ситуации при попытке запуска видно ошибку – сервер не запускается.

А при проверке состояния видно, что сервер работает.


Если проверим запущенные процессы пользователя postgres, то можно увидеть, что порт 5432 занят кластером PostgreSQL, только запущенным из каталога по умолчанию.


Решение:

Остановим работающий кластер сервера СУБД.

/ opt / pgpro / ent - 10 / bin / pg_ctl -- locale = ru_RU . UTF - 8 - D / var / lib / pgpro / ent - 10 / data stop

Инициализируем кластер из нового каталога(если он не инициализирован).

/ opt / pgpro / ent - 10 / bin / initdb -- locale = ru_RU . UTF - 8 - D / pgpro / pgdata

Запустим из нового каталога.

/ opt / pgpro / ent - 10 / bin / pg_ctl -- locale = ru_RU . UTF - 8 - D / pgpro / pgdata start

Описание:

Длительный запуск, длительный захват объектов в хранилище, длительное сохранение конфигурации 1С:Предприятия.

Решение:

Такая проблема может быть связано с настройками СУБД PostgreSQL.

Рассчитаем настройки СУБД.

Описание настроек приведено на ИТС.

Выполним настройки, для этого перейдем в терминал psql:

Через psql установим параметры командой ALTER SYSTEM SET(параметры необходимо указать для вашей СУБД):

ALTER SYSTEM SET max_parallel_workers_per_gather = 22 ;

Описание ошибки:

При загрузке данных из файла *.xlsx в 1С отображаются иероглифы. Используемая СУБД PostgreSQL/PostgresPro.


Также возможна проблема с кодировкой в выгружаемом файле из 1С:


Решение:

На сервере СУБД проверим и выполним настройку локали.

1. Проверим наличие локали:

2. Проверим переменную:

Корректное значение результатов выполнения команд 2, 3:

3. Если результат не соответствует, выполним:

5. Выполним перезапуск серверов СУБД

Еще можно посмотреть

Утилита ring license для 1С версии 8.3.14 и выше под Linux

Для чего нужен 1C ring license? На текущий момент широко распространено использование программных лицензий. И системы на базе 1С в этом не исключение. Но, помимо простой активации пин-кодов, программная лицензия 1С также нуждается в обслуживании. Для обслуживания разработчику требуются знания об инструменте для получения списков, информации, анализа состояния файлов программных лицензий. Об этом инструменте мы […]

Настройка сервера хранилища конфигураций 1С на Linux

Установка и настройка хранилища конфигураций 1C на Linux сервере

Хранилище конфигурации 1С:Предприятия 8.3 является инструментом групповой разработки. Настраиваем сервер хранилища на Linux.


Основные команды Linux

Список основных команд консоли Linux которые потребуются при установке и настройке 1С. Примеры использования с комментариями.


Администрирование серверов 1С на Linux


Ошибки публикации базы и веб сервиса на веб сервере 1C+ Apache +Linux.

Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок. Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия). В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без […]

Ошибки на клиенте 1с линукс шрифты

Ошибки на клиенте при работе с сервером 1С на Linux. Часть 2

Разбор наиболее часто встречающихся ошибок при работе с 1С на Linux.


Установка двух версий сервера 1С на Linux

Пошаговый процесс установки и запуска двух версий сервера 1С на Linux. Полное описание настройки второго экземпляра сервера 1С.

Читайте также: