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

Работа с svn (Subversion)

Добрый день!

Ув. форумчане, если кто-то имеет опыт применения системы управления версий (Subversion) при разработке баз на PostgreSQL поделитесь пожалуйста информацией по организации хранилища.

Role vs pseudo user (web portal)

добрый день, уважаемые.
появился вопрос.. с postgreSQL не работал до этого времени практически совсем, отсюда "легкое" незнание архитектуры и слабых мест.
подскажите пожалуйста, как для веб портала лучше организовать доступ для пользователей? есть , я так понимаю, 2 варианта:
1. создавать role для входа (чтобы сам сервер рулил авторизацией);
2. создавать запись в таблице app_user (например:)), и соответствующим методом (например, java классом по авторизации) проверять наличие и верность credentials внутри созданной таблицы.

оптимизация запросов с in

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

Поделитесь пожалуйста немного по оптимизации запросов с in и условиями на <>.

Допустим, есть таблица t с полями a,b,c,d,e типа integer.
Имеется составной индекс abc на поля a,b,c.

1) Делается запрос: select * from t where a in (1,2) and b in (10,20,30) and c in (100,200,300,400).

Правильно ли я понимаю, что postgresql сам соптимизирует этот запрос, разбив его на серию таких запросов...
select * from t where a=1 and b=10 and c=100
select * from t where a=1 and b=10 and c=200
...
select * from t where a=2 and b=30 and c=400

Сортировка текстового поля с числами

Здравствуйте!
Не могу решить задачу сортировки, что делаю не так?
В таблице создал текстовое поле в котором я храню "вложенность" в виде "1.2.3.4.14...". Делаю сортировка по этому полю но получаю сортировку текста, а мне нужно другое. Чтобы было понятно, лучше всего подходит пример с оглавлением книги. Т.е у меня таблица с двумя текстовыми полями:
(номер главы или под.главы), (название)
Например так:

table1:
vhodimost, name
-----------------------
1         glava....
10        glava....
10.1      glava....
10.2.3    glava....
1.1       glava....
14.12.13  glava....

Журнал авторизации

Изображение grigoreo

Уважаемые форумчане , подскажите один момент есть ли в Postgres 8.4 и выше возможность получить данные об авторизации той или иной роли , что то вроде время входа , удачно неудачно , этакий журнал...

Обработка пользоватеского исключения

Как можно распознать свое исключение?
В функции есть код типа:

BEGIN
.....
IF is_balance = 0 THEN
      RAISE EXCEPTION 'Error description!';
END IF;
......
EXCEPTION WHEN ???? THEN errCode := -1;
    RETURN errCode;
END;

Что надо напсиать на месте ????, чтобы распознать ранее сгенерированное исключение?

Транзакции в функциях PL/pgSQl

Выполняются ли функции Postgres целиком в контексте отдельной транзакции?

То-есть, если в функции какой-то запрос/ операция приведет к исключению, то должна ли откатиться функция целиком?

Или каждый запрос в функции выполняется в собственной автономной транзакции? И, соответственно, откатится только ошибочная операция?

Где можно детальней почитать об етом?

Как получить error detail ?

Привет всем!
У меня следующая проблема:

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

ERROR:  duplicate KEY value violates UNIQUE constraint "test_pkey"
DETAIL:  KEY (n)=(2) already EXISTS.

далее добавляю в функцию раздел исключений:

EXCEPTION 
WHEN others THEN
RAISE LOG 'WARNING! Error! %', SQLERRM;
RETURN false;

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

Нужна помощь по выборке данных

Здравствуйте, помогите пожалуйста составить запрос

имеется таблицы (пользователи, дома и квартиры):

  1. users (user_id, user_name)
  2. houses (house_id, house_number, house_street, user_id)
  3. flats (flat_id, flat_number, flat_owner, house_id)

Соотвественно пользователям (users) привязаны дома (houses) и к домам привязаны квартиры (flats).

Dump структуры базы

Здравствуйте,
У меня такой вопрос:
Существует ли возможность сделать dump структуры базы, т.е. базы, без содержимого таблиц, с обнуленными сиквенсами, НО несколько таблиц (в которых данные никогда не меняются) сохранить и соотв сиквенсы не обнулять?

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

Back to top

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