Инструмент сохранения полей — minirepro

При использовании YMatrix вы можете столкнуться с такими проблемами, как:

  • Медленные запросы
  • Ошибки выполнения запросов

При возникновении таких проблем техническая поддержка должна провести диагностику. Для эффективной диагностики ей необходимо воспроизвести среду, в которой возникла проблема. Инструмент minirepro разработан именно для этой цели. Предоставив SQL-запрос, который был выполнен, этот инструмент генерирует самодостаточный снимок среды, позволяющий инженерам воспроизвести и исследовать проблему локально.

1 Использование minirepro

Инструмент minirepro устанавливается вместе с YMatrix в $GPHOME/bin/minirepro. Инструкции по использованию можно просмотреть, выполнив:

[mxadmin@mdw ~]$ minirepro --help
Usage: minirepro <database> [options]

Options:
  --version             show program's version number and exit
  -?, --help            Show this help message and exit
  -h HOST, --host=HOST  Specify a remote host
  -p PORT, --port=PORT  Specify a port other than 5432
  -U USER, --user=USER  Connect as someone other than current user
  -q QUERY_FILE         file name that contains the query
  -f OUTPUT_FILE        minirepro output file name
  -l, --hll             Include HLL stats

WARNING: This tool collects statistics about your data, including most common
values, which requires some data elements to be included in the output file.
Please review output file to ensure it is within corporate policy to transport
the output file.

Чтобы сохранить контекст выполнения SQL-запроса с помощью minirepro, сначала сохраните SQL-запрос в файл. Например, чтобы сохранить контекст выполнения SQL-запроса SELECT * FROM data;, сохраните его в файл с именем query.sql:

[mxadmin@mdw ~]$ cat query.sql
SELECT * FROM data;

Затем выполните команду для подключения к базе данных и укажите файл запроса и выходной файл:

[mxadmin@mdw ~]$ minirepro mxadmin -h 127.0.0.1 -U mxadmin -p 5432 -q query.sql -f outfile.sql
Connecting to database: host=127.0.0.1, port=5432, user=mxadmin, db=mxadmin ...
Extracting metadata from query file query.sql ...
psql mxadmin --pset footer --no-psqlrc -Atq -h 127.0.0.1 -p 5432 -U mxadmin -f /tmp/20210729132431/toolkit.sql
Invoking pg_dump to dump DDL ...
pg_dump -h 127.0.0.1 -p 5432 -U mxadmin -sxO mxadmin --relation-oids 32820 --function-oids 0 -f /tmp/20210729132431/pg_dump_out.sql
Writing schema DDLs ...
Writing relation and function DDLs ...
Writing table statistics ...
Writing column statistics ...
Attaching raw query text ...
--- MiniRepro completed! ---
WARNING: This tool collects statistics about your data, including most common values, which requires some data elements to be included in the output file.
Please review output file to ensure it is within corporate policy to transport the output file.

Среда выполнения теперь сохранена в файле outfile.sql. Этот файл содержит определения таблиц и связанную каталогную информацию. Передайте этот файл технической поддержке для дальнейшего анализа.