Поверхностное исследование показало, что в dsc положили архив xz, а что в этом архиве - хз. В общем, не собиралось оно через dpkg-source.
В скачанном архиве лежат deb и rpm пакеты, битый dsc, и
- postgresql-17_17.5.orig.tar.bz2 - исходники
- 00001-1C-FULL.patch - патч
Если коротко, то надо развернуть исходники, наложить на них патч от 1С и собрать это счастье. После этого дособрать необходимые экстеншены, установить их в собранный postgres, и мы в дамках.
[idiot@notebook wtf]$ ls
Patch_SUBD_PostgreSQL_17.5_11.1C.tar.bz2
#распаковываем архив
[idiot@notebook wtf]$ tar -xjvf Patch_SUBD_PostgreSQL_17.5_11.1C.tar.bz2
#распаковываем исходники
[idiot@notebook wtf]$ cd Patch_SUBD_PostgreSQL_17.5-11.1C/
[idiot@notebook Patch_SUBD_PostgreSQL_17.5-11.1C]$ tar -xjf postgresql-17_17.5.orig.tar.bz2
[idiot@notebook Patch_SUBD_PostgreSQL_17.5-11.1C]$ cd postgresql-17.5/
#патчим
[idiot@notebook postgresql-17.5]$ patch -p1 < ../00001-1C-FULL.patch
Далее стандартные ./configure, make, make install
Есть смысл при configure включить оптимизацию: CFLAGS="-O3 -march=native"
[idiot@notebook postgresql-17.5]$ CFLAGS="-O3 -march=native" ./configure
....
[idiot@notebook postgresql-17.5]$ make
...
[idiot@notebook postgresql-17.5]$ sudo make install
...
[idiot@notebook postgresql-17.5]$ /usr/local/pgsql/bin/psql --version
psql (PostgreSQL) 17.5
Задаем пароль для юзера postgres, инициализируем кластер БД, запускаем БД
- Системную консоль не трогаем, ибо русские сообщения в journalctl нам нафиг не нужны - намучаемся потом гуглить проблемы. Явно задаем ru_RU в initdb.
- Поскольку планируем использовать pg_probackup для бэкапов, то сразу указываем --allow-group-access и включаем --data-checksums.
- Поскольку статья пишется на ноуте где занят стандартный порт 5432, то указываем альтернативный
sudo passwd postgres
sudo mkdir -p /usr/local/pgsql/data
sudo chown postgres:postgres /usr/local/pgsql/data
sudo -u postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data --allow-group-access --locale=ru_RU.UTF-8 --data-checksums
sudo -u postgres /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/logfile -o "-p 5433" start
sudo -u postgres /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/logfile -o "-p 5433" stop
Ну и ставим необходимые для 1С расширения postgres:
make -C postgresql-17.5/contrib/fulleq
sudo make -C postgresql-17.5/contrib/fulleq install
make -C postgresql-17.5/contrib/mchar
sudo make -C postgresql-17.5/contrib/mchar install
make -C postgresql-17.5/contrib/fasttrun
sudo make -C postgresql-17.5/contrib/fasttrun install
/usr/local/pgsql/bin/psql -p 5433 -U postgres
postgres=# CREATE EXTENSION mchar;
postgres=# CREATE EXTENSION fasttrun;
postgres=# CREATE EXTENSION fulleq;
postgres=# \q
На этом, собственно всё. Ждем, когда вендор пересоберет все нормально, выкинем данную статью и вернемся к классической установке через dpkg-source...
Вступайте в нашу телеграмм-группу Инфостарт