On version 7.3.2, 'truncate' can not be executed from pl/pgsql. But it isn't stated on change notes. Is it a bug? Jack
Jack, > On version 7.3.2, 'truncate' can not be executed from pl/pgsql. But it > isn't stated on change notes. Is it a bug? No, it's a fix. TRUNCATE, VACUUM, ANALYZE, and REINDEX all perform COMMIT statements as part of their operation. If called within a function, this could cause part of the function to be committed while the rest failed, or even cause a fatal error. As such, these statements have been deliberately disabled within PL/pgSQL and SQL functions. -- Josh Berkus Aglio Database Solutions San Francisco
Josh Berkus <josh@agliodbs.com> writes:
>> On version 7.3.2, 'truncate' can not be executed from pl/pgsql. But it
>> isn't stated on change notes. Is it a bug?
> No, it's a fix.
Note however that TRUNCATE has been reimplemented to be transaction-safe
in 7.4, and so the restriction has gone away again.
regards, tom lane
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера