YMatrix эксплуатация и обслуживание: Часто задаваемые вопросы

Документ описывает распространённые проблемы при эксплуатации и обслуживании YMatrix.


1 Забыли пароль


Описание проблемы

Забыли пароль для YMatrix.

Решение

  1. Забыли пароль базы данных
    Сбросьте новый пароль для пользователя базы данных.
    =# alter user mxadmin with password 'you password';
  2. Забыли пароль входа в графический интерфейс
    См. /etc/matrixdb/auth.conf.
    # sudo cat /etc/matrixdb/auth.conf


2 ssh_exchange_identification: Connection closed by remote host


Описание проблемы
При использовании команды gpssh или команды SSH-входа возникает следующая ошибка:

ssh_exchange_identification: Connection closed by remote host

Анализ проблемы

Количество SSH-соединений превысило лимит.

Решение

  1. Откройте файл конфигурации sshd целевого сервера
    # vim /etc/ssh/sshd_config
  2. Найдите параметр конфигурации MaxStartup

Значение параметров:  
`MaxStartup` тройной формат 10:30:60  
10: При достижении 10 соединений соединения начинают отклоняться, но не все.  
30: При достижении 10 соединений существует вероятность отклонения последующих соединений.  
60: При достижении 60 соединений все последующие соединения отклоняются.
  1. Измените параметры и удалите #, MaxStartup 30:30:60.
  2. Перезапустите службу sshd
    systemctl restart sshd 
    # or
    service sshd restart
  3. Повторно войдите через SSH.


3 psql: WARNING: database "testdb" must be vacuumed within 529926866 transactions (seg35 192.168.247.129:6005 pid=448116)


Лог

psql: WARNING:  database "testdb" must be vacuumed within 529926866 transactions  (seg35 10.162.115.5:6005 pid=448116)
HINT:  To avoid a database shutdown, execute a database-wide VACUUM in that database.
You might also need to commit or roll back old prepared transactions, or drop stale replication slots.
VACUUM

Анализ проблемы

Возраст транзакции превысил лимит.

Решение

$ psql -d testdb -c "vacuum freeze;"


4 could not read block 3684552 of temporary file


Описание проблемы

При выполнении SQL-запросов возникает следующая ошибка:

could not read block 3684552 of temporary file: read only 0 of 8192 bytes

Анализ проблемы

  1. Проблемы, связанные с диском, возникают при недостатке ресурсов сервера во время вычислений SQL.
  2. Эта ошибка также возникает при сбоях диска во время выполнения SQL-вычислений.

Решение

  1. Используйте следующую команду для наблюдения за использованием диска в реальном времени во время выполнения SQL.
    du -sh 
  2. Используйте команду journalctl для поиска информации об ошибках диска.
    // View the total save size of journalctl logs
    journalctl --disk-usage
    // View logs after 20:20 pm on March 30, 2023
    journalctl --since "2023-03-30 20:20:00"
    // View all logs from 00:00:00 on March 1, 2023 to 00:00:00 on March 31, 2023
    journalctl --since "2023-03-01 00:00:00" --until "2023-03-31 00:00:00"
    // You can use "yesterday", "today", "tomorrow" or "now" to get the time period of logs
    journalctl --since yesterday
    // Get the log after 2023-03-25 Save it to the local disk
    journalctl --since "2023-03-25 00:00:00"  > journalctl.log
    // Find logs about disk errors in journalctl.log log
    cat journalctl.log|grep "I/O"


5 Может ли YMatrix изменить имя хоста сервера (Hostname)?


Да.

  1. Измените /etc/hosts
    Создайте резервную копию файла /etc/hosts.

    cp /etc/hosts /tmp/hosts_bak

    Измените имя хоста YMatrix в файле /etc/hosts.

  2. Измените метаданные YMatrix
    Переключитесь на пользователя.

    $ su - mxadmin

    Остановите YMatrix.

    $ mxstop -af

    Запустите мастер-узел YMatrix.

    $ mxstart -m

    Перейдите в командную строку YMatrix и выполните команду.

    PGOPTIONS='-c gp_session_role=utility' psql -U mxadmin postgres
    set allow_system_table_mods='ture';
    update gp_segment_configuration set hostname=<Host name after change>,address=<Host name after change> where address=<original host name>;

    Остановите YMatrix.

    $ mxstop -mf

    Запустите YMatrix.

    $ mxstart -m
  3. Измените информацию мониторинга YMatrix

Для развертывания мониторинга Grafana выполните следующие действия:

psql -d matrixmgr
matrixmgr=# SELECT mxmgr_remove_all('local');
matrixmgr=# truncate local.matrix_manager_config;
matrixmgr=# SELECT mxmgr_init_local();

Измените информацию, связанную с именем хоста, в dashboard.json.
Например, если исходное имя хоста было dw1, а после изменения — sdw1, необходимо заменить все вхождения dw1 на sdw1 в dashboard.json и повторно импортировать дашборд.

Для развертывания мониторинга Prometheus выполните следующие действия:

matrixmgr=# SELECT mxmgr_remove_exporter();
matrixmgr=# SELECT mxmgr_remove_gate_exporter();
matrixmgr=# truncate local.matrix_manager_config;
matrixmgr=# SELECT mxmgr_init_exporter();


6 Ошибка запуска базы данных FATAL: database "postgres" does not exist


Анализ проблемы

Хост определён как абсолютный, кластер не запускается после перезагрузки. Проверьте лог базы данных — возникает ошибка:

FATAL","3D000","database ""postgres"" does not exist","The database subdirectory ""base/13376"" is missing

Проверьте соответствующую директорию и обнаружите, что директория 13376 отсутствует.

Проблема повторяется

  1. Создайте кластер

  2. Остановите кластер

    [mxadmin@mdw3 base]$ mxstop -af
  3. Удалите или измените директорию 13376

    [mxadmin@mdw3 base]$ mv 13376 13376bak
  4. Запустите кластер

    [mxadmin@mdw3 ~]$ mxstart -a  
    2023-05-24:23:26:50.264 mxstart:mxadmin:mdw3:017121-[INFO]:-Starting MatrixDB cluster with: [no-prompt:true].  
    2023-05-24:23:26:50.264 mxstart:mxadmin:mdw3:017121-[INFO]:-Connecting to physical cluster's etcd cluster ...  
    2023-05-24:23:26:50.269 mxstart:mxadmin:mdw3:017121-[INFO]:-Connected to physical cluster's etcd cluster: [http://192.168.8.28:4679].  
    2023-05-24:23:26:50.269 mxstart:mxadmin:mdw3:017121-[INFO]:-Collecting database cluster ID ...  
    2023-05-24:23:26:50.269 mxstart:mxadmin:mdw3:017121-[INFO]:-Collected database cluster ID: AuWFhsrjyywC4xfMahgyor  
    2023-05-24:23:26:50.271 mxstart:mxadmin:mdw3:017121-[INFO]:-Collecting cluster info ...  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:----------------------------  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-Master instance parameters  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:----------------------------  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-Master Host         = mdw3  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-Master Port         = 5432  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-Master Directory    = /mxdata_20230514185455/master/mxseg-1  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:----------------------------------------  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-Segment instances that will be started  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:----------------------------------------  
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-Host   Port    DataDir                                 Role      
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-mdw3   6000    /mxdata_20230514185455/primary/mxseg0   PRIMARY   
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-mdw3   6001    /mxdata_20230514185455/primary/mxseg1   PRIMARY   
    2023-05-24:23:26:50.272 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:50.275 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:50.603 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [1/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:51.605 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:51.608 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:51.748 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [2/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:52.749 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:52.752 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:52.781 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [3/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:53.782 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:53.785 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:53.906 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [4/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:54.907 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:54.912 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:54.933 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [5/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:55.933 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:55.936 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:55.958 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [6/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:56.958 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:56.961 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:57.085 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [7/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:58.086 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:58.089 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:58.114 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [8/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:26:59.115 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:26:59.118 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:26:59.140 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [9/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:27:00.140 mxstart:mxadmin:mdw3:017121-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...  
    2023-05-24:23:27:00.143 mxstart:mxadmin:mdw3:017121-[INFO]:-Send start to cluster service  
    2023-05-24:23:27:00.299 mxstart:mxadmin:mdw3:017121-[INFO]:-Retry start for [10/10], caused by rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000)).  
    2023-05-24:23:27:00.301 mxstart:mxadmin:mdw3:017121-[ERROR]:-MatrixDB cluster start failed: 'rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000))'. Please confirm database cluster has been deployed.  
    Error: rpc error: code = Unknown desc = query segments_configuration on master failed failed to connect to `host=mdw3 user=mxadmin database=postgres`: server error (FATAL: database "postgres" does not exist (SQLSTATE 3D000))  
  5. Проверьте логи

Решение

  1. Сбой хоста привёл к потере файлов библиотеки postgres мастер-узла. Если в кластере есть Standby, переключите его на роль Master и перестройте Standby.
  2. При отсутствии конфигурации Standby, если потеряны только файлы библиотеки postgres, скопируйте файлы библиотеки с других узлов на мастер-узел без записи в бизнес-таблицы.

Примечание!
Рекомендуется настроить полную конфигурацию Standby и Mirror [политику зеркалирования] (/ru/doc/latest/reference/mirror_distribution_policy) для обеспечения безопасной и доступной работы кластера.


7 rpc error: code = Unknown desc = primary not found in shard state


Описание проблемы

Ошибка при выполнении mxstart -a:

2023-05-31:16:03:25.325 mxstart:mxadmin:mdw:026098-[INFO]:-Retry start for [9/10], caused by rpc error: code = Unknown desc = start shard 1, rpc error: code = Unknown desc = primary not found in shard state.
2023-05-31:16:03:26.326 mxstart:mxadmin:mdw:026098-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait ...
2023-05-31:16:03:26.335 mxstart:mxadmin:mdw:026098-[INFO]:-Send start to cluster service
2023-05-31:16:03:26.716 mxstart:mxadmin:mdw:026098-[INFO]:-Retry start for [10/10], caused by rpc error: code = Unknown desc = start shard 1, rpc error: code = Unknown desc = primary not found in shard state.
2023-05-31:16:03:26.721 mxstart:mxadmin:mdw:026098-[ERROR]:-MatrixDB cluster start failed: 'rpc error: code = Unknown desc = start shard 1, rpc error: code = Unknown desc = primary not found in shard state'. Please confirm database cluster has been deployed.
Error: rpc error: code = Unknown desc = start shard 1, rpc error: code = Unknown desc = primary not found in shard state

Анализ проблемы

  1. Произошёл двойной сбой в кластере, из-за чего он не может запуститься.

Решение

  1. Используйте инструмент mxpacklogs для сбора логов и передайте их нашим сотрудникам предпродажной/послепродажной поддержки для анализа.


8 Ошибка при выполнении mxaddmirrors: развертывание и добавление Mirror


Сообщение об ошибке

[mxadmin@mdw ~]$ mxaddmirrors setup --plan-file /tmp/mxaddmirrors.plan --mode cli
[20230606:14:37:04][INFO] start: create_user_and_directories on 3 hosts
[20230606:14:37:04][INFO] done
[20230606:14:37:05][INFO] start: initialize_deployer on 1 host
[20230606:14:37:06][INFO] done
[20230606:14:37:06][INFO] start: reg_mirrors on 1 host
[20230606:14:37:06][INFO] done
[20230606:14:37:06][INFO] start: init_mirrors on 3 hosts
[20230606:14:37:06][ERROR] init_mirrors: rpc error: code = Unknown desc = error execute "/opt/ymatrix/matrixdb5/bin/pg_basebackup"

STDERR:
    pg_basebackup: error: could not connect to server: FATAL:  no pg_hba.conf entry for replication connection from host "192.168.247.131", user "mxadmin", SSL off

[20230606:14:37:06][INFO] revert start: init_mirrors on hosts
[20230606:14:37:06][INFO] revert done
[20230606:14:37:06][INFO] revert start: reg_mirrors on hosts
[20230606:14:37:06][INFO] revert done
[20230606:14:37:06][INFO] revert start: initialize_deployer on hosts
[20230606:14:37:13][INFO] revert done
[20230606:14:37:13][INFO] revert start: create_user_and_directories on 3 hosts
[20230606:14:37:13][INFO] revert done
Error: do execute: deploy rpc: rpc error: code = Unknown desc = deployer execute: rpc error: code = Unknown desc = error execute "/opt/ymatrix/matrixdb5/bin/pg_basebackup"

STDERR:
    pg_basebackup: error: could not connect to server: FATAL:  no pg_hba.conf entry for replication connection from host "192.168.247.131", user "mxadmin", SSL off

Решение

  1. Найдите файл pg_hba.conf на всех узлах segment и добавьте разрешения в белый список
    ` for i in find /mxdata_20230606142513/ -name pg_hba.conf ; do echo "host all all 0.0.0.0/0 md5" >>$i; done`
  2. Reload the configuration file
    
    mxstop -u  
    ``


9 ERROR: replication slot "internal_wal_replication_slot" already exists


Сообщение об ошибке

Error: do execute: deploy rpc: rpc error: code = Unknown desc = deployer execute: rpc error: code = Unknown desc = error execute "/opt/ymatrix/matrixdb5/bin/pg_basebackup"

STDERR:
    pg_basebackup: error: could not send replication command "CREATE_REPLICATION_SLOT "internal_wal_replication_slot" PHYSICAL RESERVE_WAL": ERROR:  replication slot "internal_wal_replication_slot" already exists

Решение

  1. Запросите информацию о подключениях узлов Segment
    =# SELECT E'PGOPTIONS=\'-c gp_role\=utility\' psql -h ' ||hostname ||' -p ' ||port  FROM gp_segment_configuration where content<>-1;
                       ?column?                       
    ----------------------------------------------------------------------------------------------------------------------------------
    PGOPTIONS='-c gp_role=utility' psql -h sdw3 -p 6000
    PGOPTIONS='-c gp_role=utility' psql -h sdw2 -p 6000
    PGOPTIONS='-c gp_role=utility' psql -h sdw1 -p 6000
    (3 rows)
  2. Войдите на узел, указанный в выводе первого шага, и проверьте информацию slot
    SELECT * FROM pg_replication_slots ;
  3. Войдите на узел, указанный в выводе первого шага, и удалите slot
    SELECT pg_drop_replication_slot('internal_wal_replication_slot');


10 ERROR: interconnect Error: Could not set up tcp listener socket


Сообщение об ошибке

**** con19047721,,seg14,,sx1,"FATAL","58M01","interconnect Error: Could not set up tcp listener socket","bind: Address already in use",,,,0,,"ic_tcp.c",293,
**** con19047731,,seg14,,sx1,"FATAL","58M01","interconnect Error: Could not set up tcp listener socket","bind: Address already in use",,,,0,,"ic_tcp.c",293,
**** con19047723,,seg14,,sx1,"FATAL","58M01","interconnect Error: Could not set up tcp listener socket","bind: Address already in use",,,,0,,"ic_tcp.c",293,

Анализ проблемы

  1. Используя journalctl, мы обнаружили, что NetworkManager постоянно перезапускает службу dhclient, что вызывает прерывание сети во время перезагрузки.

    NetworkManager[2285]: <info>  [1691711564.7553] device (ens10f0): state change: config -> ip-config (rea
    NetworkManager[2285]: <info>  [1691711564.7562] dhcp4 (ens10f0): activation: beginning transaction (time
    NetworkManager[2285]: <info>  [1691711564.7599] dhcp4 (ens10f0): dhclient started with pid 88186
    dhclient[88186]: DHCPDISCOVER on ens10f0 to 255.255.255.255 port 67 interval 6 (xid=0x34e8d695)
    dhclient[88186]: DHCPDISCOVER on ens10f0 to 255.255.255.255 port 67 interval 12 (xid=0x34e8d695)
  2. В CentOS 7 существуют две службы, связанные с настройкой сети: network и NetworkManager, которые настраиваются через статический сетевой интерфейс, тогда как NetworkManager — это динамическая служба для управления сетью. Однако при одновременном запуске этих двух служб возникают конфликты. NetworkManager очищает маршруты при отключении сети, что приводит к потере соединения.

  3. Проверьте панель NetStat в мониторинге для просмотра использования подключений.

Решение

  1. Отключите службу NetworkManager
    systemctl stop NetworkManager  
    systemctl disable NetworkManager
  2. Проверьте, не осталось ли открытых подключений от других приложений.


11 Как добавить белый список перед использованием инструмента mxshift для миграции?


Просто настройте целевой IP-диапазон в файле pg_hba на исходном мастер-узле.


12 Если я использую инструмент mxshift в изолированной сети, какие порты необходимо открыть?


  • База данных источника: Если disable-connector = false не настроен, для соответствующего первичного экземпляра на узле сегмента базы данных источника будет сгенерирован случайный порт; если он настроен как true, система выделит порты на основе конфигурации первичных экземпляров, заданной при инициализации кластера источника.
  • База данных назначения: YMatrix откроет случайный порт в базе данных назначения. Если необходимо задать его вручную, следует изменить переменные окружения: export MXSHIFT_WORKER_PORT_BASE = <port number>, а также указать метод сжатия в конфигурационном файле --compress-method. Включение сжатия позволит после повторного запуска mxshift отображать диапазон портов в журнале выполнения. Максимальное значение в диапазоне зависит от степени параллелизма и количества сегментов.


13 index ron requires 19160 bvtes, maximum size is 8191


Сообщение об ошибке

java. lang.RuntimeException: org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 Internal Server Error:
[ERROR: index row requires 19160 bytes, maximum size is 8191 (seg35 10.17.8.132:6012 pid=15508) (SQLSTATE 54000)]

Анализ проблемы

Превышено ограничение на количество строк для индекса btree.

postgres=# CREATE TABLE test ( x text ) DISTRIBUTED BY(x);
CREATE TABLE
Time: 26.768 ms

postgres=# INSERT INTO test(x) VALUES ( repeat('x', 900000) );
INSERT 0 1
Time: 16.707 ms

postgres=# CREATE INDEX test_x ON test USING btree(x);
ERROR:  index row requires 10328 bytes, maximum size is 8191  (seg0 172.16.172.148:6000 pid=21674)
Time: 16.257 ms

postgres=# CREATE INDEX test_x ON test USING brin(x);
CREATE INDEX
Time: 19.866 ms

Решение

Уменьшите длину поля или замените индекс другим.