Автор Тема: PostgreSQL FAQ  (Прочитано 1168 раз)

0 Пользователей и 1 Гость просматривают эту тему.

shurutov

  • Боги форума
  • *****
  • Сообщений: 357
  • Бог, царь и генеральный секретать
    • Бредни сумасшедших
PostgreSQL FAQ
« : Декабря 25, 2018, 06:03:53 »
Наиболее частые вопросы из телеграм-чатика по ПГ.
  • Q. Я только начал изучать PostgreSQL, что мне почитать?
    A.
    • Официальная документация (текущий старший релиз): https://www.postgresql.org/docs/current/static/
    • Перевод документации на русский язык от компании <a href="https://postgrespro.ru">Postgres Professional</A> (10-я версия): https://postgrespro.ru/docs/postgresql/10/
    • Для быстро-быстро есть учебные курсы от указанной компании (для новичков DBA1 обязателен к изучению): https://postgrespro.ru/education/courses
    • Для изучить базовые понятия SQL - Мартин Грубер (Грабер) "Понимание SQL".
      Без изучить данную книгу к базам данных вообще не подходите!
       [li]Q. Как мне установить PostgreSQL?
    A. Выбрать свою ОС/дистрибутив на странице загрузок PostgreSQL: https://www.postgresql.org/download/
    и следовать инструкциям. Если вашего дистрибутива нет, то это повод сменить дистрибутив, увы и ах. Исключение составляет Gentoo - портежи обновляются своевременно, но зачастую новая версия помечается, как тестовая. Поэтому установка в gentoo следующая:
user@host ~ $ sudo sh -c "echo dev-db/postgresql >> /etc/portage/package.keywords"
user@host ~ $ sudo emerge -av dev-db/postgresql:<MAJOR_VERSION>
ВНИМАНИЕ! Дистрибутивостроители не утруждают себя инициализировать экземпляр с включением контрольных сумм! Это необходимо делать самостоятельно.
RedHat и производные - устанавливать соответствующую переменную окружения. Для уточнения имени переменной надо запустить команду (пример для 10-й версии)
[postgres@pghost ~]$ /usr/pgsql-10/bin/postgresql-10-setup --helpДля 9.3 и, может быть некоторых версий позже, данной возможности не предусмотрено, т.е. выхлоп следующий:
[postgres@pghost ~]$ /usr/pgsql-9.3/bin/postgresql93-setup --help
Usage: /usr/pgsql-9.3/bin/postgresql93-setup {initdb|upgrade} [ service_name ]
соответственно, надо инициализировать кластер с помощью initdb, а чтобы не ломать существующие настройки пакета, необходимо из unit-файла извлечь соответствующие параметры, как минимум PGDATA;
Debian и производныe - удалением инициализированного при установке экземпляра, команда pg_dropcluster и созданием его заново, но уже с включением контрольных сумм, команда
pg_createcluster ... -- --data-checksums ... Для Gentoo - прописывать соответствующие опции в /etc/conf.d/postgresql-<MAJOR_VERSION>, а затем запускать
emerge --config dev-db/postgresql-<MAJOR_VERSION>
  • Q. Что мне почитать по оптимизации запросов PostgreSQL?
    A.
    парочку запросов поисковикам (настоятельно рекомендую пользоваться несколькими!)
    • Иван Фролков. Оптимизация запросов PostgreSQL
    • Максим Богук. Оптимизация запросов PostgreSQL
  • Q. Что мне почитать по оптимизации PostgreSQL вообще?
    A. А тут один запрос: "Илья Космодемьянский. Оптимизация PostgreSQL"
И общий ответ на "оптимизация PostgreSQL": учиться читать и понимать EXPLAIN: https://www.postgresql.org/docs/10/static/sql-explain.html
выхлоп этой команды в подавляющем большинстве случаев даёт достаточно информации для выбора адекватного решения возникшей проблемы.
  • Q.Это всё здорово, но может есть какой-то ресурс, где есть какие-то базовые настройки, от которых можно оттолкнуться при настройке PostgreSQL? Ну или какой-нибудь конфигуратор, типа mysqltuner или утилит от Percona.
    A. Есть. Но необходимо осознавать, что и зачем вы меняете. Поэтому я настоятельно рекомендую перед применением предлагаемых настроек найти их в документации и почитать, на что их установка влияет. А ресурс вот: http://pgconfigurator.cybertec.at/
[/code]
« Последнее редактирование: Ноября 27, 2019, 09:30:59 от shurutov »
С уважением,
Шурутов Михаил

Радист

  • Человече зрелый
  • ****
  • Сообщений: 413
  • Бессмертный
    • Восстановление данных ,ну и прочий ремонт
Re: PostgreSQL FAQ
« Ответ #1 : Января 22, 2019, 23:57:31 »
Q. Как мне установить PostgreSQL?
Люди в принципе не владеют ОС которую используют?
http://vint.ml
Восстановление данных с неисправных носителей (hdd,ssd)
Ну и прочий ремонт.

shurutov

  • Боги форума
  • *****
  • Сообщений: 357
  • Бог, царь и генеральный секретать
    • Бредни сумасшедших
Re: PostgreSQL FAQ
« Ответ #2 : Января 23, 2019, 06:30:35 »
Радист, не то что не владеют, компьютер в первый раз видят. Но уже - программисты. :(
С уважением,
Шурутов Михаил

Радист

  • Человече зрелый
  • ****
  • Сообщений: 413
  • Бессмертный
    • Восстановление данных ,ну и прочий ремонт
Re: PostgreSQL FAQ
« Ответ #3 : Января 26, 2019, 01:23:16 »
Радист, не то что не владеют, компьютер в первый раз видят. Но уже - программисты. :(
Ну такое можно было представить в 92 году , когда я поступил , да и то у нас польские икстишки Мазовия были.Счас невозможно.У каждого дома есть.У меня на одной работе ввшные прапора , ни разу не айтишники бодро владели компом - а это начало 2000х
« Последнее редактирование: Января 26, 2019, 01:29:56 от Радист »
http://vint.ml
Восстановление данных с неисправных носителей (hdd,ssd)
Ну и прочий ремонт.