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

Выходной формат бинарных полей.

Я работаю с системой OpenERP. Недавно понадобилось мигрировать базу данных на новый сервер. После миграции картинки и документы, которые хранятся в базе данных в бинарном типе данных перестали нормально открываться. В процессе отладки я обнаружила что даже на уровне стандартной python-библиотки psycopg2 база данных возвращает в случае старого сервера base64 закодированную строку, а в случае нового сервера то же что я вижу когда делаю выборку в psql (в бинарном виде).

PostgreSQL + GSSAPI + OpenLDAP

Доброго времени суток всем!

Сразу приношу извинения за мб неправильные рассуждения. Этой темой занимаюсь совсем недавно.

Аналог GET_LOCK в MYSQL?

Сейчас портирую базу mysql на pg, со всей логикой программной и возник вопрос: есть ли в pg аналог функции GET_LOCK, RELEASE_LOCK, IS_FREE_LOCK. Можно ли использовать вместо них функции pg_advisory_lock_shared, pg_advisory_unlock_shared?
Если кратко то GET_LOCK, RELEASE_LOCK вызывались в php скрипте, что позволяло блокировать некоторые действия, во избежании потери целостности данных.
Не могли бы написать пример использования pg_advisory_lock_shared, pg_advisory_unlock_shared? Попытки вызвать pg_advisory_lock_shared ничего не дают, ничего не блокируется.

Выборка из БД

Привет.
У меня есть БД, назовём её "mydb".
В базе "mydb", есть таблица "mytable".
В таблице "mytable", три поля: text (тип char), start_date (тип DATE) и end_date (тип DATE).
Я хочу сделать выборку за определённую дату в диапазоне от start_date до end_date.
Но я хочу что бы выборка была только по дням и месяцам, не учитывая год!
Как это можно сделать?
Особенно интересует вопрос, как можно сделать выборку между:
23.12 - 01.01
Если я введу 01.01.2013, то эта дата должна попасть в диапазон!

пропущен id

Всем привет
Случайно обнаружил пропуск номера 555 в колонке id, хотя я не удалял никаких строк, и функционала на сайте такого не делал. Может ли быть такое, что автоинкремент иногда "проскакивает" или это что-то другое?
Спасибо

P.S. Поле с автоинкрементом создавал автоматом, в pgAdmin III, обычным serial.

Active < Idle && Idle == 0

Ребят, есть проблема, нужно мнение спеца. Что имеем:

по статистике базы кол-во idle процессов 80
в моменты максимальной нагрузки статистика показывает только 10 active, при этом idle становится 0. куда выжираются остальные 70?

CREATE DATABASE

ERROR: CREATE DATABASE cannot be executed from a function or multi-command string

Попытался создать БД из-под функции.
А мне надо. В смысле программно создавать новые БД под новые проекты в рамках создаваемого мной RAD-CASE инструментария.
Как-то можно обойти это ограничение?

Ошибка удаления файла pg_archivecleanup

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

Настроил потоковую репликацию, всё работает, но в терминале резервного сервера постоянно есть ошибка такого типа:
pg_archivecleanup: ERROR: could not remove file "/home/postgres/docsrv/pgarch/00000000000070000029": Permission denied
На мастере, вроде, всё спокойно
папка docsrv монтируется с файлового сервера, в неё идёт архивация логов с мастера.
В самой этой папке дела обстоят так:

postgres@F91-P91-standby:/home/postgres % ls -la docsrv/pgarch/
 
total 98336
drwxr-xr-x  1 postgres  postgres     16384 Apr 15 12:56 .

Вопрос про репликацию

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

Никак не могу в документации найти это явно. Можно ли в качестве резервного сервера использовать сервер 9.2, а в качестве мастера 9.1? Мне кажется, что я где-то такое видел, но сейчас найти не могу.

Поиск по нескольким таблицам PostgeSQL

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

Здравствуйте!
Подскажите пожалуйста, как сделать запрос, который проведёт поиск одного и того же значения по нескольким таблицам? Т.е. просто будет искать, в какой же из трёх таблиц найдётся заданное значение.

Задача, например, такая:
есть 3 таблицы пользователей, в каждой из них есть поле, например, id. Пользователь приходит на сайт и для доступа в определенную часть сайта ему необходимо ввести этот id. Пользователь вводит id в поле, а дальше запрос бежит последовательно по трём таблицам и ищет, в какой же из таблиц есть такой id.

Заранее благодарю!

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

Back to top

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