PostgreSQL 9:не удалось синхронизировать файл “base/16386”:Недопустимый аргумент

StackOverflow https://stackoverflow.com/questions/4187767

  •  10-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь протестировать небольшую настройку PostgreSQL, поэтому я собрал быструю локальную установку.Однако, когда я пытаюсь создать свою личную базу данных с помощью createdb, она захлебывается из-за ошибок, подобных этой (в частности, она начинается с base / 16384 в первый раз и увеличивается при каждом ее запуске).Кто-нибудь знает, что здесь происходит, или есть какая-то тривиальная конфигурация, которую я пропустил, которая могла бы вызвать это?Спасибо, и это несколько отнимает время, поэтому, пожалуйста, ответьте, если вам что-то известно.Спасибо!

Обновления:
Я запускаю это на сервере CentOS 5, прошу прощения, что у меня нет слишком много дополнительных подробностей (это общая учетная запись на этом сервере).uname -a имеет следующий результат:

Linux {ОПУЩЕНО} 2.6.18-194.11.4.el5 #1 SMP Вт 21 сентября 05:04:09 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Я установил PostgreSQL из исходного кода:

http://wwwmaster.postgresql.org/download/mirrors-ftp/source/v9.0.1/postgresql-9.0.1.tar.bz2

встроенный в мой домашний каталог и установленный с префиксом =$HOME/local/pgsql.

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

[htung@{ОПУЩЕНО}:~]$ уничтожить все postgres
ЖУРНАЛ РЕГИСТРАЦИИ:выключение автовакуумной пусковой установки
ЖУРНАЛ РЕГИСТРАЦИИ:получен запрос на интеллектуальное выключение
ЖУРНАЛ РЕГИСТРАЦИИ:выключение
ЖУРНАЛ РЕГИСТРАЦИИ:система баз данных отключена
[htung@{ОПУЩЕНО}:~]$ rm -r tmp
mk[1]+ Готово ../local/pgsql/bin/postgres -D $HOME/tmp (wd:~/tmp)
(wd сейчас:~)
[htung@{ОПУЩЕНО}:~]$ mkdir tmp
[htung@{ОПУЩЕНО}:~]$ local/pgsql/bin/initdb -D $HOME/tmp
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю "htung".
Этот пользователь также должен владеть серверным процессом.

Кластер базы данных будет инициализирован с помощью локали en_US.UTF-8.
Соответственно, кодировка базы данных по умолчанию была установлена в UTF8.
Конфигурация текстового поиска по умолчанию будет установлена на "английский".

исправлены разрешения для существующего каталога /afs/{ОПУЩЕНО}/htung/tmp ...ОК
создание подкаталогов ...ОК
выбираем max_connections по умолчанию ...100
выбираем shared_buffers по умолчанию ...32 МБ
создание файлов конфигурации ...ОК
создаем базу данных template1 в /afs/{ОПУЩЕНО}/htung/tmp/base/1 ...ОК
инициализация pg_authid ...ОК
инициализация зависимостей ...ОК
создание системных представлений ...ОК
загрузка описаний системных объектов...ОК
создание конверсий ...ОК
создание словарей ...ОК
установка привилегий для встроенных объектов ...ОК
создание информационной схемы ...ОК
загрузка серверного языка PL / pgSQL...ОК
очистка шаблона базы данных пылесосом1 ...ОК
копирование шаблона 1 в шаблон 0 ...ОК
копирование template1 в postgres ...ОК

ПРЕДУПРЕЖДЕНИЕ:включение проверки подлинности "доверие" для локальных подключений
Вы можете изменить это, отредактировав файл pg_hba.conf или используя опцию -A в
в следующий раз, когда вы запустите initdb.

Успех.Теперь вы можете запустить сервер базы данных с помощью:

local/pgsql/bin/postgres -D /afs/{OMITTED}/htung/tmp  

или
запуск локального файла журнала/pgsql/bin/pg_ctl -D /afs/{ОПУЩЕНО}/htung/tmp -l

[htung@{ОПУЩЕНО}:~]$ local/pgsql/bin/postgres -D $HOME/tmp
ЖУРНАЛ РЕГИСТРАЦИИ:система баз данных была отключена в 2010-11-15 13:47:25 по тихоокеанскому времени
ЖУРНАЛ РЕГИСТРАЦИИ:запущена автовакуумная пусковая установка
ЖУРНАЛ РЕГИСТРАЦИИ:система базы данных готова к приему подключений

[1]+ Остановлен локальный файл/pgsql/bin/postgres -D $HOME/tmp
[htung@{ОПУЩЕНО}:~]$ bg
[1]+ локальный/pgsql/bin/postgres -D $HOME/tmp &
[htung@{ОПУЩЕНО}:~]$ local/pgsql/bin/createdb
ОШИБКА:не удалось синхронизировать файл "base/16384":Недопустимый аргумент
ЗАЯВЛЕНИЕ:СОЗДАТЬ БАЗУ ДАННЫХ htung;

созданный b:сбой при создании базы данных:ОШИБКА:не удалось синхронизировать файл "base/16384":Недопустимый аргумент
[htung@{ПРОПУЩЕНО}:~]$

Это было полезно?

Решение

Я бы предположил, что вы, возможно, столкнулись здесь с системой SE linux.Я бы порекомендовал либо отключить SELinux и посмотреть, работает ли это, либо установить из RPM, доступных на веб-сайте postgresql.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top