Вопросы по 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. Оптимизация запросов, реализация, подходы и т.д.

Update, стандарт SQL

Здравствуйте!

Насколько мне известно, PostgreSQL поддерживает стандарт SQL, в котором заявлена возможность следующего вида команды Update:

UPDATE temp a SET
(sal, comm) =
(
SELECT 1.1*AVG(sal), 1.5*AVG(comm)
FROM temp b WHERE a.deptno = b.deptno
);

Однако при попытке выполнения подобного рода запросов с множественным обновлением полей возникает ошибка:

ERROR: syntax error at or near "SELECT"
SQL state: 42601

PostgreSQL 9.0.4

Спасибо.

Написание скриптов на pgScript. Мануалы, примеры....

Здравствуйте.

Недавно заинтересовался написанием скриптов на pgScript.

Все что удалось найти из мануалов - вот это http://www.pgadmin.org/docs/dev/pgscript.html#function2

Мануал доступный, но, как мне кажется, тонковат. Надо бы больше информации с примерами. А где ее взять?

Хранение очень больших чисел

Добрый день.
Подскажите пожалуйста можно ли как то хранить 20тизначное число в числовом типе? Тип данных int64/uint64? Не могу найти ничего подобного в документации, но возможно я просто не там ищу.

Проблемы с GRANT

Добрый день, посетители форума. Перейду сразу к делу.
Пытаюсь настроить права доступа для пользователей. Проблема сейчас заключается в следующем: я пытаюсь создать несколько групповых ролей и несколько обычных ролей входа, а затем отнести пользователей к каким-либо групповым ролям.

Не понимаю почему не выполняется запрос подскажите пожалуйста.

SELECT (to_char(date_trunc('day',DOC.registrationdate),'dd.MM.yyyy')) AS dateOfDoc,
			 sum(case when DOC.doc_type_id=301 then DOC.sum 
    						when DOC.doc_type_id=303 then -DOC.sum else 0 end) AS cashReceiptsAll,
    	 sum(case when DOC.doc_type_id=301 AND DOCFIS.payment_method_id=1 then DOC.sum else 0 end) AS cash,
       sum(case when DOC.doc_type_id=301 AND DOCFIS.payment_method_id=2 then DOC.sum else 0 end) AS cashReceiptsCards,
       sum(case when DOC.doc_type_id=301 AND DOCFIS.payment_system_id=11 then DOC.sum else 0 end) AS cashReceiptsMalina,

Вопрос по восстановлению из резервной копии.

Добрый день.
Делаю резервную копию первой базы и пытаюсь восстановить ее во вторую базу, при восстановлении psql выдает ошибки:

 LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchar_case_ne';
ERROR: syntax error at or near "0"

Копию базы делаю с помощью pg_dump:
pg_dump.exe -h localhost -p 5432 -U user1 -F c -v -b -f filename db

далее в pgAdminIII создаю новую базу с tablespace pg_default (если она существовала ранее то предварительно ее удаляю)

потом восстанавливаю с помощью psql
psql.exe -U user1 db2 < filename
и получаю массу ошибок

xml

Здравствуйте не как не могу разобраться с XML .
Необходимо выгрузить таблицу в файл и обратно.
Получилась только вывести на экран все данные . уже третий день бьюсь не могу найти

Партицирование по timestamptz и индекс по (integer, timestamptz)

Здравствуйте.
Возможно ли? Находил на различных форумах информацию, что не получиться, что операции с timestamptz всегда stable. Так ли это? И если не должно работать, то почему у меня вроде бы работает?

Базовая таблица и производные от нее:

CREATE TABLE part_test
(
  id integer NOT NULL,
  time_value timestamp WITH time zone NOT NULL
)
 
CREATE TABLE part_test_y2012m01
(
  CONSTRAINT part_test_y2012m01_pkey PRIMARY KEY (id , time_value ),

функция, возвращающая таблицу

Доброе время суток!
В БД среди прочего имеется два типа таблиц:
tbl_typeA (prdate date, code1 integer, data real) (таких несколько сотен объединенных в десяток групп)
tbl_typeB (код1, код2) - используется для перекодирования из кода1 в код2 (их несколько десятков - по этим таблицам и образуются группы таблиц tbl_typeA)
В БД часто формируются запросы вида:
select tbl_typeA.дата, tbl_typeB.код2, tbl_typeA, данные
from
tbl_typeA inner join tbl_typeB
on tbl_typeA.код1=tbl_typeB.код2;

Добавление месяца к дате

Дорогие жители форума.
Большой вопрос. Как можно изменить дату на + месяц по запросу?

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

Back to top

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