Уже голову сломал в борьбе с этим оптимизатором.
create temp table _ps_ as select 2026::integer as device_id,
'14.02.2012'::timestamp as t1, '15.02.2012'::timestamp as t2;
explain
SELECT sd.* FROM _ps_, sens_data AS sd
WHERE sd.device_id = _ps_.device_id AND sd.time_stamp BETWEEN _ps_.t1 AND _ps_.t2
Hash Join (cost=5152217.36..10815889.00 rows=24742899 width=29)
Hash Cond: (_ps_.device_id = sd.device_id)
Join Filter: ((sd.time_stamp >= _ps_.t1) AND (sd.time_stamp <= _ps_.t2))
-> Seq Scan on _ps_ (cost=0.00..19.90 rows=990 width=20)
есть три таблицы
Таблица1, Таблица2 (foreignkey на таблицу1), Таблица3(foreign key на таблицу2).
Необходимо построить запрос, в котором будут содержаться данные из таблицы3 и id из таблицы1.
делаю так:
select таблица3.данные, таблица1.id
from
таблица3
left join
таблица2 left join таблица1 on таблица2.fk=таблица1.id
on таблица3
а как дальше - не могу понять.
Добрый день!
Люди, разбирающиеся в plsql, помогите, пожалуйста, решить следующую задачку:
Исходные данные:
таблица А:
код | цена
таблица B:
Nгруппы | нижняя граница группы, руб | верхняя граница группы
Задача: нужно построить запрос, в котором напротив цены будет стоять номер группы, к которой она относится.
query A:
код | цена | Nгруппы |
Всем добрый день. Столкнулся с проблемой.
Есть база в кодировке 1251, есть таблица с полем XML, туда нужно положить данные в кодировке UTF-8 что бы перекодирования не произошло. Все делают на C++ через libpq. Отправляю данные через параметры.
После того как зову PQExecParams он мне говорит что невалидная xmlка. Формат данных - бинарный выставлен, если выставить текстовый то вообще скажет что переконвертировать из 1251 в utf8 не может. В чем проблема или куда копать в какую сторону
XMLка самая обычная:
<?xml version="1.0" encoding="UTF-8"?>
<Файл Версия="1.0">
Есть система, которая каждый месяц в 00:00 на основе pgadmin выполняет определённые действия с базой. Проблема случилось в том, что на данное время pgagent был не запущен и задача не выполнилась.
Как можно выполнить прошедшую задачу???
Hi all!
Есть задача учёта статистики по логам RADIUS.
Что учитываем: просмотры людьми телеканалов.
На данный момент это ведётся в таком формате:
Начался просмотр - делается INSERT со сведениями - id сессии, id юзера, момент начала, id канала и прочее.
Закончился - UPDATE заполняет этой записи момент конца просмотра.
Как я понял, это практически дефолтные настройки sql-логгирования RADIUS.
Таблица выглядит так.
radius-# \d radacct TABLE "public.radacct"
Всем привет.
Начал перетягивать базу из одной СУБД в Postgres. Столкнулся с одной странной проблемой. Когда делаю COPY просто строки с разделителем \t - то все в порядке. А когда пытаюсь сделать вставку строки, в которой есть произвольной длины текст - получаю ошибку, так как СУБД видимо считает, что там, где еще продолжается текст должен быть следующий столбец.
Здравствуте.
не могу решить следуюшие проблему. Допустим сушествует несколько баз даных с разноми названиями, но с одно структорой. Как осушествить автоматическое обновление структуры базы данных????? к примеру добавить в таблицу одно поле или добавить новую таблицу.
В 9.0 была написана строка SET SEARCH_PATH TO '_89809840', public;
если схема отсутствовала то Postgre отвечал ошибкой с кодом
3F000 - invalid_schema_name.
Но в 9.1 стал на ту же строку отвечать ошибкой
22023 - invalid_parameter_value.
Зачем разработчики изменили поведение инструкции?
Решили проверить сколько схем сможем создать в одной базе данных. В каждой схеме 80 таблиц, и в одной таблице каждой схемы 50 000 записей.
Сервер на котором стоит Postgres имеет 16 Гб памяти, и на нем стоит CentOS.