• Как хранятся индексы в postgresql и mysql?

    Melkij
    @Melkij
    Индекс это индекс, первичный отличается только тем что он указывает на уникальность записи

    А вот как раз в innodb - не только этим различается.
    В innodb вся таблица - это и есть primary key, все прочие колонки лежат в листьях этого дерева. Каждый вторичный индекс хранит значение primary key и именно по нему находит строку данных в таблице.

    Если на таблице не объявлен primary key явный, то используется неявный 6-байтовый указатель, но таблица по-прежнему вот такая индекс-ориентированная.
    https://dev.mysql.com/doc/refman/8.0/en/innodb-ind...
    Написано
  • Какой размер кэш процессора на одно ядро?

    Melkij
    @Melkij
    Что значит "примерно" и какой именно из L1?
    Написано
  • Как добавить ключевое слово в вывод log в PostgreSQL?

    Melkij
    @Melkij
    Строка выглядит как log_destination=csvlog. Этот формат захардкожен и не меняется.
    Написано
  • Potsgres 13 - как реализовать систему Master-Master?

    Melkij
    @Melkij
    Потому что не реализовано то, что под этим подразумеваете. Кто говорит в прессрелизах "у нас мультимастер" - внимательно изучайте, что именно этим называют и от какой буквы CAP при этом отказались. Если для вашей задачи именно такие сюрпризы не важны - то сможете успешно пользоваться. А в общем, мультимастер - это философский камень мира СУБД.
    Написано
  • Как определить источник нагрузки на процессор?

    Melkij
    @Melkij
    Чтобы узнать что произошло вчера - нужен какой-либо мониторинг, запущенный не позднее чем вчера. Чем больше полезного снимает мониторинг - тем будет выше вероятность восстановить картину происходившего (именно вероятность, даже с весьма развесистым мониторингом результатом изысканий всё равно может быть "да хз что это было").
    Для вашего вопроса, например, нужны графики по количеству запросов, потреблению CPU backend'ов каждого из сайтов по отдельности, если дальше есть база/мемеш/редис/etc - то специфичные метрики с них
    Написано
  • Какой минимальный процессор можно взять под виртуалки?

    Melkij
    @Melkij
    я не понял в чём проблема будет у виртуалки с одним ядром cpu. Огромная толпа VPS в мире на младших тарифах предлагает только одно ядро CPU и ничего, кто-то даже прод запускает. Что уж говорить о лаборатории для обучения.
    Следующее, "сделать виртуалку с 2 CPU" и "только этой виртуалке выделены два ядра CPU монопольно" - это две очень большие разницы. Для учебной лаборатории какие проблемы? Только 4 cpu на гипервизоре? Ну и что, создали десяток виртуалок, каждой пообещали по 4 ядра. Лишь бы памяти хватало. Если, имея только 4 ядра физических, запустить что-то в 6 потоков тяжёлых вычислений - они будут замедлять друг друга. Ну и в чём тут проблема для тестовой лаборатории?

    Потом, если поймёте что это ваша тема и вам интересно копать дальше, будете уже и понимать, какие ресурсы вам нужны для дальнейших экспериментов.
    Написано
  • Как сформировать календарь периодов по неделям в разрезе месяцев?

    Melkij
    @Melkij
    select d, greatest(date_trunc('week', d), date_trunc('month', d)) as first_day, least(date_trunc('week', d) + interval '6days', date_trunc('month',d) + interval '1 month -1 day') as last_day from generate_series('2021-03-01', '2021-05-01', interval '1 day') as d;

    так?
    Написано
  • Как сформировать календарь периодов по неделям в разрезе месяцев?

    Melkij
    @Melkij
    То есть, если неделя находится на стыке месяца/года, то она должна разделяться на 2 отдельные строки, с указанием периода недели в первом месяце/году, и остальной частью периода недели в следующем месяце/году.

    Обычно недели как раз рассматриваются как цельная сущность и это более чем нормально, когда 1 января 2023 года - это 52 неделя 2022 года.
    Написано
  • Почему тип столбца xml не проверяет входное значение?

    Melkij
    @Melkij
    и в чём разница, если это одна и та же input функция? Можно переписать в create table с insert'ами, букв куда больше, а результат не поменяется.
    Написано
  • Как выяснить причину "выпадания" ssd nvme из системы при копировании на него больших файлов?

    Melkij
    @Melkij
    запустите sudo dmesg --follow , потом спровоцируйте I/O error.
    Попробуйте переставить во другой слот M.2, судя по спецификации материнки, их у вас два и оба могут принять PCI-E устройство.
    Возможно, доступны обновления прошивки накопителя, где что-нибудь полезное было исправлено
    Ну и температуры смотреть

    Надо ли упоминать "забекапьте лишний раз всё важное" или и так понятно?
    Написано
  • Как правильно очищать archived WAL логи PostgreSQL?

    Melkij
    @Melkij
    LSN только монотонно растёт и однозначно сопоставляется с именем WAL файла. Поэтому если не делать специально чего-то сильно странного, то да, только по имени можно судить о возрасте этого сегмента и его необходимости для восстановления. Собственно, именно по имени restore_command и запрашивает сегменты WAL.
    Написано
  • Как скопировать данный из RAID 1 диска?

    Melkij
    @Melkij
    есть диск, на котором есть данные

    были данные.
    Поскольку это не простые CMR HDD - то далеко не факт, что данные вообще где-то сохранились, даже если на накопитель больше не было записи.

    А если вы понимаете, что такое и для чего нужен raid1 - то зачем его упоминание в вопросе? Вы ведь должны тогда понимать, что вопрос "как восстановить по ошибке удалённые данные" практически не имеет отличий, был там raid1 или сразу устройство. Зато первичное важное - файловую систему - вы вовсе не назвали.
    Написано
  • Какую SQL базу данных под Linux лучше использовать с FTP через FUSE?

    Melkij
    @Melkij
    используй nfs/samba или иной протокол сетевых файловых систем. в них есть функциональность доступа к части файла. в них есть работа с частями файла, что используется в базах данных.

    и всё равно огромные вопросы к durability на уровне "никогда не пытайтесь запускать базу на nfs"
    Написано
  • Почему после востановления из бекапа появляется таблица которой не было в базе?

    Melkij
    @Melkij
    значит эта таблица была в test3 до вызова pg_restore

    PS: какой смысл вы хотели получить от откровенно бесполезного если не сказать вредного -F t ?
    Написано
  • Как решить проблему с индексами в timescale?

    Melkij
    @Melkij
    Для начала, конечно, поставить минорные обновления и проверить, сохраняется ли проблема на актуальных версиях.

    pg_stat показывал много запросов одинаковых в state=idle

    state=idle по своему определению не выполняет никакого запроса. Показывает последний выполненный когда-то в прошлом.

    А потом, если это оказалось живой проблемой, не исправленной уже в дальнейших обновлениях, собираете нормальные симптомы вместо невнятного "сервер падает".
    Написано
  • Как проверить бекап postgres что он не битый?

    Melkij
    @Melkij
    Посмотрите в документации того, чем вы запускаете pg_dump. Я не узнаю такой стиль конкатенации строк и затрудняюсь угадать что это.
    В bash код возврата предыдущей команды сохраняется в $?
    Написано
  • Как проверить бекап postgres что он не битый?

    Melkij
    @Melkij
    так код возврата.
    И то что stderr пуст. Ненормальный размер результирующего файла тоже вполне неплохая дополнительная проверка, да.

    мой PS был про права доступа, от сохранения которых вы почему-то отказываетесь через --no-owner --no-privileges
    -F plain , конечно, тоже дискуссионен сам по себе
    --no-tablespaces скорей всего tablespaces у вас всё равно нет, а --no-unlogged-table-data - ну тут на усмотрение. В unlogged таблицах конечно не должно быть ничего что нельзя в любой момент безвозвратно потерять.
    цель --verbose просто непонятна, но раз хочется - то сомнительных моментов от этого не вижу
    Написано
  • Домен покупают или арендуют?

    Melkij
    @Melkij
    для этого потребовалось бы бесконечно много времени и бесконечно много памяти.

    на самом деле вполне конечное. У нас есть определённое верхнее ограничение в 63 байта на label. Далее RFC требует быть case-insensitive и разрешает использовать только a-z, 0-9, и -
    То есть в каждой доменной зоне возможно большое, но всё-таки конечное число доменов.
    Написано
  • Как правильно настроить партиции в pgsql?

    Melkij
    @Melkij
    что нужно сделать, чтобы ошибки не сыпались?

    Может быть, прочитать текст ошибки? При необходимости, перевести на другой язык.
    Обе ошибки - не какие-то загадочные глубины внутренностей субд, а намеренно предназначены чтобы быть прочитанными разработчиком приложения, то есть вами, если это ваш код.
    Написано