Всем Добрый День!
1. В Installed версия продукта, пользователь сам ставит PostgreSql на своем сервере и сам обновляет базу данных из присылаемых нами скриптов (всего у нас: 680 - хранимых процедур + 90 - таблиц + тригеров тоже есть)
В процессе работы:
- итерируем хранимые процедуры (proc_00...proc_XX), когда они начитают использовать новые входные или выходные данные
- пишем вручную N скриптов по постепенному изменению схемы БД (редактор использовать нельзя...)
Отправка обновления пользователям:
Вот такие дела, прошло около двух месяцев как поставил PSQLv.8.4
в один прекрасный момент происходит следующее...(что то картинка не вставляется)
текст ошибки - The following error occurred when trying to open the database: Failed to establish a connection to '127.0.0.1.'
Первый раз сталкиваюсь с этим, подскажите как быть.
Есть запрос
EXPLAIN SELECT * FROM TABLE WHERE fk_id=x;
"Seq Scan on table (cost=0.00..422.09 rows=14791 width=66)" " Filter: (fk_id = 33)"
"Index Scan using table_fk_id_idx on table (cost=0.00..48.82 rows=108 width=66)" " Index Cond: (fk_id = 32)"
Оба значения присутствуют в ключевой таблице до создания индекса. Как понять работу оптимизатора? и как добиться чтоб при изменении x план не изменялся?
Добрый день, гуру 
Проблема моя в следующем.
Здравствуйте!
имеется таблица с полями surname , name, birthday. Все они с типом text.
Причем дата в birthday хранится как 'дд.ММ.гггг'.
Все поля имеют свои индексы.
Но поиск длится очень медленно, если нужно искать по последним двум цифрам года.
Например:
SELECT * FROM TABLE WHERE surname LIKE 'Иван%' AND birthday LIKE '%86';
(Записей в базе ну очень много).
Есть мысль создать реверсивный индекс, но как его сделать, не могу найти.
При запуске Holdem Manager, выдает вот такую табличку:
http://s002.radikal.ru/i199/1002/93/c4adc8b3d9e8.jpg
затем нажимаю "YES", выходит еще одна табличка... и далее ничего путевого...
что делать??? помогите!!!
изначально открыл тему тут , но вразумительного ответа так и не получил.
Привет всем. Столкнулся с такой проблемой.
Есть таблица, в ней текстовое поле в которое пишется различный текст.
Случилось так, что в этот текстовый столбец записали текст следующего вида "С\Х УДАЧНЫЙ", при записи инсерт выглядел так:
INSERT INTO my_table(...,punkt,...) VALUES (...,'C\\Х УДАЧНЫЙ',...);
SELECT punkt FROM my_table WHERE punkt='C\\Х УДАЧНЫЙ';
Знаю, что можно определить для колонок значение по умолчанию, но существуют ли эти "правила" как отдельные сущности как в MSSQL? Если да, то как до них добраться ? (синтаксис создания, вьюшка, таблица и тд.)
Заранее благодарю

Имеется хранимка (триггерная функция) на С :
#include <postgres.h> #include <executor/spi.h> #include <commands/trigger.h> #include <libpq-fe.h> PG_MODULE_MAGIC; int func(char *s0, char *s1); extern Datum tf_func(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(tf_func); Datum tf_func(PG_FUNCTION_ARGS) { TriggerData *trigdata = (TriggerData *) fcinfo->context; Relation rel; TupleDesc tupdesc; /* часть кода опущенна */ if (!CALLED_AS_TRIGGER(fcinfo)) elog(ERROR, "function trgf_upd_user is not called by trigger manager");