(Note: This question has been compeltely rewritten from its original form, so it reflects the actual problem and will help others find a solution to the same issue).
I still haven’t been able to successfully install PostgreSQL on my Windows 7 Ultimate x64 computer. See this prior question for some history.
I did a fresh instillation of 9.2 and the only error I got was this one:

It reads:
«Problem running post-install step. Installation may not complete
correctly. The database cluster initialisation failed».
This occurs even after I do a complete manual uninstall of PostgreSQL and pgAmdin-III:
- Ran the PostgreSQL uninstaller, which failed with the error
Error stopping service postgresql-x64-9.2. - Removed all the PostgreSQL-related registry entries for PostgreSQL under
HKEY_LOCAL_MACHINESOFTWAREandHKEY_CURRENT_USERSOFTWARE - Removed the
postgresuser account usingnet user postgres /deletein an Administrator command prompt (shift-right clicked on «Command Prompt» in start menu, chose «Run as administrator») - Removed the
postgresuser profile - Deleted the
C:Program FilesPostgreSQLdirectory, including the data directory within %appdata% - Removed some PgAdmin-III registry entries that pointed to PostgreSQL
- Removed the service account for postgres from
services.msc
When I reboot and try the installer again it fails with the same message.
The install-postgresql.log file from %TEMP% contains:
Executing cscript //NoLogo "C:Program FilesPostgreSQL9.2/installer/server/initcluster.vbs" "NT AUTHORITYNetworkService" "postgres" "****" "C:Program FilesPostgreSQL9.2" "C:Program FilesPostgreSQL9.2data" 5432 "DEFAULT"
Script exit code: 1
then another error a bit later:
creating template1 database in C:/Program Files/PostgreSQL/9.2/data/base/1 ... initdb: could not execute command ""C:/Program Files/PostgreSQL/9.2/bin/postgres.exe" --boot -x1 -F ": No error
See full installer log file download here.
asked Nov 17, 2012 at 1:08
![]()
1
It appears that the root cause of this issue may have been that @Celeritas’s computer had an incorrect value for the COMSPEC environment variable. It had a trailing semicolon, so instead of the normal:
C:Windowssystem32cmd.exe
it was:
C:Windowssystem32cmd.exe;
This one-character difference is enough. The above isn’t a valid command prompt path, so popen() calls were failing. Unfortunately, instead of something useful like:
'"C:Windowssystem32cmd.exe;"' is not recognized as an internal or external command, operable program or batch file
it instead reports the delightfully useful error No error:
initdb: could not execute command ""C:/Program Files/PostgreSQL/9.2/bin/postgres.exe" --boot -x1 -F ": No error
See related:
- http://forums.enterprisedb.com/posts/list/2125.page
- http://postgresql.1045698.n5.nabble.com/initdb-failure-td2083455.html
I’ve reported this to the installer team and written a wiki entry to describe it. See blog post.
The issue was eventually resolved by:
- Editing the
COMSPECenvironment variable - Uninstalling PostgreSQL
- Rebooting
- Reinstalling PostgreSQL
though there was a lot more before that which shouldn’t actually be necessary to resolve this, including doing a total manual clean uninstall of PostgreSQL by hand.
Now I just want to find the people who wrote the program that modified this environment variable.
answered Nov 19, 2012 at 4:17
Craig RingerCraig Ringer
53.6k3 gold badges147 silver badges185 bronze badges
1
from this answer https://dba.stackexchange.com/a/248584/185153
If you’re on Windows 10 with codepage UTF-8 in regional settings (picture in link above), the root cause is that :
- Cluster initialization in setup calls
initdb initdbchecks version as if callingpostgres -Vpostgres -Vdoesn’t recogniseCPutf8yet then returns an unmatched result.
Until it is properly fixed, you may just uncheck UTF-8 codepage box and restart, it will be okey.
This can reproduced in PostgreSQL 12 also.
Kudos to @simon for this finding.
answered Oct 27, 2019 at 7:22
Struggling with this problem for days.Finally got help from the EDB team
My problem got solved by doing the following steps :
1) Open the command prompt and go to the following directory.
cd «C:Program FilesPostgreSQL10bin»
2) Once you are inside the «C:Program FilesPostgreSQL10bin» directory execute the following command.
.initdb.exe -D «C:Program FilesPostgreSQL10data»
3) At the end of this command you will be promoted to execute a pg_ctl command to start the Postgres cluster. Please execute the command and once you get a message as the server started you are all set to use the Postgres database.
Note : Instead of 10 user whatever version you have installed .If the pg_ctl command in the third step gives an error after running it in bin directory , then try running it in data directory.After the above process re-run the installer.
answered May 27, 2020 at 20:22
6
Problem:
Installing 13.1.1 on Windows Server 2019 failed with the message
«Problem running post-install step. Installation may not complete
correctly. The database cluster initialisation failed».
-
My COMSPEC environment variable was configured correctly.
-
My UTF-8
codepage setting was disabled. -
Manually envoking initdb failed with the following:
PS C:Program FilesPostgreSQL13bin> .initdb.exe -D "D:PostgreSQL" The files belonging to this database system will be owned by user "myUser". This user must also own the server process. The database cluster will be initialized with locale "English_United States.1252". The default database encoding has accordingly been set to "WIN1252". The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory D:/PostgreSQL ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... windows selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... US/Eastern creating configuration files ... ok running bootstrap script ... 2021-01-25 09:55:49.793 EST [51184] LOG: unrecognized win32 error code: 50 2021-01-25 09:55:49.804 EST [51184] LOG: could not link file "pg_wal/xlogtemp.51184" to "pg_wal/000000010000000000000001": Invalid argument 2021-01-25 09:55:49.808 EST [51184] FATAL: could not open file "pg_wal/000000010000000000000001": No such file or directory child process exited with exit code 1 initdb: removing contents of data directory "D:/PostgreSQL"
Probable cause:
Drive D: is formatted using ReFS. Initializing on an NTFS drive worked without issue.
Solution:
Initialize the database on drive C:PostgreSQL and then copy folder to D:PostgreSQL.
Open terminal as normal user (not admin) and run:
C:UsersmyUser>"C:Program FilesPostgreSQL13binpg_ctl.exe" -D "D:PostgreSQL" -l logfile start
waiting for server to start.... done
server started
Launch a psql shell and login with user myUser. You can then create a postgres user if desired:
CREATE ROLE postgres LOGIN PASSWORD 'password' NOINHERIT CREATEDB;
CREATE SCHEMA postgres AUTHORIZATION postgres;
GRANT USAGE ON SCHEMA postgres TO PUBLIC;
answered Jan 25, 2021 at 15:38
![]()
For people still struggleing with this in 2022. The only thing that worked for me on Windows 10 is selecting English America as the local rather then my own latin locale.
answered Jan 19, 2022 at 10:02
(Note: This question has been compeltely rewritten from its original form, so it reflects the actual problem and will help others find a solution to the same issue).
I still haven’t been able to successfully install PostgreSQL on my Windows 7 Ultimate x64 computer. See this prior question for some history.
I did a fresh instillation of 9.2 and the only error I got was this one:

It reads:
«Problem running post-install step. Installation may not complete
correctly. The database cluster initialisation failed».
This occurs even after I do a complete manual uninstall of PostgreSQL and pgAmdin-III:
- Ran the PostgreSQL uninstaller, which failed with the error
Error stopping service postgresql-x64-9.2. - Removed all the PostgreSQL-related registry entries for PostgreSQL under
HKEY_LOCAL_MACHINESOFTWAREandHKEY_CURRENT_USERSOFTWARE - Removed the
postgresuser account usingnet user postgres /deletein an Administrator command prompt (shift-right clicked on «Command Prompt» in start menu, chose «Run as administrator») - Removed the
postgresuser profile - Deleted the
C:Program FilesPostgreSQLdirectory, including the data directory within %appdata% - Removed some PgAdmin-III registry entries that pointed to PostgreSQL
- Removed the service account for postgres from
services.msc
When I reboot and try the installer again it fails with the same message.
The install-postgresql.log file from %TEMP% contains:
Executing cscript //NoLogo "C:Program FilesPostgreSQL9.2/installer/server/initcluster.vbs" "NT AUTHORITYNetworkService" "postgres" "****" "C:Program FilesPostgreSQL9.2" "C:Program FilesPostgreSQL9.2data" 5432 "DEFAULT"
Script exit code: 1
then another error a bit later:
creating template1 database in C:/Program Files/PostgreSQL/9.2/data/base/1 ... initdb: could not execute command ""C:/Program Files/PostgreSQL/9.2/bin/postgres.exe" --boot -x1 -F ": No error
See full installer log file download here.
asked Nov 17, 2012 at 1:08
![]()
1
It appears that the root cause of this issue may have been that @Celeritas’s computer had an incorrect value for the COMSPEC environment variable. It had a trailing semicolon, so instead of the normal:
C:Windowssystem32cmd.exe
it was:
C:Windowssystem32cmd.exe;
This one-character difference is enough. The above isn’t a valid command prompt path, so popen() calls were failing. Unfortunately, instead of something useful like:
'"C:Windowssystem32cmd.exe;"' is not recognized as an internal or external command, operable program or batch file
it instead reports the delightfully useful error No error:
initdb: could not execute command ""C:/Program Files/PostgreSQL/9.2/bin/postgres.exe" --boot -x1 -F ": No error
See related:
- http://forums.enterprisedb.com/posts/list/2125.page
- http://postgresql.1045698.n5.nabble.com/initdb-failure-td2083455.html
I’ve reported this to the installer team and written a wiki entry to describe it. See blog post.
The issue was eventually resolved by:
- Editing the
COMSPECenvironment variable - Uninstalling PostgreSQL
- Rebooting
- Reinstalling PostgreSQL
though there was a lot more before that which shouldn’t actually be necessary to resolve this, including doing a total manual clean uninstall of PostgreSQL by hand.
Now I just want to find the people who wrote the program that modified this environment variable.
answered Nov 19, 2012 at 4:17
Craig RingerCraig Ringer
53.6k3 gold badges147 silver badges185 bronze badges
1
from this answer https://dba.stackexchange.com/a/248584/185153
If you’re on Windows 10 with codepage UTF-8 in regional settings (picture in link above), the root cause is that :
- Cluster initialization in setup calls
initdb initdbchecks version as if callingpostgres -Vpostgres -Vdoesn’t recogniseCPutf8yet then returns an unmatched result.
Until it is properly fixed, you may just uncheck UTF-8 codepage box and restart, it will be okey.
This can reproduced in PostgreSQL 12 also.
Kudos to @simon for this finding.
answered Oct 27, 2019 at 7:22
Struggling with this problem for days.Finally got help from the EDB team
My problem got solved by doing the following steps :
1) Open the command prompt and go to the following directory.
cd «C:Program FilesPostgreSQL10bin»
2) Once you are inside the «C:Program FilesPostgreSQL10bin» directory execute the following command.
.initdb.exe -D «C:Program FilesPostgreSQL10data»
3) At the end of this command you will be promoted to execute a pg_ctl command to start the Postgres cluster. Please execute the command and once you get a message as the server started you are all set to use the Postgres database.
Note : Instead of 10 user whatever version you have installed .If the pg_ctl command in the third step gives an error after running it in bin directory , then try running it in data directory.After the above process re-run the installer.
answered May 27, 2020 at 20:22
6
Problem:
Installing 13.1.1 on Windows Server 2019 failed with the message
«Problem running post-install step. Installation may not complete
correctly. The database cluster initialisation failed».
-
My COMSPEC environment variable was configured correctly.
-
My UTF-8
codepage setting was disabled. -
Manually envoking initdb failed with the following:
PS C:Program FilesPostgreSQL13bin> .initdb.exe -D "D:PostgreSQL" The files belonging to this database system will be owned by user "myUser". This user must also own the server process. The database cluster will be initialized with locale "English_United States.1252". The default database encoding has accordingly been set to "WIN1252". The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory D:/PostgreSQL ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... windows selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... US/Eastern creating configuration files ... ok running bootstrap script ... 2021-01-25 09:55:49.793 EST [51184] LOG: unrecognized win32 error code: 50 2021-01-25 09:55:49.804 EST [51184] LOG: could not link file "pg_wal/xlogtemp.51184" to "pg_wal/000000010000000000000001": Invalid argument 2021-01-25 09:55:49.808 EST [51184] FATAL: could not open file "pg_wal/000000010000000000000001": No such file or directory child process exited with exit code 1 initdb: removing contents of data directory "D:/PostgreSQL"
Probable cause:
Drive D: is formatted using ReFS. Initializing on an NTFS drive worked without issue.
Solution:
Initialize the database on drive C:PostgreSQL and then copy folder to D:PostgreSQL.
Open terminal as normal user (not admin) and run:
C:UsersmyUser>"C:Program FilesPostgreSQL13binpg_ctl.exe" -D "D:PostgreSQL" -l logfile start
waiting for server to start.... done
server started
Launch a psql shell and login with user myUser. You can then create a postgres user if desired:
CREATE ROLE postgres LOGIN PASSWORD 'password' NOINHERIT CREATEDB;
CREATE SCHEMA postgres AUTHORIZATION postgres;
GRANT USAGE ON SCHEMA postgres TO PUBLIC;
answered Jan 25, 2021 at 15:38
![]()
For people still struggleing with this in 2022. The only thing that worked for me on Windows 10 is selecting English America as the local rather then my own latin locale.
answered Jan 19, 2022 at 10:02
Обновлено: 28.01.2023
Другой способ решить эту проблему — изменить регион (язык) вашей операционной системы (Машины). Если вы выбираете, например, французский, возьмите французский из Франции, а не местный французский. То же самое для английского, а не местного английского. Некоторые символы не работают с местным языком. Думаю, это решит вашу проблему.
Для меня это терпело неудачу каждый раз и для каждого решения, упомянутого здесь. Затем, после небольших собственных исследований и разработок, я смог успешно использовать 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:PostgreSQLdata
Надеюсь, установка пройдет успешно.
Запустите установку от имени администратора и используйте режим 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С.


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



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

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


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

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

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

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



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

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



Дальше начинаем колдовать в командной строке:
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С.





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

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

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


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

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

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

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С также нуждается в обслуживании. Для обслуживания разработчику требуются знания об инструменте для получения списков, информации, анализа состояния файлов программных лицензий. Об этом инструменте мы […]

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

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

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

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

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

Установка двух версий сервера 1С на Linux
Пошаговый процесс установки и запуска двух версий сервера 1С на Linux. Полное описание настройки второго экземпляра сервера 1С.
Читайте также:
- Какая максимальная длина линии rs 485 без повторителей интерфейсов для с2000 usb
- Anadius64 dll что это
- Как создать файл autoexec ash
- Как обновить 3ds max 2020
- Как настроить ноутбук фан контроль
Не могу установить Postgresql. Все перепробовала:
- Я запускаю установку как администратор.
- Я создаю пользователя postgresql и добавляю его в группу администраторов.
- Я устанавливаю его прямо на C: postgresql.
Но безуспешно. для информации: у меня windows 8
12 ответов
Лучший ответ
- Прежде всего запустите настройку от имени администратора.
- Выберите папку для установки внутри программных файлов (по умолчанию)
- Но выберите расположение данных вне указанной выше папки в другое место (c: postgres data или что-то в этом роде.)
5
ISONecroMAn
21 Фев 2016 в 10:16
Другой способ решить эту проблему — изменить регион (язык) вашей операционной системы (Машины). Если вы выбираете, например, французский, возьмите французский из Франции, а не местный французский. То же самое для английского, а не местного английского. Некоторые символы не работают с местным языком. Думаю, это решит вашу проблему.
0
Y4glory
14 Июл 2020 в 21:13
Для меня это терпело неудачу каждый раз и для каждого решения, упомянутого здесь. Затем, после небольших собственных исследований и разработок, я смог успешно использовать 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
0
Abhilaksh Sharma
6 Июл 2020 в 20:25
Я пытался и терпел неудачу несколько раз, думая, что это как-то связано с правами и пользователем, которые использовались во время установки. Но благодаря совету ThangLeQuoc по проверке журнала установки я нашел причину:
initdb: недопустимое имя локали «NorwegianBokm † l, Norway»
Вызывается Die (не удалось инициализировать кластер базы данных с помощью initdb) …
Не удалось инициализировать кластер базы данных с помощью initdb
Итак, после выбора «локали по умолчанию» в процессе установки все прошло нормально. Это было в версии 11.6 OS Postgres.
0
Community
20 Июн 2020 в 09:12
Я выполнил шаги, предложенные @IsoNecroMad, и это сработало
1) Прежде всего, запустите настройку от имени администратора.
2) Выберите папку для установки внутри программных файлов (по умолчанию)
3) Но выберите расположение данных вне указанной выше папки в другое место (c: postgres data или что-то в этом роде.)
0
umang-malhotra
19 Авг 2019 в 12:39
Возможное решение для 10.3. версия:
-
Загрузить установочный файл PostgreSQL
-
Переместите загруженный файл на диск 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:PostgreSQLdata
-
финиш
Надеюсь, установка пройдет успешно.
0
Spectarion
11 Апр 2018 в 20:19
Задача решена:
Запустите установку от имени администратора и используйте режим Windows 7
0
xAminex
10 Сен 2015 в 12:22
Я столкнулся с той же проблемой при попытке установить postgres 10.3. Запуск от имени администратора мне не помог. Но он был установлен правильно, когда я изменил каталог установки с каталога по умолчанию, который находится внутри Program Files. Вместо этого я создал новую папку на диске C и сделал ее каталогом установки.
1
Shamil Puthukkot
4 Мар 2019 в 05:09
Я устанавливал Postgres версии 9.5 (в Windows 7 и с помощью установщика DBEnterprise) … для меня проблема, похоже, в том, что я выбирал «POSIX» в качестве региональной конфигурации … Но я пробовал с региональной конфигурацией «C» Настройка и установка завершились без проблем …
Также я запускаю установщик от имени администратора!
1
Carlitos Way
16 Май 2016 в 22:54
Только не используйте установщик EDB. Сейчас есть альтернатива BigSQL.
2
Basil
21 Авг 2016 в 17:53
Сейчас 2019 , и у меня все еще та же проблема с Postgres 11 . Перед этим я удаляю текущий Postgres 9.6 (если я правильно помню версию) и пытаюсь установить новый Postgres 11, и возникает проблема. Я пробовал следующие подходы, но ни один из них не работает:
- Запускать установку от имени администратора при каждом запуске -> сбой
- Выберите папку для установки по умолчанию, предложенную при установке (C: / Program Files / PostgresSQL / 11), и папку данных, расположенную в другом
место -> не удалось- Установить его за пределами C: / -> все равно не удалось
Единственный подход, который я, к счастью, нашел, почесав голову почти весь день, — это сообщение
Я хотел бы быстро резюмировать решение, если срок действия ссылки истек.
Решение :
— Удалите PostgreSQL
— CMD: net user postgres / delete
— Панель управления -> Учетные записи пользователей -> Настроить дополнительные свойства профиля пользователя -> удалить все экземпляры «Неизвестного пользователя», которые кажутся оставшимися от postgres
— Выполнить> compmgmt.msc -> Локальные пользователи и группы -> Пользователи -> Новый пользователь … -> Имя пользователя: postgres, Пароль: postgres -> Создать
— compmgmt.msc -> Локальные пользователи и группы -> Пользователи -> postgres -> Член -> Добавить … -> Администраторы -> ОК
— скопируйте postgresql-8.4.9-1-windows.exe в C:
— runas / user: postgres cmd.exe -> cd -> postgresql-8.4.9-1-windows.exe -> успешно установлен без ошибок. Папка с проверенными данными и подтвержденные файлы созданы успешно. (это означает, что вы должны запустить установку с созданным пользователем postgres )
— compmgmt.msc -> Локальные пользователи и группы -> Пользователи -> postgres -> Член -> Администраторы -> Удалить
— compmgmt.msc -> Локальные пользователи и группы -> Пользователи -> postgres -> Член -> Добавить … -> Опытные пользователи -> ОК
— Установлен HM2 -> БД успешно создана
— Перезагрузка компьютера -> HM2 работает правильно (т.е. просто для проверки автоматического запуска службы postgresql)
Советы профессионалов: Чтобы получить представление о журнале установки, перейдите на % TEMP%, выполнив поиск по запросу «% TEMP%» на панели задач, имя журнала будет bitrock_installer-xxx.log. Вы хотели бы знать, что происходит, чтобы быстрее устранить проблему.
6
ThangLeQuoc
13 Янв 2019 в 17:14
Я получил новый ноутбук от Dell (XPS 15) с Windows 10 Pro.
У меня всегда одна и та же проблема. Во время установки postgres «Проблема с запуском шага после установки. Установка может завершиться неправильно. Сбой инициализации кластера базы данных». .
Я пробовал много решений прошлых потоков:
Установить postgres не в файлы программы
создайте пользователя с именем postgres с полным доступом к каталогу postgress, как описано здесь https://www.youtube.com/watch?v=pS_zWDDDSe0
Проверено на наличие новых вин-обновлений
Отключил Брандмауэр и Антивирус Windows.
Error running cscript //NoLogo «C:developpostgres/installer/server/initcluster.vbs» «NT AUTHORITYNetworkService» «postgres» «****» «C:developpostgres» «C:developpostgresdata» 5432 «DEFAULT» 0: Program ended with an error exit code
Problem running post-install step. Installation may not complete correctly
The database cluster initialisation failed.
[14:03:49] Delete the temporary scripts directory…
Creating menu shortcuts…
Executing cscript //NoLogo «C:developpostgresinstallerservercreateshortcuts_clt.vbs» «PostgreSQL 11» «C:developpostgres»
Script exit code: 0
ИЗМЕНИТЬ ЖУРНАЛ ОШИБОК
Executing batch file 'radAD31B.bat'...
The program "postgres" was found by "C:/develop/postgres/bin/initdb.exe" but was not the same version as initdb.
Перейти к ответу
Данный вопрос помечен как решенный
Ответы
7
Я только что боролся с этим в течение нескольких часов, поэтому я публикую это для всех, кто оказывается здесь.
Изначально все, что я смог найти, это два сообщения об ошибках в списке рассылки pgsql-bugs:
ОШИБКА № 15856: программа «postgres» была обнаружена «initdb», но ее версия отличалась от версии initdb.
ОШИБКА № 15970: ошибка инициализации базы данных — версии initdb.exe и postgres не совпадают.
Специфические симптомы:
The program "postgres" was found by ".../initdb.exe" but was not the same version as initdb.
И хотя версии совпадают, вы получаете это:
C:Program FilesPostgreSQL11bin>postgres -V
WARNING: 01000: could not determine encoding for locale
"<some encoding>.utf8": codeset is "CPutf8"
Если это ваши симптомы, проблема в том, что в настройках вашего региона/языка установлено использование UTF-8 (бета-настройка). Это вызывает проблемы со многими программами, и PostgreSQL — одна из них. Отключите это и переустановите, и все будет в порядке.
Выполните следующие действия, чтобы избежать этой ошибки
- Удалить PostgreSQL
- Удалить, если у вас есть пользователь postgres
- Щелкните правой кнопкой мыши Мой компьютер / Этот компьютер и выберите Управлять, перейдите к Локальные пользователи и группы, затем ПользователиНовый пользователь введите имя пользователя как постгрес и пароль (независимо от того, что вы хотите) и нажмите кнопку Создавать.
- Теперь щелкните правой кнопкой мыши пользователя постгрес и выберите характеристики, щелкните вкладку Член, а затем нажмите кнопку Добавлять, щелкните здесь Передовой, и откроется новое диалоговое окно для групп, щелкните Найти сейчас и выберите Администраторы, нажмите кнопку В ПОРЯДКЕ.
- Теперь откройте командную строку / cmd
- здесь введите runas /пользователь:postgres cmd.exe и нажмите Enter
- cd путь к загруженной папке Postgresql введите
- Введите postgresql-x.x.x-x-windows.exe (здесь x отражает выпуск, основную и дополнительную версии).
- Теперь повторите шаг 4 и удалите группу Администраторы и добавьте Опытные пользователи.
Я просмотрел доступные решения, но ни одно из них не сработало для меня, поэтому я просто создал нового пользователя на своем рабочем столе Windows 10 и выполнил установку там, и она смогла успешно завершиться.
Только что возникла эта проблема с postgres 12, мой метод решения похож на метод Atif, но использует командную строку:
-
Удалить PostgreSQL
-
Удалите пользователя postgres, если он все еще существует:
Чистый пользователь postgres/delete
-
Создайте пользователя postgres с паролем, который вы можете запомнить:
Net user / добавить postgres [пароль]
-
Добавьте пользователя postgres в группу администраторов:
Сетевые администраторы локальной группы postgres /add
-
ПРОПУСТИТЬ, так как группа больше не существует для пользователей Win 10 и пользователей по умолчанию.
должны иметь необходимые разрешения — добавьте пользователя postgres в
Группа опытных пользователей -
Запустите командное окно от имени пользователя postgres: (открывается новая команда
окно) :Runas /пользователь:postgres cmd.exe
-
Скопируйте установочный файл в место, доступное этому пользователю, и запустите
это например:C:Downloadpostgresql-12.4-1-windows-x64.exe
-
Удалите пользователя postgres из группы администраторов:
Сетевые администраторы локальной группы postgres /delete
Вот и все.
Надеюсь, это полезно
Если вы когда-либо меняли параметр кодировки кода командной строки в реестре
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutorun
На chcp 65001, chcp 1251 или любой другой, тогда это может быть проблемой.
Возврат значения значения реестра кодировки командной строки по умолчанию (пустое) решил проблему в моем случае.
Попробуйте изменить значение реестра на пустое:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutorun
Удаление может не удалить все записи реестра. Вы можете ввести registry в поиске на панели задач и открыть Registry Editor.
Перейдите к:
ComputerHKEY_LOCAL_MACHINESOFTWARE
И удалите записи, относящиеся к postgresql.
Установка PostgreSQL в Windows с помощью установщика EDB умоляет быстрее облысеть. Вы можете запустить PostgreSQL на WSL (подсистема Windows для Linux) и подключиться к ней в Windows!
Откройте Windows Terminal/PowerShell от имени администратора (щелкните правой кнопкой мыши значок «Пуск» в Windows 11 -> Терминал Windows (администратор). Введите:
wsl --install
Перезагрузите компьютер. После входа в систему Ubuntu будет автоматически установлена, WSL2 и Ubuntu являются стандартными для Windows 11 (см. документацию о том, как выбрать другой дистрибутив и т. д.). Следуйте инструкциям, чтобы ввести желаемое имя пользователя и пароль.
Обновите Убунту:
sudo apt update && sudo apt upgrade
Установите PostgreSQL:
sudo apt install postgresql
Дайте пользователю postgres пароль:
sudo passwd postgres
Запустите службу и откройте оболочку psql:
sudo service postgresql start && sudo -u postgres psql
Обратите внимание, что созданный вами пароль не является паролем БД для postgres, поэтому, если вы не создадите нового пользователя, вы можете указать его для postgres в оболочке psql:
ALTER USER postgres PASSWORD 'mypw';
Теперь вы можете установить pgAdmin или использовать свою собственную программу (в «обычной» Windows), чтобы убедиться, что вы можете подключиться к 127.0.0.1 с портом 5432 (может отличаться) с пользователем postgres и его паролем.