
Мне кажется странным, что я не могу написать следующее
SELECT avg(price) FROM PC,
а вынужден делать двойное преобразование типа, да еще и вычищать форматирование:
SELECT avg(regexp_replace(price::text, '[$,]', '', 'g')::numeric) FROM pc;
Хотя с другой стороны, я могу написать так:
SELECT sum(price)/count(price) AS avg_foo FROM pc;
Что характерно, я получаю в последнем случае в качестве результата тип money, что и должно бы быть при использовании функции AVG, т.к. согласно стандарта, результат агрегата наследует тип данных аргумента.
Здраствуйте я щас пишу портал из сайтов на друпале (не суть важно), к сожалению а может к счастью, но на тестовой платформе (centos) не захотел работать mysql(я не имею большого опыта в администратирование веб серверов). Но в сборке был выбор поставить postgresql, чем я и воспользовался после небольшого совещания с гуглом по этому вопросу начал задумываться что для моих целей mysql в будущем может стать слабым местом(много баз данных большого объёма + полнотекстовый поиск + вдруг ещё что заинтересует во время знакомства с pgsl), хотя на сегодняшний момент устроил бы.
Подскажите пожалуйста как можно узнать какие связи заданы для таблиц БД, или где про это можно почитать. Заранее спасибо.

Всем доброго!
Столкнулся с проблемой.
Перевел проект с MySQL на Postgres!
Есть проблема.
Мне надо из CSV файла перенести записи в таблицу.
Сделал по аналогии, как я делал в MySQL. Но понял что на добавление 220 тыс. записей (в CSV всего два столбца.) уходит очень много времени.
Почитал в интернете.
1) Делал все в одной транзакции... не помогло, ощутимого приростса я вообще не заметил.
BEGIN;
INSERTs....
INSERTs....
INSERTs....
...
INSERTs....
COMMIT;Всем доброго дня.
Реализовал простейшие функции возвращающие несколько OUT параметров - то есть RECORD
Функция работает, при запуске ведет себя адекватно. Но стоит мне обратится к ней из сторонней функции:
DECLARE rec1 RECORD; BEGIN rec1:=func1(arg1,arg2); END;
У меня проблема: сделал резервную копию сервера. Создался файл .sql размером в 500 мб. Форматную фиск, переустановил винду, поставил postgres, захожу опять в программу администрирования, но функции создания сервера из резервной копии нигде не нашел! Помогите пожалуйста!!!
Здравствуйте. БД установлена на моем компе. Другая программа с моего же компа с ней работает. Как узнать какие запросы программа отправляет к БД?
Необходимо перевернуть таблицу
________________________________________________
Column1 | Date | Column2 |
_______|_______|________|
aaaaaa |1/01/10 |123 |
--------------------------------------
bbbbbb |2/01/10 |234 |
--------------------------------------
aaaaaa |3/01/10 |453 |
--------------------------------------
После выполнения запроса таблица должна принять вид
Column1 | 1/01/10 | 2/01/10 | 3/01/10 |
_______|_______|________|_______ |
aaaaaa | 123 | | 453 |

Согласно стандарту, таблица должна иметь один или более столбцов. Соответственно, нельзя удалить единственный столбец в таблице. Подобное действие должно вызывать ошибку, т.к. это эквивалентно удалению таблицы, для чего имеется оператор DROP TABLE.
В версии 8.3 я могу получить таблицу без столбцов:
CREATE TABLE fooo();
и удалить единственный столбец:
CREATE TABLE foo(f int PRIMARY KEY); ALTER TABLE foo DROP COLUMN f;
Добрый день!
Скорее всего я задаю вопрос не в этой ветке форума. Но все же спрошу.