User Tools

Site Tools


postgresql

This is an old revision of the document!


PostgreSQL

Компиляция

sudo apt-get update
sudo apt-get install /usr/bin/git gcc bison flex libreadline-devel zlib-devel

git clone https://git.postgresql.org/git/postgresql.git
cd postgresql/
./configure --prefix=/home/user/postgresql_bin 
gmake -j`nproc`
gmake install

Установка в Альте

sudo apt-get update
sudo apt-get install postgresql14-server

Смена каталога с данными

Пусть новым каталогом будет /home/mydb/pgsql/data. В этом пути все каталоги, кроме последнего, должны существовать.

sudo mkdir -p /home/mydb/pgsql

Поменять в файле /etc/init.d/postgresql PGDATA на /home/mydb/pgsql/data

Инициализация каталога с БД

sudo /etc/init.d/postgresql initdb

Создание своей версии сервиса

sudo cp /lib/systemd/system/postgresql.service /etc/systemd/system/postgresql.service

Заменить в /etc/systemd/system/postgresql.service PGDATA на /home/mydb/pgsql/data

sudo systemctl start postgresql.service

Убедиться, что все получилось

$ ps -fC postgres
UID          PID    PPID  C STIME TTY          TIME CMD
postgres    4444       1  0 17:22 ?        00:00:00 /usr/bin/postgres -D /home/mydb/pgsql/data -p 5432
postgres    4447    4444  0 17:22 ?        00:00:00 postgres: checkpointer 
postgres    4448    4444  0 17:22 ?        00:00:00 postgres: background writer 
postgres    4449    4444  0 17:22 ?        00:00:00 postgres: walwriter 
postgres    4450    4444  0 17:22 ?        00:00:00 postgres: autovacuum launcher 
postgres    4451    4444  0 17:22 ?        00:00:00 postgres: stats collector 
postgres    4452    4444  0 17:22 ?        00:00:00 postgres: logical replication launcher 
postgresql.1673361803.txt.gz · Last modified: 2023/01/10 14:43 by keremet