Задать вопрос
  • Проверка связывания таблиц, как проверить?

    @Akina
    Для проверки существования лучше использовать не WHERE [NOT] IN, а WHERE [NOT] EXISTS, который работает быстрее, потому что ему не нужно подбирать полный список значений в соответствии с подзапросом.

    Если я правильно понял описание задачи (достаточно маловменяемое, несмотря даже на наличие примера), то
    SELECT *
    FROM _myTable
    WHERE NOT EXISTS (
      SELECT NULL
      FROM _myFilter
      WHERE _myTable.id = _myFilter._value
        AND NOT is_uses
    );

    fiddle
  • Как правильно протестировать регламентные задания для обслуживания баз данный MSSQL?

    @Akina
    Меня больше волнует, становится ли лучше с точки зрения скорости работы или же ничего не меняется?

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

    @Akina
    GreedC, ну если будет ошибка, то будет и соотв. информация в журнале. И по этой конкретной ошибке (MS SQL, конечно, не эталон вменяемости сообщений об ошибках, но и не совсем уж ребусы загадывает) уже работать. И да - журнал ведь никто не мешает смотреть обычным порядком, через MMC, и соотносить запись с ошибкой и то, что делалось до и вокруг...
  • Как правильно протестировать регламентные задания для обслуживания баз данный MSSQL?

    @Akina
    68a588f6ace4e069471541.png

    у меня почему то складывается такое ощущение, что вот я это сделаю, в логах могу посмотреть только ошибки или статусы выполнения заданий (процессов), а по результатам мне только конечные пользователи смогут дать обратную связь (разработчики и пользователи).

    А ты чего ожидал-то? Не, понятно, что самописные команды, добавляемые в план, нужно тестировать отдельно, и в голове прокручивать взаимодействие этапов плана и параллельных планов меж собой на предмет отсутствия интерференций и прочих грабель. А так-то план обслуживания ничем не отличается от запуска любого другого пакетного задания.
  • Excel, VBA, формы как починить отображение шрифта?

    @Akina
    Почитайте вот это: Font substitution
    Если и правда проблема в отсутствии или несоответствии шрифта, то можно попробовать починить.
    Правда, надо будет чётко определить, какой шрифт и набор использован.
    Написано
  • Как подсчитать данные для каждого узла(включая вложения) дерева?

    @Akina
    firstmixon, такого варианта нет.
    Но есть опционная переменная temp_buffers, которая определяет количество памяти под временные таблицы на одно соединение. Если размер временных таблиц сессии не превосходит указанного объёма, то их данные полностью кэшированы в памяти, и соответственно скорость работы с ними высокая.
    Значение переменной можно установить как постоянно для всех сессий (в postgresql.conf), так и индивидуально для текущей сессии (SET temp_buffers = 'XXX';).
    См. https://postgrespro.ru/docs/postgresql/17/runtime-...
    На всякий случай рекомендую помнить, что временные таблицы не вакуумятся, так что для интенсивно изменяющейся таблицы без явного ANALYZE планировщик может использовать устаревшую статистику данных и выдавать неоптимальный план. А без VACUUM - и вылететь за выделенный объём памяти за счёт неочищенного пространства. Так что явный VACUUM ANALYZE temp_table; может быть небесполезной операцией.
    Написано
  • Как подсчитать данные для каждого узла(включая вложения) дерева?

    @Akina
    Схематично:
    WITH RECURSIVE
    cte (id, parent_id, path) AS (
      SELECT id, NULL, id
      FROM table
      WHERE parent_id IS NULL
    UNION ALL
      SELECT t.id, t.parent_id, c.path || t.id
      FROM table t
      JOIN cte с ON t.parent_id = c.id
    )
    SELECT c1.id, c1.parent_id, COUNT(*)
    FROM cte c1
    JOIN cte c2 ON c2.path LIKE c1.path || '%'
    GROUP BY 1, 2


    может кто знает способ в постгресе создавать временные таблицы для расчетов

    CREATE TEMPORARY TABLE
    Написано
  • Как решить проблему с интернетом в образовательной организации?

    @Akina
    Hardoman,
    У всех нормальных провайдеров вы в один хоп получаете ваш ближайший гейтвей у него, дальше 2-3 хопа в сети провайдера и выход за его пределы.
    Это всегда в 100% случаев одна и та же трасса.

    Если у провайдера многомаршрутная сетка, и в ней, скажем, OSPF, то 100% превращаются в тыкву. У себя на работе я на одном из каналов именно такое и наблюдаю. Провайдер обязан транзитить мой пакет от входа до выхода, а как он пустит каждый отдельный пакет - это его дело, и он не обязан весь поток передавать строго одним маршрутом.
    Написано
  • Как решить проблему с интернетом в образовательной организации?

    @Akina
    Наша задача узнать трассу до провайдера

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

    @Akina
    Где обвалится - там и проблема.

    С какого такого перепугу? У меня в большинстве трасс 3-4 промежуточных узла в принципе не отвечают на пинги, а один показывает стабильно пинг в 70-100 мс при финальных 5-10 мс - но всё это не значит, что такие узлы проблемны.
    Написано
  • Как решить проблему с интернетом в образовательной организации?

    @Akina
    Провайдер говорит, что на его стороне пинги проходят ровно.

    Пинги - это ICMP
    ERR_CONNECTION_TIME_OUT - это TCP
    Или провайдер безграмотен, или считает тебя лохом.

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

    ЗЫ. "Интернет контроль сервер" имеет вроде не самую плохую поддержку. Если вы его не украли, то обратитесь за помощью через личный кабинет.
    Написано
  • Оператор, операция, функция, процедура - что всё это значит?

    @Akina
    Владимир, собственно именно появление языков высокого уровня потребовало такого деления, поскольку стал возможен "оператор в операторе". Какой-нибудь do i = 1, size(A,1) на Фортране - обозвать это оператором уже язык не поворачивается.
    Написано
  • Какую роль при такой топологии сети может выполнять роутер?

    @Akina
    Два офиса соединены выделенным каналом.

    Максимально подробно - что за "выделенный канал". Это же может быть что угодно, от прямого провода до преднастроенного VPN.

    Во втором также с полотка кабель идёт в другой коммутатор, а от этого коммутатора в роутер выступающий шлюзом для обоих офисов.

    Коммутатор управляемый? Если да - конфиг VLAN в студию.

    роутер выступающий шлюзом для обоих офисов.

    IPCONFIG /ALL и ROUTE PRINT с рабстанции из первого и из второго офисов - в студию. А также TRACERT /D с рабстанции первого офиса на рабстанцию второго (или наоборот). А если доступно - то ещё и аналогичный конфиг с роутера.

    При этом если выключить роутер, то теряется связь между офисами. Я не могу догадать, какую роль в такой схеме выполняет роутер?

    В данном случае он скорее всего маршрутизирует трафик между сегментами офисов. Роутер и маршрутизатор - это синонимы.
    Написано
  • Почему при отключении Proxy ARP пропадает связь с роутером?

    @Akina
    ProxyARP обеспечивает доступ к узлам подсети, если источник и приёмник находятся в разных L2-доменах. То есть как маршрутизация (или даже скорее как DNS), но на L2-уровне. Обеспечивается это за счёт того, что он отвечает на ARP-запросы для всех известных ему соответствий MAC-IP, вне зависимости от физического/логического интерфейса.
    Написано
  • Есть ли способ изменять переменную в запросе?

    @Akina
    Приведите лучше пример. Добавьте в вопрос:
    • CREATE TABLE, ненужные для вопроса поля убрать
    • INSERT INTO, пример данных на 5-7-10 записей
    • ваш запрос, пусть и нерабочий, но демонстрирующий хотя бы логику
    • требуемый эталонный результат на именно этих данных

    Данные должны включать по возможности все мыслимые сочетания.
    Написано
  • Как открыть порт на Windows Server?

    @Akina
    Ziptar, это - сервер голым задом в Инет. Даже если базовая ОС вроде бы не использует/разделяет адаптер, тем не менее именно она всё принимает и транслирует в гостевую машину. Потенциальные дыры самой ОС, самого Hyper-V и его виртуального коммутатора, гостевой ОС и самого pfSence... кто может дать гарантию, что их не существует? В этом отношении безответственная пограничная железка - оно поспокойнее. Да и бюджет мероприятия ну совсем не миллион, 25 тыров - это недорого за относительное спокойствие...
    Написано
  • Как открыть порт на Windows Server?

    @Akina
    kitalev,
    У нас данный сервер выступает в качестве шлюза

    В смысле маршрутизатора между сетями и в Интернет? Ай, плохо...

    В таком случае лучше перед ним поставить маршрутизатор и подключить провайдера к маршрутизатору, верно?

    Мало данных для осмысленного ответа.

    С моей точки зрения наиболее правильная схема такая.

    Между сервером и провайдером ставится аппаратный маршрутизатор. И не какое-нибудь SOHO-говно, а более-менее приличная железка. Хотя бы Микротик. Само собой, максимально свежая прошивка, и максимально жёсткие настройки безопасности (всё, что не нужно явно, всё DROP, особенно управление через WAN-интерфейс).
    Провод провайдера - в WAN-порт аппаратного маршрутизатора. На этом порте соответственно src-NAT к провайдеру. На нём же порт-маппинг нужного тебе порта с WAN-интерфейса на адрес конечного узла, плюс статические маршруты на LAN-подсети через WAN-интерфейс сервера.
    LAN-порт аппаратного маршрутизатора - к нынешнему WAN-порту сервера. На WAN-порте сервера NAT либо общий доступ к Инету убираем, оставляем чистую маршрутизацию. Также на WAN-порте сервера всё, кроме собственно IPv4-протокола, всякие там клиенты и службы - поотключать нахрен.
    Ну а клиентские сети и подключение их к серверу - без изменения.

    Если же на сервере работает какая-либо прокси-служба (какой-нить трафик инспектор или типа того), то NAT и весь софт на нём оставляем, с аппаратного маршрутизатора делаем порт-маппинг на WAN сервера, а на самом сервере - порт маппинг на конечный компьютер. Статические маршруты на роутере в этом случае не нужны.
    Написано
  • Как отключить Hyper-V?

    @Akina
    В PowerShell с правами администратора:
    Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor

    В реестре:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
    Ключ LsaCfgFlags=0
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard]
    Ключ LsaCfgFlags=0
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard]
    Ключ EnableVirtualizationBasedSecurity - удалить
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard]
    Ключ RequirePlatformSecurityFeatures - удалить


    И перегрузиться.
    Написано
  • Как отключить Hyper-V?

    @Akina
    Vitalya Ivanov, ну вообще-то зависит от ОС, про которую автор стыдливо умолчал...
    Написано
  • Возможно ли в UPDATE "видеть" результат обновления предыдущих строк?

    @Akina
    Alexeytur, нет, нельзя, вам доступен только снапшот таблицы на момент старта запроса. Я же показал, как получать данные из предыдущей обработанной записи.
    Написано