Смоленск 1.6 0000632: FATAL: Failed to set caps on main pgpool process

zigr0lf

New member
Сообщения
1
#1
Добрый день.
Pgpool2 и PostgreSQL установил из дистрибутива Astra Linux.
Когда запускаю Pgpool2 от имени root, он запускается нормально. А когда запускаю Pgpool от имени пользователя postgres, получаю следующую ошибку:

Код:
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: loading hba configuration
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DETAIL: loading file :"/etc/pgpool2/pool_hba.conf" for client authentication configuration file
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: pool_coninfo_size: num_init_children (32) * max_pool (4) * MAX_NUM_BACKENDS (128) * sizeof(ConnectionInfo) (136) = 2228224 by$
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: ProcessInfo: num_init_children (32) * sizeof(ProcessInfo) (32) = 1024 bytes requested for shared memory
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: Request info are: sizeof(POOL_REQUEST_INFO) 5224 bytes requested for shared memory
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: Recovery management area: sizeof(int) 4 bytes requested for shared memory
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: FATAL: Failed to set caps on main pgpool process
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: shmem_exit(3): 13 callbacks to make
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: proc_exit(3): 1 callbacks to make
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: exit(3)
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: shmem_exit(-1): 0 callbacks to make
Aug 16 18:39:50 db pgpool[14384]: 2020-08-16 18:39:50: pid 14384: DEBUG: proc_exit(-1): 0 callbacks to make
Задал вопрос в багтрекер Pgpool, там мне ответили, что в исходных кодах pgpool2 такой ошибки нет - похоже, что pgpool2 был кастомизирован РусБИТеХом перед встраиванием в Astra Linux.

С чем может быть связана эта ошибка?
 
Последнее редактирование:

Dim

New member
Team Astra Linux
Сообщения
39
#3
Пользователь postgres не обладает возможностью устанавливать привилегии на другие процессы.
Закомментируйте в юните /lib/systemd/system/pgpool.service строку "User=postgres" для запуска его от суперпользователя с последующим назначением привилегии Privsock, как и задумывалось разработчиком.
Планируется исправление в следующих версиях Astra Linux.