Есть три таблицы (прилагаются):
- Таблица ObjectsHistory oh - история Объектов. У Объектов есть статусы. Бывает, что у Объекта нет статуса (не проставлен),
- Таблица PackagesHistory ph - история Пакетов. У Пакетов есть статусы. Бывает, что у Пакета нет статуса (не проставлен),
- Таблица ObjectToPackage op - связи объектов с пакетами. Объекты могут находиться в Пакетах, перемещаться между Пакетами, а также могут находиться вне Пакетов. В один момент времени Объект может быть только в одном Пакете либо вне Пакетов.
Добрый день!
Есть таблица ObjectsHistory oh (прилагается).
Как сделать, чтобы из таблицы выбрать только те объекты, у которых в истории встречаются статусы ObjectStatus6, ObjectStatus7, ObjectStatus8 (каждый статус встречается как минимум 1 раз), причем хотя бы один из найденных статусов ObjectStatus8 по дате - позже, чем хотя бы один из найденных статусов ObjectStatus7 и хотя бы один из найденных статусов ObjectStatus7 по дате - позже, чем хотя бы один из найденных статусов ObjectStatus6.
Вывести ObjectsHistory oh полностью по выбранным объектам (лист Конечный результат).
Добрый день!
Подскажите, пожалуйста, если кто-то сталкивался.
Пытаюсь заполнить и сделать upd ate из временной таблицы в PgrSQL.
Но из-за того что и сама temp строится путем выборки из нескольких таблиц с большим количеством данных, и таблицы t, f тоже состоят из сотен тысяч строк, медленно отрабатывает.
Как можно оптимизировать эту процедуру, чтобы она эффективно отрабатывала под нагрузкой? Может ли кто-то подсказать, как, например, встроить UPDATE по сегментам или есть какие-то еще более удачные решения?
-----------
CREATE OR REPLACE FUNCTION public.F() RETURNS void
AS $$
Нужно удалить запись из таблицы, в которой id этой записи связано с другой таблицей по внешнему ключу.
Я читал, что нужно создавать таблиц с опцией
....REFERENCES name_table ON DELETE cascade, ....
в данном случае не подходит.
Вот что пробовал
DELETE FROM user_role WHERE user_id = '19' AND DELETE FROM usr WHERE id = '19';
Такой вариант то же не работает.
user_role - таблица с внешним ключом типа bigint
Возможно ли такое, что после ребута Дебиан прорал кластер базы? У меня видимо такое случилось
При выполнении SQl -скрипта
select
date_trunc('data', date1) as date1,
date_trunc('data', (date1 + interval '1 day')) as date2,
получаю сообщение о том что date1 записана с часовым поясом, поэтому к ней нельзя прибавить интервал времени,
в обшем, мне нужно разбить данные отчета по периода: месяца, года , дни, кварталы и записать в виде начало периода-конец периода, начало получаем в date1, а вот конец получить не удается
Добрый день, форумчане. Краткая история:
Есть программа, сканер безопасности СУБД. Ей предоставляется ip сервера с СУБД, логин и пароль. После успешного подключения к СУБД сканер выполняет функции аудита, сканирует субд на наличие уязвимостей, проверяет сложность паролей других юзеров и т.д.
В документации сканера написано, что он работает с PostgreSQL(9.3-9.6 ver), но функция аудита доступна "При установке драйверов для подключения".
Есть таблица с температурами с 2017 года:
SELECT * FROM "outerTemp"; id DateTime temp 1 2017-10-25T23:05:09.000 1.37 2 2017-10-25T23:15:13.000 1.25 3 2017-10-25T23:25:16.000 1.88 4 2017-10-25T23:35:19.000 1.75 5 2017-10-25T23:45:23.000 1.75 .................................................................. 75894 2019-05-01T04:20:54.000 2.25 75895 2019-05-01T04:30:57.000 2.31 75896 2019-05-01T04:41:00.000 2.56
есть значение в столбца response:
{"success":true,"errorMessage":"","outputParameters":
Добрый день.
Как создать SELECT из двух связанных таблиц:
Таблица1 - иерархическая структура (дерево) моделей оборудования (model):
modelid - счётчик
modelparentid - указатель на родителя
vendorid - указатель на производителя оборудования
modelname - наименование модели
Таблица 2 - список производителей оборудования
vendorid - счётчик
vendorshortname - наименование производителя.
Как вывести записи таким образом, что если в таблице model значение vendorid = null, то выводим просто modelname, а если нет - выводим строку vendorshortname + " " + modelname
?