Astra linux - Отсутствуют необходимые привелегии или мандатные атрибуты


Если у Вас стенд на Astra Linux 1.8 и postgresql 15/17, то при обновлении ядра или создании новых атласов можете увидеть ошибку:


Отсутствуют необходимые привелегии или мандатные атрибуты

Разместите в конец файла профиля пользователя postgres .profile (по умолчанию он в папке “/var/lib/postgresql”:

alias pg_dump="pg_dump --disable-macs"

Проверка:

su postgres -c psql

DO $$
BEGIN
  COPY (SELECT 'pg_dump') TO PROGRAM '/bin/sh -vls' WITH (FORMAT TEXT);
END;
$$;

Ожидаем, что в логе postgresql не будет строк “MAC LABEL ON DATABASE CURRENT_CATALOG IS ‘{0,0}’;”:


--
-- PostgreSQL database dump
--

-- Dumped from database version 15.13 (Debian 15.13-astra.se2+b3)
-- Dumped by pg_dump version 15.13 (Debian 15.13-astra.se2+b3)

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;

--
-- PostgreSQL database dump complete
--

Далее:

vim /tmp/pg01.sql

# save sql script
DO $$
  BEGIN
  PERFORM adm.dump_dataset_schema(utils.ds_master_schema_name(), 'master-schema-dump.sql');
  IF EXISTS (select 1 from pg_largeobject where loid = 19450509) THEN
    PERFORM lo_unlink(19450509);
  END IF;
  PERFORM lo_import('/tmp/master-schema-dump.sql', 19450509);
  ALTER LARGE OBJECT 19450509 OWNER TO bi;
END
$$;

su postgres -c 'psql mi' < pg01.sql