Вопросы по SQL и другие аспекты работы PostgreSQL

warning: Creating default object from empty value in /var/www/victor/web/pgdocs.ru/data/modules/taxonomy/taxonomy.pages.inc on line 33.
Здесь обсуждаются запросы на SQL в PostgreSQL. Оптимизация запросов, реализация, подходы и т.д.

Таймер

Опять у меня возник вопрос на который я несмог найти ответа(ну или пока не нашел).
Вопрос такой:
Как мне запустить выполнение хранимой процедруы или тригера по таймеру?
дапустим мне нужно запускать каждые 5 минут тригер(ХП).
если это есть в мануале то отошлите меня туда, хотя если будут обяснения в теме буду очень рад!

Проблема в использование хранимой процедуры

    Код процедуры:

CREATE OR REPLACE FUNCTION __add_game(IN player integer, IN comm text, IN move1 integer, OUT id_game1 integer)
RETURNS integer AS
$BODY$begin
INSERT INTO game (state,player1,comment,date_begin,fmove) VALUES ('ожидает',player,comm,now(),move1);
id_game1:= currval('game_id_game_seq');

end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION __add_game(integer, text, integer) OWNER TO postgres;

подсоединяюсь таким образом:

OdbcConnection con=new OdbcConnection(_conString);

Выборка по дате с разграничением интервалов по времени

Подскажите пожалуйста, как можно вывести результат в одну строку, чтобы скажем был следующий вид


общее количество посещ / 00-01/01-02/02-03/.../23-00
1000 / 100 / 800 /100 /.../0

Время

Какие существуют встроеные функции по работе со временем в PL/pgSQL.
А в частности как узнать время\дату на сервере в данный момент?
если есть какая-то страница мануала, то дайте пожалуста ссылку на эту страницу, или словесно объясниет.

Буду очень благодарен

Использование параллельных транзакций.

Ребята, что-то не могу понять по документации.
Используя библиотеку libpq можно ли соединившись с БД выполнять запросы в контекстах разных транзакций?

преобразование Point

Возник вопрос: как преобразовать тип Point из Postgres типа в Point .net.
Возможно вопрос не очем, и ответ очевиден. Но будьте добры если знаете ответьте на него.
Буду очень благодарен.

Помогите разобраться с правилами на изменение VIEW

Доброго времени суток. Задавал эти вопросы в forum.postgresqlrussia.org, но внятного ответа так и не дождался.
Надеюсь, что здесь есть кто-нибудь, кто сталкивался с подобного рода ситуациями.
Проблема в следующем. Есть 4 таблицы:

CREATE TABLE "employees" (
  "emp_uid" SERIAL,
  "emp_fam" TEXT DEFAULT 'н е  и з в е с т н о'::text NOT NULL,

замучился с COALESCE

Создаю функцию:

CREATE FUNCTION getabntax(IN taxtypeid integer, IN currentdate date, OUT summtax numeric)
  RETURNS numeric AS
$BODY$
  SELECT COALESCE(summtax, 0) FROM abn_tax
  WHERE taxupdate =
       (SELECT max(taxupdate)
        FROM abn_tax
        WHERE taxtypeid = $1
          AND taxupdate <= $2)
  AND taxtypeid = $1
$BODY$
  LANGUAGE 'sql' VOLATILE SECURITY DEFINER;

Ввожу: SELECT summtax FROM getabntax(1,'1996-01-01');
И получаю null, а не 0 как ожидал.

Определить количество записей в курсоре

Здраствуйте.
Как определить конец курсора?
Аналог @@FETCH_STATUS
Нужно считать в курсор сложный запрос и пройтись по нему.
Спасибо.

Запрет дублирования записей

Решил поразбираться что это за зверь такой - слон. Возник вопрос, есть ли красивый способ запретить создание записей с одинаковым занчением в каком-либо поле таблицы, кроме как делать предварительный селект перед добавлением записи?

Собранный материал

Back to top

(С) Виктор Вислобоков, 2008-2023