SELECT 'сахар & !песок & белый'::tsquery >>>=>>>> SELECT 'сахар & белый'::tsquery
Как культурно удалить отрицания из tsquery?
For _Record_piket in (SELECT public.excav_line.piket FROM public.excav_line
WHERE public.excav_line.id_smena in (ggg)
and public.excav_line.id_excav=2)
Мне нужно чтоб запрос получился in (135,134), а 135,134 в переменной типа техт я получил переменную _ggg c таким значением, но public.excav_line.id_smena типа integer
For _Record_piket in (SELECT public.excav_line.piket FROM public.excav_line
WHERE public.excav_line.id_smena in (135,134)
Посоветуйте пожалуйста, как создать таблицу, которая не записывается на диск.
Есть таблица, она периодически перезаписывается из разные источники делают update для разных строк. Можно ли сделать так, чтобы при перезаписи данные не записывались на диск?
Спасибо.
Здравствуйте.
есть запрос типа
SELECT field1 FROM (SELECT field1,field2 .... ) AS foo GROUP BY field2;
хочется как-то так
SELECT field1,field2 FROM (SELECT field1,field2 .... ) GROUP BY field2; т.е. использовать подзапрос как обыкновенную таблицу.
Примечание: подзапрос такой (динамический), что вьюшку сделать сложно. НО если др варианта не найду, то буду склоняться к вьшке.
НО мне кажется то, что я хочу получить, возможно, я просто синтаксиса не знаю
Подскажите, пожалуйста, кто знает как это сделать?
Точный порядок проверки constraints и запуска триггеров есть где-то? На стенку повесить
Вообще, столкнулся с такой проблемой:
есть таблица, содержит записи, соответствующие неким "зарегистрированным пользователям" нашей мегасистемы
таблица синхронизирована с помощью триггеров с внешним хранилищем паролей пользователей: при создании нового пользователя, удалении, изменении пароля эти изменения отражаются на внешнем хранилище (фактически через plpythonu триггером просто запускается соответствующая команда в ОС)
всё хорошо работает, кроме одной детали:
Пишу "мастер-мастер-асинхронную-репликацию" для своих нужд. Решил - это сделать с помощью своей log таблицы и привязанной к ней триггерной функцией. Триггерная функция будет запускать хранимые процедуры на соседних серверах и таким образом будет происходит репликация.
Вопрос: Не знаю как запустить тригерную функцию по принципу "запустил и забыл". Единственное, до чего докопался - это писать триггерную функцию на С (или perl) создавать дочерний процесс с помощью fork() и убивать родительский процесс. Может у кого есть другие идеи?
Добрый день!
У нас в организации собираются переходить на PostgreSQL, но всех волнует один вопрос: как наращивать пространства хранения данных?.. Команд по добавлению новых пространств я не нашел, возможно плохо искал. Вопрос до сих пор открыт. Кто как решает эту проблему?..
Задействовал класс NpgsqlCopyIn, реализующий sql-команду COPY.
При наполнении таблиц возникает критическая ошибка при чтении символа ¤ (0xA4) в кодировке 866 источника.
Проблема возникает от того, что библиотека конвертирует входной файл в кодировку UTF8, и потом опять конвертирует в кодировку базы сервера, хотя можно было бы обойтись и без этого: логично приготовить файлы именно кодировке базы сервера.
также вызывает сбой чтение 0х00, ну и наверно других символов, которые не хотят переходить в UTF8.
Предисловие:
7 лет пашу на MSSQL и иногда прикасаюсь к MySQL. С PostgreSQL давно собирался плотно познакомится, но все как-то времени не хватало. Сейчас, дома, по вечерам пытаюсь свой проект из MSSQL перевести на PostgreSQL. Честно признаюсь, видимо все таки привычка - вторая натура... Никак не постичь до конца мне всю прелесть Postgre... Например функции...
А посему прошу помощи...
Имеем (структура примитизирована умышленно):
Таблица Accounts (acc_id, acc_parent, acc_name) - перечень статей
Надо обновить 1000 записей в одной большой таблице значениями из другой, связь по двум полям, в обеих таблицах создан индекс по этим полям. Выборка 1000 по первичному ключу.
В Акцессе создал точно такую структуру и обновил 1 000 000 записей примерно за минуту.
Пока я пишу эту мессагу Postgre еще шуршит, прошло уже 5 минуты и ....что не так?
CREATE TABLE vin
(
...
vid serial, -- PK
tom character(3), -- ix
ind2 integer, -- ix
specid integer,
CONSTRAINT pk_vid PRIMARY KEY (vid)
)
CREATE INDEX ix_tommod
ON vin
USING btree
(tom, ind2);
CREATE TABLE specvin
(