• Как отключить автоматическую перезагрузку Windows 10 для установки обновлений?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Планировщик заданий - Библиотека планировщика заданий - Microsoft - Windows - UpdateOrchestrator - Reboot - ПКМ - Отключить
    Ответ написан
    Комментировать
  • Как составить ассоциацию squelize один к одному?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Как составить ассоциацию squelize один к одному?

    В MySQL связи "один к одному" не существует в принципе. Точнее, такая связь нереализуема на изменяемом наборе данных. Неважно, напрямую или через какой-либо ORM, включая и Sequelize.

    Возможна только реализация связи "один к (ноль либо один)".
    Ответ написан
    Комментировать
  • Как обезопасить id SERIAL для корректной работы без промежутков значений?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Примите постулат:

    Никто не должен видеть значений автоинкрементного синтетического ключа, кроме самого сервера.

    AI PK существует только и исключительно для правильной работы встроенной подсистемы СУБД, осуществляющей контроль целостности и непротиворечивости данных. Попытка возложить на такое поле ещё какую-то функцию, тем более функцию, в результате выполнения которой значения этого поля станут видны пользователю (ещё хуже - если эти значения станет необходимо видеть пользователю), немедленно порождает проблемы.
    Причём порождаемые проблемы никак не связаны с основной функцией поля - вот какое пользователя собачье дело, последовательны значения или с разрывами? разрывы влияют на уникальность? нет... или они нарушают нормальную работу ссылочной целостности? нет... или они...? нет... А вся претензия в одном - типа "некрасиво". Аргумент для дураков - потому как значение в таблице БД, а некрасивость в выводе на экран, осуществляемом клиентским приложением. Но если даже отсутствие логики не препятствие, так вон тут рядом советовали - заводишь отдельное поле, в него "свой какой-то счётчик" программный, и поддерживай свою непрерывность хоть до посинения! тем более что сейчас найти (актуальную версию любой) СУБД, не поддерживающую CTE, ROW_NUMBER(), тем более ORDER BY - без шансов.
    Ответ написан
    4 комментария
  • Как в sqlalchemy 2.0 добавить запись в таблицу с учётом других таблиц?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Ну, скажем, так:
    INSERT INTO Заказ (ПоставщикID, КлиентID, АдминистраторID, {остальные поля})
    VALUES (
        (SELECT ПоставщикID FROM Поставщик WHERE Имя = 'Василий Пупкин'),
        (SELECT КлиентID FROM ...),
        (SELECT АдминистраторID FROM ...),
        {остальные значения}
    )

    А на свой фреймворк отображайте самостоятельно...
    Ответ написан
    Комментировать
  • Server 2019 на стационарный пк. возможно ли это?

    @Akina
    Сетевой и системный админ, SQL-программист.
    возможно ли это?

    Да. Но строго x64 - под x86 на эту матерь дров нет и не предвидится.
    Хотя я бы рекомендовал натянуть какой-нить VMM (ESX, Hyper-V и т.п.), а в нём уже виртуалку с сервером.

    как драйвера ставить?

    Как обычно. Либо накачав с вендора (брать дрова для W10), либо через MS UPDATE catalog по ven&dev.
    Ответ написан
    9 комментариев
  • На основании чего PostgreSQL сортирует данные в JSONField?

    @Akina
    Сетевой и системный админ, SQL-программист.
    С точки зрения Постгресса JSON - это текст. И никакой сортировки там не наблюдается. Что положил, то и обратно получил. Что, кстати, позволяет хранить в поле данного типа не соответствующие стандарту значения с дубликатами имён свойств (см. fiddle, последнюю запись).
    Вот JSONB - это уже бинарная строка во внутреннем формализованном формате. И такое кодирование предусматривает в том числе сортировку по ключам в лексикографическом порядке как бинарной строки (binary collation).
    fiddle
    Ответ написан
    Комментировать
  • Как составить sql запрос?

    @Akina
    Сетевой и системный админ, SQL-программист.
    WITH
    cte AS (
      SELECT *, ROW_NUMBER() OVER (PARTITION BY document_id ORDER BY job_id DESC) rn
      FROM my_table
      )
    SELECT document_id, job_id, person_id
    FROM cte 
    WHERE rn = 1;

    И в качестве бонуса
    SELECT DISTINCT 
           document_id,
           MAX(job_id) OVER (PARTITION BY document_id) job_id,
           FIRST_VALUE(person_id) OVER (PARTITION BY document_id ORDER BY job_id DESC) person_id
    FROM my_table
    Ответ написан
    Комментировать
  • Как соединить интернет класс с сервером?

    @Akina
    Сетевой и системный админ, SQL-программист.
    16 ноутбуков с выходом в интернет. Если подключить к коммутатору, то IP адресов не хватает. Думаю как-нибудь через маршрутизатор подключить, но пока не знаю, как это сделать и какой маршрутизатор для этого подходит. Маршрутизатор будет получать IP адрес от сервера школы.

    Иными словами, в качестве маршрутизатора в инет и одновременно DHCP-сервера выступает этот самый "сервер школы".
    Соответственно решение - на сервере в настройках DHCP-сервера создать ещё один скоп /27 или шире, и смаршрутизировать его в интерфейс/VLAN, через который подключается коммутатор класса.
    Задача должна решаться администратором, а не первым попавшимся под руку неспециалистом.
    Ответ написан
    2 комментария
  • Как сделать дополнительную выборку записей?

    @Akina
    Сетевой и системный админ, SQL-программист.
    WITH 
    cte AS (
        SELECT * , 
               ROW_NUMBER() OVER (ORDER BY `date` DESC, id DESC) rn, 
               DENSE_RANK() OVER (ORDER BY `date` DESC, id DESC) dr
        FROM `list` 
        WHERE user='1' 
        )
    SELECT *
    FROM cte
    WHERE dr <= (
        SELECT dr
        FROM cte
        WHERE rn = 25
        )

    Версия сервера: 5.6.51 - MySQL Community Server (GPL)

    SELECT *
    FROM `list`
    WHERE user='1' 
      AND `date` >= (
        SELECT `date`
        FROM 'list'
        WHERE user='1' 
        ORDER BY `date` DESC, id DESC LIMIT 24, 1
    )
    Ответ написан
    4 комментария
  • JSON_REMOVE меняет порядок ключей?

    @Akina
    Сетевой и системный админ, SQL-программист.
    есть поле в таблице с JSON, в нем важен порядок ключей.

    Бред сивой кобылы. Согласно стандарту, свойства в объекте не имеют такой характеристики как относительный порядок. Они являются ключами коллекции - поэтому, кстати, ещё и не могут дублироваться.

    Кстати, сразу понятно, что поле имеет текстовый тип данных, а не JSON. Иначе бы эффект изменения порядка ключей в текстовом представлении JSON давно бы вылез.

    Если такой порядок важен - следует использовать массив, а не объект.
    Ответ написан
  • Таблица маршрутизации?

    @Akina
    Сетевой и системный админ, SQL-программист.
    1. В сети может быть несколько маршрутизаторов, и разные конечные узлы могут быть доступны через разные маршрутизаторы. Таблица позволяет знать, через кого слать трафик.
    2. На компьютере может быть несколько внешних сетевых интерфейсов (а ещё есть localhost), и разные конечные узлы могут быть доступны через разные интерфейсы. Таблица позволяет знать, через кого слать трафик.
    Ответ написан
    Комментировать
  • Почему может не работать запрос с left join в postgresql?

    @Akina
    Сетевой и системный админ, SQL-программист.
    там, где нет записи в таблице other_table будет стоять null.

    Ну вот теперь подумай - как на этот NULL среагирует where other_table."order_id"=10?

    .. on gs=other_table."date" AND other_table."order_id"=10;
    Ответ написан
    Комментировать
  • Как пофиксить ошибку Incorrect TIMESTAMP value?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Если значение поля с типом TIMESTAMP некорректно (а пустая строка - это некорректное значение) - надо заменить его на корректное.
    • Если поле NULLable - то например на NULL.
    • Если настройки допускают нулевую дату - то на `0000-00-00 00:00:00`.
    • Иначе - на некое предопределённое значение. В зависимости от смысла поля - либо в далёком прошлом, либо в столь же далёком будущем.
    Ответ написан
    Комментировать
  • Как сохранить порядок номеров в запросе?

    @Akina
    Сетевой и системный админ, SQL-программист.
    SELECT * 
    FROM table 
    WHERE id IN (7, 8, 5, 4, 1)
    ORDER BY FIND_IN_SET(id, '7,8,5,4,1');
    Ответ написан
    Комментировать
  • SQLite Как выбрать записи, текстовое поле которых содержит подстроку, регистронезависимо?

    @Akina
    Сетевой и системный админ, SQL-программист.
    LIKE регистронезависим.
    GLOB регистрозависим.
    REGEXP - как напишешь регулярку, так и будет.
    Ответ написан
    Комментировать
  • Как хранятся индексы в postgresql и mysql?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Прочитал, что в mysql в движке innodb индексы делятся на два больших типа - первичный и вторичный

    Понятия первичного и вторичного индексов никак не связаны с СУБД. И это не типы индексов по большому счёту. Просто первичный - однозначно идентифицирует запись (что определяется ограничениями на значение выражения и используемых в нём полей), тогда как вторичный - всего лишь может использоваться для однозначной идентификации, но лишь при условии, что он отвечает всем требованиям-ограничениям для первичного.

    В InnoDB - всего лишь есть дополнение, что при наличии первичного индекса он является также и кластерным. Для других движков и других СУБД такой зависимости может и не быть.

    кластеризованный, как написано хранится с данными

    Не-а. Кластерный индекс - это когда записи в теле таблицы (т.е. сами данные таблицы) хранятся в порядке сортировки по выражению этого кластерного индекса.

    Всегда ли не кластиризованные индексы хранятся в оперативной памяти или это как-то можно регулировать?

    Индексы всегда хранятся на диске. В оперативной памяти индексы могут всего лишь кэшироваться. Для ускорения доступа.

    Я слышал что индексы должны быть в пределах мегабайт, а не гигабайт.

    Или не о том слышал, или не так понял. Индексы никому и ничего не должны по части своего размера, который определяется суммарным размером данных индексного выражения, количеством записей и коэффициентом заполнения.

    Читал, что бывает так, что индекс в таблице индекса хранит сразу данные определенных столбцов, а не ссылки на эти строки в основной таблице.

    Вероятно, речь про INCLUDE-предложение в структуре индекса, имеющееся, например, в SQL Server... т.е. значения полей хранятся в выражении индекса как дополнительные данные, и не используются при сортировке.
    Ответ написан
    Комментировать
  • Как объединить запросы?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Два LEFT JOIN, условие связывания - по id и определённому значению типа.
    Ответ написан
    Комментировать
  • Как составить запрос на выборку авторов в SQL?

    @Akina
    Сетевой и системный админ, SQL-программист.
    SELECT *
    FROM Author
    WHERE NOT EXISTS (
        SELECT NULL
        FROM Book
        WHERE Author.Authorld = Book.Authorld
          AND Book.PublishDateTime >= CURRENT_DATE - INTERVAL 2 YEAR
        )
    Ответ написан
  • Как правильно построить запрос в БД?

    @Akina
    Сетевой и системный админ, SQL-программист.
    SELECT table1.*, 
           EXISTS ( SELECT NULL
                    FROM table2
                    WHERE table2.table1_id = table1.id
                       AND table2.date = @needed_date
                    ) AS row_exists
    FROM table1

    Если точная дата внутри месяца неизвестна, то
    WHERE table2.date BETWEEN @needed_month_1st_day AND @needed_month_last_day
    Ответ написан
    Комментировать
  • Как подставить url на весь столбик?

    @Akina
    Сетевой и системный админ, SQL-программист.
    • Выделить диапазон с числами.
    • Alt-F11
    • Ctrl-G
    • ввести
      for each onecell in selection:onecell.value="https://d21skl.com/"&onecell.value:next

    • Enter
    • Alt-F4
    • Alt-F4

    Ответ написан
    Комментировать