Добрый день.
Имеется несколько таблиц, доступ к которым не выдан ни одной группе. Для доступа к таблицам на просмотр (select) выданы гранты на соответствующие представления (view). Наполнение таблиц реализовано через вызовы соответствующих функций, доступ к которым (execute) выдан соответствующим группам.
При вызове функции возникает ошибка, что мол доступ запрещён и выводит кусок текста, где выполняется вставка в таблицу.
Здравствуйте,
Есть таблица
id | parent_id | time
--------------------------
1 | 0 | 01.06.2009
2 | 1 | 10.06.2009
3 | 2 | 20.06.2009
4 | 3 | 30.06.2009
где, id - PK, parent_id - это родитель, ешьу - это время создания
Видно. что у ид=3, родитель 2 (time = 10.06.2009 ) и так сказать прародитель я вляется ид=1.
И будем считать, что у ид=4, прародитель 1.
Необходимо создать функцию, которая бы находила прародителя.
К сожалению, я не знаю как строится цикл while. Подскажите синтаксис.
Суть состоит в том, что бы сделать SQL запрос в контесте процедуры PL/pgSQL, но при этом игнорировались триггеры.
Куда копать ?
Имеется сервер под RHEL5, на котором Postgres-8.1. Компания хочет переехать на 8.4 или хотя бы 8.3...
Есть ли ощутимая разница в производительности между разными встроенными языками PostgreSQL и с чем это связанно ?
есть таблица meta:
CREATE TABLE meta ( id serial NOT NULL PRIMARY KEY, title varchar(256) NOT NULL, description text NOT NULL, keywords text NOT NULL );
а также products:
CREATE TABLE products ( id serial NOT NULL PRIMARY KEY, title varchar(100) NOT NULL, content text NOT NULL, price float NOT NULL, meta_id int NOT NULL );
Таблица meta используется не только products но и другими таблицами.
Для каждой записи в products будет соотвествовать одна запись в meta.
Внимание вопрос 
Я только начал возиться с PostgreSQL, но не улавливаю очень важных тонкостей.
Есть у меня в базе данных несколько таблиц, в которые добавляются данные допустим супер-юзером. И я хочу создать пользователя guest который может их читать данные только из одной таблицы data, то есть делать SELECT из этой таблицы и больше ничего.
Что я делаю сейчас.
-- создание пользователя guest
CREATE USER guest WITH PASSWORD '1234' NOCREATEDB NOCREATEUSER;
-- отбираем права на всё у пользователя guest
REVOKE ALL PRIVILEGES ON DATABASE database FROM guest;
Здравствуйте.
У меня такой вопрос: можно ли как-нибудь вытянуть файлы, хранящиеся в PostgreSQL, через sql? Или только командами типа pg_lo_open/pg_lo_read из PHP?
Вообще я хотела получить файлы через удаленные запросы к linked serverу из MSSQL. Все остальные данные, кроме файлов, я вытащить могу. Для linked serverа указан драйвер PostgreSQL ANSI.
Спасибо.
Например, enum_range() возвращает одну строку с массивом типа:
{'Yes','No'}. А я хочу конвертировать этот результат в две строки:
Yes
No
Без этого использовать тип enum и массивы вообще - не очень удобно.
Не подскажете типовое решение этой задачи?