Postgresql conf где находится windows
Как установить PostgreSQL? Для Microsoft Windows , Mac OS X и Linux существует один установщик. Его можно скачать здесь . Кликните по иконке нужной версии установки PostgreSQL , соответствующей вашей операционной системе.
В некоторых из инструкций предполагается, что вы устанавливаете PostgreSQL 9.1. Если устанавливаете более новую версию, замените в этих инструкциях 9.1 на номер инсталлируемой вами версии СУБД.
Запустите установку
Когда программа попросит выбрать один из вариантов, сделайте следующее:
- Когда вас попросят выбрать локаль, выберите UTF-8 . Если варианта UTF-8 в списке нет, выберите вариант UTF-8 в списке локалей для языка. Например, en_US.UTF-8 для английского языка США;
- Если программа попросит установить StackBuilder – он инсталлирует некоторые дополнительные инструменты Web , репликации и ODBC , которые не требуются для CollectionSpace . Но может потребоваться инсталляция некоторых модулей PostgreSQL , таких как PostGIS .
Обратите внимание, что некоторые из перечисленных выше параметров могут не отображаться в зависимости от версии PostgreSQL и операционной системы.
Настройка PostgreSQL
Чтобы установленный PostgreSQL работал с CollectionSpace, необходимо настроить пользователей и изменить некоторые параметры.
- Найдите конфигурационный файл pg_hba.conf . Он расположен в подкаталоге data каталога, в котором установлена PostgreSQL ;
- Откройте этот файл в текстовом редакторе и следуйте приведенным ниже инструкциям;
В Mac OS X по умолчанию это папка /Library/PostgreSQL/9.1.
В Mac OS X нужно иметь права супер пользователя, чтобы редактировать любой из следующих файлов конфигурации.
Это ограничивает набор пользователей PostgreSQL , которым предоставляется локальный доступ к трем базам данных, используемым CollectionSpace: jbossdb , nuxeo и cspace . Например, только пользователь с именем cspace или супер пользователь PostgreSQL с именем postgres может получить доступ к базе данных cspace с локальной машины.
При установке PostgreSQL 9.x на Windows 7 может не принять термин samehost в столбце CIDR-ADDRESS . Если это произойдет, используйте адресную форму 127.0.0.1/32 :
- Если нужно разрешить создание отчетов при подключении к БД с удаленных хостов, тогда следует добавить запись, подобную приведенной ниже, но указав свой адрес подсети. Приведенная ниже конфигурация позволит создавать отчеты удаленно с хостов в определенной подсети UC Berkeley . Для получения дополнительной информации о том, как указать адрес подсети, ознакомьтесь с документацией по pg_hba.conf для используемого релиза PostgreSQL .
Чтобы автор отчетов мог работать, придется внести еще одно изменение в значение listen_addresses в файле postgresql.conf . Подробнее о поиске этого файла рассказано ниже.
Если вы можете контролировать доступ к PostgreSQL через брандмауэр, то проще ввести значение listen_addresses «*» . Для большей безопасности можно ввести список разделенных запятыми IP-адресов , с которых будут связываться авторы отчетов.
Далее после PostgreSQL установки и настройки Windows нужно внести изменения в конфигурационный файл PostgreSQL :
- Найдите файл postgresql.conf , находящийся в папке data каталога, в котором установлен PostgreSQL ;
- Откройте этот файл в текстовом редакторе и внесите следующие изменения:
Значение переменной max_prepared_transactions , равное 64 , может оказаться большим для вашей системы. Если это так, установите меньшее значение.
Перезапустите службу PostgreSQL
Если вы являетесь пользователем root или sudo , можно выполнить следующую команду:
service postgresql restart
Убедитесь, что вы являетесь пользователем postgres :
Флаг -D указывает местоположение каталога данных PostgreSQL, который также может быть установлен как переменная среды PGDATA. По умолчанию его можно найти по адресу /Library/PostgreSQL/9.1/data.
Чтобы добавить PGDATA в качестве глобальной переменной среды в / etc / profile , выполните следующие шаги:
sudo vi /etc/profile
Затем добавьте следующую строку:
После этого можно будет выполнить предыдущую команду для перезапуска сервера PostgreSQL без флага -D .
Настройка типов данных
Откройте консоль PostgreSQL для базы данных template1 :
Выполните в консоли две следующие команды:
Под пользователем postgres выполните следующие две команды:
Это связано с тем, как Homebrew в Mac OS X и Mountain Lion конфликтуют с определенными системными библиотеками. Решение этой проблемы заключается в том, чтобы скопировать и связать версии библиотеки. PostgreSQL упакован в /usr/lib , где библиотеки хранятся в Mountain Lion .
Еще одним решением может стать пересмотр Homebrew и проверка совместимости с Mountain Lion .
При установке PostgreSQL на Mac OS X в один клик создается ярлык для оболочки PostgreSQL в каталоге Applications / PostgreSQL 9.0 / . Нажмите SQL Shell (psql).app , чтобы открыть новое окно терминала с запущенным psql .
Из этого окна терминала можно получить доступ к базе данных template1 , введя:
psql c template1
psql запускается из командной строки ( cmd ) Windows . Убедитесь, что путь к папке postgres bin хранится в переменной PATH , или просто вызовите ее с полным путем к месту расположения исполняемого файла psql :
psql -d template1 -U postgres
Выполните команды консоли:
Создайте пользователя csadmin
Введите следующую команду, чтобы создать пользователя csadmin с соответствующими привилегиями. Не забудьте заменить пароль replacemewithyourpassword в приведенном ниже примере на пароль по вашему выбору.
Закройте программу psql , введя q ( или нажав Ctrl + d ).
Теперь перезапустите сервер PostgreSQL еще раз ( как описано выше ).
Дополнительная настройка
Дополнительная настройка базы данных является необязательной! CollectionSpace будет выполняться, даже если ни одно из описанных ниже действий не будет выполнено.
Ниже приведена обобщенная версия инструкций, размещенных здесь . Если вы хотите получить более подробную информацию, пожалуйста, обратитесь к этой странице .
PostgreSQL установка и настройка Windows выполняется через postgresql.conf . Откройте этот файл в текстовом редакторе и отредактируйте следующие значения:
Теперь через командную строку задайте значение kernel.shmmax . Оно должно как минимум равняться shared_buffer + 128MB :
Затем необходимо определить окончательное значение shmmax :
Откройте файл /etc/sysctl.conf .
Наконец, установите необходимое значение cache_size :
Для этого запустите ( и выведите статистику в мегабайтах ):
В результате на экране вы увидите что-то наподобие этого:
Эффективное значение для cache_size определяется путем сложения значений buffers и cached . В приведенном выше примере:
253 + 1226 = 1479
К этому числу добавляется значение shared_buffers , поэтому в общей сложности мы получаем:
1479 + 512 = 1991
Также задайте следующие значения:
Перезагрузите установленный PostgreSQL , чтобы изменения вступили в силу.
Мы закончили настройку PostgreSQL . Обратите внимание, что приведенные в этом разделе значения являются примерными. Их необходимо устанавливать в соответствии с настройками вашей системы. Более подробную информацию о настройках можно найти здесь .
Пожалуйста, оставляйте ваши комментарии по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, лайки, дизлайки, отклики, подписки!
Пожалуйста, опубликуйте свои отзывы по текущей теме статьи. За комментарии, отклики, подписки, лайки, дизлайки огромное вам спасибо!
В дополнение к вышеупомянутому postgresql.conf , PostgreSQL обрабатывает два редактируемых вручную файла конфигурации, в которых настраивается аутентификация клиентов (их использование рассматривается в Главе 20). По умолчанию все три файла конфигурации размещаются в каталоге данных кластера БД. Параметры, описанные в этом разделе, позволяют разместить их и в любом другом месте. (Это позволяет упростить администрирование, в частности, выполнять резервное копирование этих файлов обычно проще, когда они хранятся отдельно.)
Задаёт каталог, в котором хранятся данные. Этот параметр можно задать только при запуске сервера. config_file ( string )
Задаёт основной файл конфигурации сервера (его стандартное имя — postgresql.conf ). Этот параметр можно задать только в командной строке postgres . hba_file ( string )
Задаёт файл конфигурации для аутентификации по сетевым узлам (его стандартное имя — pg_hba.conf ). Этот параметр можно задать только при старте сервера. ident_file ( string )
Задаёт файл конфигурации для сопоставлений имён пользователей (его стандартное имя — pg_ident.conf ). Этот параметр можно задать только при запуске сервера. См. также Раздел 20.2. external_pid_file ( string )
Задаёт имя дополнительного файла с идентификатором процесса (PID), который будет создавать сервер для использования программами администрирования. Этот параметр можно задать только при запуске сервера.
При стандартной установке ни один из этих параметров не задаётся явно. Вместо них задаётся только каталог данных, аргументом командной строки -D или переменной окружения PGDATA , и все необходимые файлы конфигурации загружаются из этого каталога.
Если вы хотите разместить файлы конфигурации не в каталоге данных, то аргумент командной строки postgres -D или переменная окружения PGDATA должны указывать на каталог, содержащий файлы конфигурации, а в postgresql.conf (или в командной строке) должен задаваться параметр data_directory , указывающий, где фактически находятся данные. Учтите, что data_directory переопределяет путь, задаваемый в -D или PGDATA как путь каталога данных, но не расположение файлов конфигурации.
При желании вы можете задать имена и пути файлов конфигурации по отдельности, воспользовавшись параметрами config_file , hba_file и/или ident_file . Параметр config_file можно задать только в командной строке postgres , тогда как остальные можно задать и в основном файле конфигурации. Если явно заданы все три эти параметра плюс data_directory , то задавать -D или PGDATA не нужно.
Во всех этих параметрах относительный путь должен задаваться от каталога, в котором запускается postgres .
Сервер баз данных PostgreSQL имеет очень много параметров с помощью которых его можно настроить под любые нужды. В этой статье мы не будет рассматривать все эти параметры. Здесь мы посмотрим на различные cпособы конфигурирования PostgreSQL.
Если же вы хотите посмотреть список параметров настройки PostgreSQL, то ищите его в справочнике на официальном сайте: на английском и на русском языках.
Конфигурационный файл postgresql.conf
Главный конфигурационный файл для кластера PostgreSQL – это postgresql.conf, в разных системах он может находится в разных местах. Так как мы собирали сервер из исходников и не меняли путь хранения этого файла, то по умолчанию он будет находится в каталоге PGDATA:
Этот конфигурационный файл читается один раз при запуске сервера. Если параметр указан несколько раз, то применяется последний.
Самый точный способ узнать расположение этого файла, посмотреть из терминала psql:
Если вы измените параметры в этом файле, его нужно перечитать. Первый способ – из командной оболочки операционной системы:
Второй способ – из терминала psql:
Но есть некоторые параметры, для изменения которых потребуется перезапуск сервера.
Конфигурация сервера используя ALTER SYSTEM
Для настройки сервера также существует другой файл – postgresql.auto.conf. Он были придуман для настройки сервера из консоли psql. Читается этот файл после postgresql.conf, поэтому параметры из него имеют приоритет. Этот файл всегда находится в каталоге с данными (PGDATA).
Для создания параметров в файле postgresql.auto.conf нужно выполнить подобный запрос:
ALTER SYSTEM SET <параметр> TO <значение>;
Чтобы удалить параметр используем другой запрос:
ALTER SYSTEM RESET <параметр>;
А чтобы удалить все параметры из postgresql.auto.conf выполним:
ALTER SYSTEM RESET ALL;
Чтобы применить изменения нужно перечитать конфигурационные файлы как было описано выше.
Информация о текущих настройках сервера
В PostgreSQL есть 2 представления через которые можно посмотреть текущие настройки сервера:
- pg_file_settings – какие параметры записаны в файлах postgresql.conf и postgresql.auto.conf;
- pg_settings – текущие параметры, с которыми работает сервер.
Например посмотрим значение параметра config_file из представления pg_settings, который покажет конфигурационный файл текущего кластера:
Внесём изменения в параметр work_mem в postgresql.conf и postgresql.auto.conf. Затем посмотрим на все не закомментированные параметры в этих файлах:
Как можно заметить в примере выше, у меня 2 одинаковых параметра work_mem. Колонка applied показывает, может ли быть применён параметр. Первый work_mem не может быть применен, так как второй его перезапишет. При этом реальное значение с которым работает сервер отличается, так как сервер не перечитал конфигурацию.
Теперь посмотрим на реальное, текущее значение этого параметра:
В примере выше мы использовали расширенный режим (в конце запроса \gx), поэтому табличка перевёрнута. Разберём колонки:
- name – имя параметра;
- setting – текущее значение;
- unit – единица измерения;
- boot_val – значение по умолчанию (жёстко задано в коде postgresql);
- reset_val – если перечитаем конфигурацию, то применится это значение;
- source – источник, это значение по умолчанию;
- sourcefile – если бы источником был конфигурационный файл, то тут был бы указан этот файл;
- sourceline – номер строки в этом файле;
- pending_restart – параметр изменили в конфигурационном файле и требуется перезапуск сервера. У нас требуется всего лишь перечитать конфигурацию;
- context – действия, необходимые для применения параметра, может быть таким:
- internal – изменить нельзя, задано при установке;
- postmaster – требуется перезапуск сервера;
- sighup – требуется перечитать файлы конфигурации;
- superuser – суперпользователь может изменить для своего сеанса;
- user – любой пользователь может изменить для своего сеанса на лету.
Перечитаем конфигурацию сервера:
Как видим, параметр изменился. Он был взят из postgresql.auto.conf и теперь равняется 10 MB.
Установка параметров на лету
Для своего сеанса можно изменить параметры с context=user. Для этого используется конструкция:
SET <параметр> TO '<значение>';
Например сделаем это для work_mem:
Как видим, теперь источником является текущая сессия, а параметр равен 64 MB, но если мы перечитаем конфигурацию параметр снова станет равным 10 MB.
Чтобы вернуть все на место нужно просто перезайти в psql. Или выполнить команду RESET <параметр> :
Тоже самое может проделывать приложение для одной транзакции, и если транзакция откатывается, то и значение параметра откатывается вместе с ней:
Как вы могли заметить посмотреть текущее значение параметра ещё можно так:
Какие параметры требуют перезапуск сервера?
Чтобы это выяснить нужно посмотреть все параметры у которых context = postmaster:
Я недавно переустановил 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.конф и т. д. являются.
Читайте также: