Postgres не знает где найти файл конфигурации сервера
Чтобы увидеть, где находится каталог данных, используйте этот запрос.
Чтобы увидеть все параметры времени выполнения, используйте
Вы можете создавать табличные пространства для хранения объектов базы данных в других частях файловой системы. Чтобы увидеть табличные пространства, которые могут отсутствовать в этом каталоге данных, используйте этот запрос.
show data_directory; Команда указывает на точное местоположение данных. Поиск в определенной папке является болезненным, так как кто-то другой мог установить ее для вас, и теперь вы не знаете конфигурацию, поэтому следующий sql поможет сэкономить время. :) Спасибо, Майк. Он говорит , что «должны быть суперпользователем , чтобы изучить каталог данных» :( Если вы не администратор, вам все равно не нужно об этом знать. Кстати, если кто-то ищет местоположение базы данных для Postgres.app на Mac, как я, то по умолчанию оно находится в/ Library / Application Support / Postgres [ver] / var.
Чтобы выполнить запрос, используйте PGAdmin III и значок «выполнить запрос» в строке меню.На Windows7 все базы данных называют числом в файле с именем pg_database под C:\Program Files (x86)\PostgreSQL\8.2\data\global . Затем вы должны найти имя папки по этому номеру в C:\Program Files (x86)\PostgreSQL\8.2\data\base . Это содержание базы данных.
Не отвечайте определенным образом для ОС, если в вопросе явно не указана ОС. Почему нет? Если вы не упомянете ОС и просто скажете «это работает», любой, кто попробует это на другой ОС, будет сбит с толку. Это актуально. РЕДАКТИРОВАТЬ: О, вы, вероятно, имеете в виду "вообще не давать конкретного ответа ОС". Я думаю, это имеет смысл, я не знаю. @ Давид, вопрос был закрыт, предположительно, потому что не было указано, какая ОС. (Если бы он указывал ОС, он был бы закрыт из-за того, что он был слишком конкретным.) Ваш ответ был полезным и информативным - просто игнорируйте скептиков и падальщиков, пока им не удастся окончательно уничтожить SO. Ненавистники будут ненавидеть, и все такое. @ SamGoody было бы что-то вроде того, что вы говорили, если бы этот ответ был действительно правильным. (Это не совсем неверно, поскольку папка может быть в Windows, но это определенно не дано). Является ли это случаем или нет, можно легко узнать, следуя уже даному ответу. @senthilkumari У меня есть postgresql 11 и windows 10. Как вы упомянули, я пытался просмотреть базу данных pg_database внутри глобальной папки, но не смог ее увидеть. Я мог видеть кучу _vms, _fsm, config_exec_params, pg_control, pg_filenode.map, pg_internal.init. Для Windows 10, какой файл с именем следует искать. Это другое?Откройте pgAdmin и перейдите в Свойства для конкретной базы данных. Найдите OID и откройте каталог
Там должны быть ваши файлы БД.
Как указано в разделе « Расположение базы данных PostgreSQL по умолчанию в Linux », в Linux вы можете узнать, используя следующую команду:
Под моей установкой Linux это здесь: /var/lib/postgresql/8.x/
Вы можете изменить это с initdb -D "c:/mydb/"
Зависит от дистрибутива - для Fedora 20 он ниже /var/lib/pgsql/data . Лучше узнать, используя ps auxw|grep postgres|grep -- -D .Расположение определенных таблиц / индексов может быть скорректировано с помощью TABLESPACE:
Все уже ответили, но только за последние обновления. Если вы хотите знать, где находятся все файлы конфигурации, выполните эту команду в оболочке.
Могу поспорить, что вы задаете этот вопрос, потому что вы попробовали pg_ctl start и получили следующую ошибку:
pg_ctl: каталог базы данных не указан и переменная окружения PGDATA не установлена
Другими словами, вы ищете в каталоге на сайте после того, как -D в вашей pg_ctl start команде.
В этом случае каталог, который вы ищете, содержит эти файлы.
Вы можете найти его, найдя любой из файлов и каталогов выше, используя поиск, предоставляемый вашей ОС.
Например, в моем случае ( установка HomeBrew на Mac OS X ) эти файлы находятся в /usr/local/var/postgres . Для запуска сервера я набираю:
Если вы используете доморощенный, более простой способ найти эти данные просто brew info postgres Вы правы по поводу причины, по которой я ищу папку базы данных. Но дело в том, что я не могу найти ни один из вышеперечисленных файлов с locate <filename> Нашел их . Пришлось использовать sudo locate <filename>Postgres хранит данные в файлах в своем каталоге данных. Выполните следующие шаги, чтобы перейти к базе данных и ее файлам:
База данных, соответствующая файлу таблицы postgresql, является каталогом. Расположение всего каталога данных можно получить, запустив SHOW data_directory . в UNIX-подобной ОС (например, Mac) /Library/PostgreSQL/9.4/data Перейдите в базовую папку в каталоге данных, в котором есть все папки базы данных: /Library/PostgreSQL/9.4/data/base
Найдите имя папки базы данных, выполнив (Дает целое число. Это имя папки базы данных):
Найдите имя файла таблицы, выполнив (Дает целое число. Это имя файла):
Это бинарный файл. Детали файла, такие как размер и время создания, можно получить как обычно. Для получения дополнительной информации прочитайте эту тему
На Mac: /Library/PostgreSQL/9.0/data/base
Каталог не может быть введен, но вы можете посмотреть содержимое через: sudo du -hc data
postgres не знает, где найти файл конфигурации сервера.
Вы должны указать параметр вызова --config-file или -D или установить Переменная окружения PGDATA.
Итак, я пытаюсь установить свой файл конфигурации:
И я получаю следующую ошибку:
postgres не может получить доступ к файлу конфигурации сервера "/usr/local/var/postgres/postgresql.conf": в доступе отказано
Хм, хорошо. Затем я пытаюсь выполнить то же действие в качестве администратора:
И я получаю следующую ошибку:
"корневое" выполнение сервера PostgreSQL запрещено.
Сервер должен быть запущен от имени непривилегированного пользователя, чтобы предотвратить возможная компрометация системы безопасности. См. Документацию для получения дополнительной информации информация о том, как правильно запустить сервер.
3 ответа
Ваша команда не делает того, что вы думаете. Чтобы запустить что-либо как системный пользователь postgres :
Чтобы запустить команду (также называемую postgres !):
Ваша команда делает обратное:
Если вы собираетесь выполнить несколько команд как системный пользователь postgres , измените пользователя с помощью:
. и exit , когда вы закончите.
postgres не может получить доступ к файлу конфигурации сервера "/usr/local/var/postgres/postgresql.conf": в доступе отказано /usr/local/var/postgres/postgresql.conf
- Обратите внимание на инструкцию в руководстве Postgres.
- Также обратите внимание на оболочку pg_ctl - или pg_ctlcluster в дистрибутивах на основе Debian.
- И знайте разницу между su и sudo .
Ответ Мутукумара - лучший !! После целого дня поиска более простого способа изменения развертывания Alpine Postgres в Kubernetes я нашел этот простой ответ.
Вот мое полное описание. Наслаждайся этим !!
Сначала мне нужно создать / определить ConfigMap с правильными значениями. Сохраните в файле custom-postgresql.conf:
Создайте конфигурацию / карту:
Пожалуйста, позаботьтесь о том, чтобы значения в пользовательских настройках определялись в соответствии с ресурсами Pod, в основном с помощью памяти и назначений ЦП.
Я недавно переустановил postgresql 8.3 на моем Ubuntu 8.04 после обновления. Использован пакет файле EnterpriseDB. Я могу подключиться к базе данных локально, я вижу system DB postgres, но я не могу ее настроить, потому что не могу найти файлы конфигурации. Поиск по всему жесткому диску и нашел только образцы, такие как pg_hba.conf.sample
где postgres *.conf файлов?
или спросите свою базу данных:
Ubuntu 13.04 установлено с помощью программного центра:
место для моего:
Где мои postgres *.файлы конф?
запрос базы данных с sql-запросом:
причина, по которой вы можете иметь проблемы с поиском postgresql.conf потому что он принадлежит postgres, а не root.
вот где мой находится на Fedora 17:
обратите внимание, что он принадлежит postgres:
он имеет разрешение 600, что объясняет, почему вам трудно найти его с помощью поиска файлов. Расположение postgresql.conf будет различным в зависимости от того, какую операционную систему вы используете.
вот содержание моего:
чтобы получить местоположение pg_hba.conf файл, вы также можете запросить базу данных, как
вы должны получить что-то вроде
на Mac (Postgres установлен с помощью brew):
/ usr / local/Cellar/postgresql/9.3.3>bin /postgres-D/usr/local/var/postgres/
для CentOS 6 и 7 и postgresql 9.2 (и ниже, я полагаю, возможно, Fedora и Redhat):
для CentOS 6 и 7 postgresql 9.3 или 9.4 (и выше, я полагаю):
для Ubuntu 14 и postgresql 9.3:
ответ может заключаться в том, что вы еще не инициализировали базу данных. После установки postgres, но перед инициализацией базы данных, postgres*.файлы sql будут отсутствовать. После инициализации базы данных postgres*.появятся файлы sql. (Centos 6, Postgres 9.3 продемонстрированы здесь)
в большинстве случаев: под $PGDATA обычно /var/lib/postgresql/data или что-то подобное (по крайней мере, это путь по умолчанию, если вы используете настройки изображения).
в CentOS 7 с PostgreSQL 9.4 он находится в следующем каталоге:
Я вижу это, когда я войти в систему как root.
вы можете найти другие файлы conf с помощью следующей команды:
Примечание: см. использование с помощью man:
Если вы следовали Белой книге, выпущенной Amazon для установки Postgresql на AWS, которая включала создание каталога /data/ в файловой системе, установленной на отдельном томе EBS, то ваш postgresql.файл conf находится в /data/
из чего я заключаю, что файл создается во время инициализации каталога данных и находится в корне каталога данных. Для установки по умолчанию это выглядит как /var/lib/pgsql / data, но не если вы переместили data dir
мне нравится этот поток, потому что он документирует местоположения по умолчанию для различных postgresql.conf файлы на различных архитектурах.
, Я также попал в беду, полагаясь на эти значения по умолчанию на установках, где они указали альтернативные местоположения. Один из способов узнать, где находится конкретный файл конфигурации, напрямую запрашивая базу данных:
select * from pg_settings where name='config_file'
падение where предложение, чтобы увидеть все настройки, которые также могут быть подсветка, потому что она показывает, где каталоги данных, pg_hba.конф и т. д. являются.
Я пытаюсь настроить postgreSQL в качестве своей локальной базы данных разработки.
когда я выполняю
Я получаю следующую ошибку:
В моем Gemfile у меня есть pg в списке gem.
Когда я выполняю
Я получаю следующую ошибку:
Мой database.yml выглядит следующим образом:
2 ответа
Я использую mac OS X 10.5.8. Я установил PostgreSQL 9.1 (используя драйвер Mac dmg), чтобы построить базу данных с python (используя sqlalchemy и psycopg2). Когда я впервые попытался подключиться к PostgreSQL через sqlalchemy, я не смог найти комбинацию username:password, которая позволила бы мне.
итак, это своего рода косвенное решение, но я просто запустил brew uninstall postgresql , а затем установил приложение PostgreSQL, которое автоматически запускается на правом порту 5432.
У меня уже была такая же проблема раньше, и я исправил ее, сделав это
Похожие вопросы:
Когда я пытаюсь запустить postgresql, я получаю ошибку: postgres postgres не знает, где найти файл конфигурации сервера. Вы должны указать параметр вызова --config-file или -D или установить PGDATA.
Я установил PostgreSQL на свой Mac OS Lion и работаю над приложением rails. Я использую RVM, чтобы держать все отдельно от других моих приложений Rails. По какой-то причине, когда я пытаюсь.
Я использую mac OS X 10.5.8. Я установил PostgreSQL 9.1 (используя драйвер Mac dmg), чтобы построить базу данных с python (используя sqlalchemy и psycopg2). Когда я впервые попытался подключиться к.
Я пытаюсь запустить PostgreSQL для RoR на своем новом mac (я новичок). Я следовал руководству по установке, однако не могу заставить его работать должным образом. Я нашел похожие вопросы, но они не.
Я установил PostgreSQL, но когда я выполняю команду postgres в windows CMD Это дает следующую ошибку: postgres does not know where to find the server configuration file. You must specify the.
Я нахожусь на CentOS 7 и пытаюсь пройти через ошибку PG::ConnectionBad: FATAL: Peer authentication failed for user . Итак, я уже понял, что должен изменить pg_hba.conf (peer на md5), и я это.
Я не включал параллельные конфигурации в postgres. Однако во время отладки было обнаружено, что параллельные конфигурации были включены. На гугле нашел, как установить параллельные конфигурации.
Я пытаюсь переопределить один элемент в конфигурации Postgres официального изображения Docker Postgres . А именно, я хочу переопределить свойство log_statement и установить его в all . Попробовал.
Читайте также: