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

Установка PostgreSQL из исходников

Просмотры: 2048
Категория: Администрирование
Создано: 22 ноября 2020
Тэги: PostgreSQL Linux

Установка на сервере программ из исходников считается дурным тоном. Пакеты принято устанавливать через пакетные менеджеры (yum на RHEL / CentOS / Oracle или dpkg на Ubuntu Server / Debian). Но на домашней машине установка из исходников вполне себя оправдывает. В этом случае мы полностью контролируем процесс компиляции и самой установки: указываем в какой каталог устанавливать файлы, какие модули компилировать, какие библиотеки подключать и т.д. Вообщем, такой себе путь Gentoo или даже LFS. Итак, займемся компилированием из исходников PostgreSQL самой свежей версии на текущий момент - 13.1.

Скачиваем архив

wget https://ftp.postgresql.org/pub/source/v13.1/postgresql-13.1.tar.bz2

Распаковываем и переходим в соответствующий каталог

tar xjvf postgresql-13.1.tar.bz2 && cd postgresql-13.1

По умолчанию PostgreSQL устанавливается в /usr/local/pgsql. Неплохой выбор по моему скромному мнению. Если кто не согласен, можно указать новый путь через опцию --prefix. Так как у меня демоны запускаются через системный демон systemd, то добавим опцию --with-systemd, чтобы такая возможность появилась и для нашего PostgreSQL

./configure --with-icu --with-systemd

Далее стандартно

make

sudo make install

sudo ldconfig /usr/local/pgsql/lib

Добавляем пользователя postgres

sudo useradd postgres

Создаём каталог для хранения данных и назначаем владельцем этого каталога postgres:

sudo mkdir /usr/local/pgsql/data

sudo chown postgres /usr/local/pgsql/data

Перелогиниваемся в postgres и инициализируем БД

sudo su - postgres

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

Выходим из postgres и создаем файл postgresql.service в каталоге /etc/systemd/system

sudo vim /etc/systemd/system/postgresql.service

Содержание файла следующее

[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)

[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=0

[Install]
WantedBy=multi-user.target

Теперь запускаем сервер

sudo systemctl start postgresql

и ставим его в автозагрузку

sudo systemctl enable postgresql

Теперь можно заняться добавлением новых баз данных, новых пользователей, редактированием pg_hba.conf. В последнем случае не забываем перезапускать PostgreSQL

sudo systemctl restart postgresql

Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене

Новое видео
Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»
Поддержать автора сайта!
​ Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.
Расписание пробников Статграда в 2026/27 учебном году
Информатика ОГЭ 9 класс
  1. 13 октября 2026 года
  2. 3 декабря 2026 года
  3. 21 января 2027 года
  4. 19 февраля 2027 года
  5. 23 марта 2027 года
  6. 27 апреля 2027 года
Математика ОГЭ 9 класс
  1. 23 сентября 2026 года
  2. 1 декабря 2026 года
  3. 22 января 2027 года
  4. 3 марта 2027 года
  5. 14 апреля 2027 года
Физика ОГЭ 9 класс
  1. 19 октября 2026 года
  2. 10 декабря 2026 года
  3. 29 января 2027 года
  4. 17 марта 2027 года
  5. 22 апреля 2027 года
Математика ЕГЭ 10 класс
  1. 3 февраля 2027 года
  2. 11 мая 2027 года
Информатика ЕГЭ 11 класс
  1. 22 октября 2026 года
  2. 15 декабря 2026 года
  3. 26 января 2027 года
  4. 2 марта 2027 года
  5. 13 апреля 2027 года
Математика ЕГЭ 11 класс
  1. 30 сентября 2026 года
  2. 17 декабря 2026 года
  3. 9 февраля 2027 года
  4. 16 марта 2027 года
  5. 21 апреля 2027 года
Физика ЕГЭ 11 класс
  1. 14 октября 2026 года
  2. 16 декабря 2026 года
  3. 4 февраля 2027 года
  4. 12 марта 2027 года
  5. 9 апреля 2027 года