Я работаю с системой OpenERP. Недавно понадобилось мигрировать базу данных на новый сервер. После миграции картинки и документы, которые хранятся в базе данных в бинарном типе данных перестали нормально открываться. В процессе отладки я обнаружила что даже на уровне стандартной python-библиотки psycopg2 база данных возвращает в случае старого сервера base64 закодированную строку, а в случае нового сервера то же что я вижу когда делаю выборку в psql (в бинарном виде).
Доброго времени суток всем!
Сразу приношу извинения за мб неправильные рассуждения. Этой темой занимаюсь совсем недавно.
Сейчас портирую базу 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, то эта дата должна попасть в диапазон!
Всем привет
Случайно обнаружил пропуск номера 555 в колонке id, хотя я не удалял никаких строк, и функционала на сайте такого не делал. Может ли быть такое, что автоинкремент иногда "проскакивает" или это что-то другое?
Спасибо
P.S. Поле с автоинкрементом создавал автоматом, в pgAdmin III, обычным serial.
Ребят, есть проблема, нужно мнение спеца. Что имеем:
по статистике базы кол-во idle процессов 80
в моменты максимальной нагрузки статистика показывает только 10 active, при этом idle становится 0. куда выжираются остальные 70?
ERROR: CREATE DATABASE cannot be executed from a function or multi-command string
Попытался создать БД из-под функции.
А мне надо. В смысле программно создавать новые БД под новые проекты в рамках создаваемого мной RAD-CASE инструментария.
Как-то можно обойти это ограничение?

Настроил потоковую репликацию, всё работает, но в терминале резервного сервера постоянно есть ошибка такого типа:
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 .

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

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