8.х Блокировка таблиц PostgresSQL

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем neo_rasul, 13 авг 2009.

  1. TopicStarter Overlay
    neo_rasul
    Offline

    neo_rasul Опытный в 1С

    Регистрация:
    29 янв 2009
    Сообщения:
    125
    Симпатии:
    0
    Баллы:
    26
    В postgres постоянно происходит при работе конфликт блокировок. Типа тогого
    Код:
    Ошибка при вызове метода контекста (ЗаписатьИзменения): Конфликт блокировок при выполнении транзакции:
    ERROR:  deadlock detected
    DETAIL:  Process 11224 waits for ApplicationShareLock on relation 1193501 of database 17098; blocked by process 5772.
    Process 5772 waits for ApplicationExclusiveLock on relation 1193506 of database 17098; blocked by process 11224.
    
    Техническая информация:
    {ОбщийМодуль.ПроцедурыОбменаДанными(1546)}: Ошибка при вызове метода контекста (ЗаписатьИзменения): 
    Конфликт блокировок при выполнении транзакции:
    
    
    
    Изменилось ли что нибудь в Postgres 8.2 или в 8.3? У меня сейчас стоит 8.1.5-17.1C
  2. wiranata
    Offline

    wiranata Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    По моим наблюдениям нет... та же фигня
  3. TopicStarter Overlay
    neo_rasul
    Offline

    neo_rasul Опытный в 1С

    Регистрация:
    29 янв 2009
    Сообщения:
    125
    Симпатии:
    0
    Баллы:
    26
    А в MS Sql вроде таких проблем с блокировкой нет!? Скиньте плиз ссылку или demo версию ms sql.
  4. wiranata
    Offline

    wiranata Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Ты вначале приценись к лицензиям...
  5. belousov
    Offline

    belousov

    Регистрация:
    22 дек 2008
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    В MSSQL такой проблемы нет, потому что там блокируется строка, а в PostgreSQL таблица целиком. и это происходит в автоматическом режиме.

    Чтобы управлять блокировками в PostgreSQL надо переписывать код
  6. wiranata
    Offline

    wiranata Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Либо пользоваться типовыми конфигурациями
  7. TopicStarter Overlay
    neo_rasul
    Offline

    neo_rasul Опытный в 1С

    Регистрация:
    29 янв 2009
    Сообщения:
    125
    Симпатии:
    0
    Баллы:
    26
    Переписывать код чего? Постгри? Или самой 1с?

    У нас типовая конфигурация 1с Управлении Торговлей редакция 10.3 (10.3.6.8). И постгри типовая от 1с.
  8. Bright Sun
    Offline

    Bright Sun

    Регистрация:
    6 авг 2009
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Уточните вашу версию PostgreSQL и релиз платформы?
  9. CeHbKA
    Offline

    CeHbKA

    Регистрация:
    9 янв 2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Подниму тему...
    Возникла необходимость перевести Управление Торговлей 10.3 на клиент-серверный вариант. По причине того, что база выросла до 13Гб.
    Поставили PostgreSql-9.1.2-1.1Cx64 (сборка от 1С)
    Платформа 8.2.15.294
    Сервер 1C 8.2.15.294 x64
    Характеристики сервера: Quad Core Xeon E5620, RAM: 16GB, HDD: 2x1000 GB (RAID1, SATA)
    Количество пользователей: 21

    Вобщем, выгрузили в .dt, загрузили в PostgreSQL и... И началась жопа...
    Хит сезона - ошибка
    Естественно, стоит Автоматический режим управления блокировками... Естественно, 21 пользователь не может комфортно работать...
    Вопрос мой заключается вот в чём - обязательно ли дописывать управляемые блокировки, и что можно подкрутить в PostgreSQL(ведь качали сборку 1С, по идее всё должно быть настроено)?

    PS совсем забыл, работаем в режиме "без сжатия". Специально запускаем ярлык для этого - может в этом камень преткновения?
  10. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Сенька, курите маны!
    Про особенности работы с разными СУБД есть масса статей, в т.ч. и на ИТСе.
    Описанная трабла - свойственна постгри (бесплатный сыр такой бесплатный)
  11. CeHbKA
    Offline

    CeHbKA

    Регистрация:
    9 янв 2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    uza,

    не могли бы вы описать какие мануалы нужно почитать? Дело в том, что ИТС мы не выписываем, а во всей инфе которую я читал одна панацея - управляемые блокировки
  12. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Это единственная панацея, либо, как было сказано выше - пользоваться стандартными конфигурациями с последними обновлениями (в этих конфах просто уже проведен перевод на управляемые блокировки).

    И при этом, обратите внимание, что даже для такого "костыля" нужно еще и постгри патчить.
    Теперь можете оценить трудозатраты на перевод под управляемые блокировку, помножить на ставку программиста, добавить налоги - и оценить на сколько же этот самый MS SQL "очень дорого" со знаком минус
  13. CeHbKA
    Offline

    CeHbKA

    Регистрация:
    9 янв 2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    1) УТ 10.3 под управляемые блокировки нет - смотрел последний релиз от 26.12.2012
    2) УПП 1.3 переведена на управляемые блокировки, но т.к. я слабо знаком с технологией упр.блокировок, понять как оно там работает проблематично =)
    3) почему Postgre надо патчить, если это офф. сборка с сайта 1С?
  14. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    А что есть "сборка" от 1С? Не задумывались?
    Это взяли постгри, с его передовой технологией конца 20го века "транзакция должна блокировать ВСЮ таблицу сразу, решительно"
    и прикрутили к нему костылики, позволяющие умолять постгрю не лочить всю таблицу, а только вот эти 20 записей, чтоб оно хоть как то, хромая и попё..дывая могло работать.

    В прочем некоторые Постгрифаги со мной могут не согласиться.
  15. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    А т.к. постгрю нужно именно что УМОЛЯТЬ это делать - то вот и нужно накручивать управляемые блокировки. В противном случае, гордая свободная постгря продолжает лочить целыми таблицами.

    Т.е. этот вариант лично мне видится как некая возможность обойти ограничения файловой версии на размер таблицы, и даже "завести" шарманку на столь же гордом свободном линупсе (пингвиноё... приверженцы свободного ПО - пребывают в восторге)
  16. CeHbKA
    Offline

    CeHbKA

    Регистрация:
    9 янв 2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    uza,

    вас понял, спасибо

    получается никакого выхода кроме управляемых блокировок нет =)
  17. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Ну если отбросить цивилизованный вариант приобретения ключа к двери - то да, придется отбивать пятки. Только выход в окно, только хардкор.

    Не верите?
    Ловите из гугля
    http://v8.1c.ru/overview/datalockcontrol.htm
    http://www.gilev.ru/1c/81/postgresql/index.htm

    Из ИТС (если нет подписки, можете получить 7ми дневную демо)
    http://its.1c.ru/db/v8doc#content:93:1:IssOgl1_8.6.%20%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20PostgreSQL
  18. CeHbKA
    Offline

    CeHbKA

    Регистрация:
    9 янв 2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Всё это было прочитано, всё проштудировано...
    Ещё раз спасибо :)


    PS управляемые блокировки всё равно осваивать придётся. Как ни крути - сейчас это стандарт у 1С

Поделиться этой страницей