powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите как сделать, php+postgresql+commit
4 сообщений из 4, страница 1 из 1
Подскажите как сделать, php+postgresql+commit
    #35613106
ksm80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такая ошибка, не могу найти правильное решение
Код: plaintext
1.
2.
Warning: pg_query(): Query failed: ERROR:  SPI_execute_plan failed executing query "commit": SPI_ERROR_TRANSACTION
CONTEXT:  PL/pgSQL function "logreq" line  6  at SQL statement

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
CREATE OR REPLACE FUNCTION logreq(pstr varchar) RETURNS integer LANGUAGE plpgsql VOLATILE AS
$$
declare
  vret integer;
begin
  insert into logreq (str) values (pstr)
  returning id into vret;
  commit;
  return vret;
end;
$$

CREATE OR REPLACE FUNCTION test(preq varchar) RETURNS integer LANGUAGE plpgsql VOLATILE AS
$$
declare
  vret integer;
begin
  vret := logreq(preq);
  ..........
end;
$$

Код: plaintext
1.
2.
<?php
pg_query("select * from test('bla');");

Как мне залогировать строчку? можно ли "запихнуть" в автономную транзакцию или поменять вызов на пхп&
...
Рейтинг: 0 / 0
Подскажите как сделать, php+postgresql+commit
    #35613195
Фотография ss25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подскажите как сделать, php+postgresql+commit
    #35613477
ЯЕХХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в функции нельзя использовать commit/rollback.

вариант раз: использовать dblink (замена автономной транзакции)

вариант два: записывать в файл функцией на untrusted-языке (пример: pg_file_write из adminpack)

вариант три: обернуть в BEGIN...EXCEPTION всё, что может упасть после записи в лог; транзакцию коммитить в любом случае (код ошибки придётся передавать из функции каким-нибудь другим способом)
...
Рейтинг: 0 / 0
Подскажите как сделать, php+postgresql+commit
    #35613739
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
четвертый вариант savepoint-ы?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите как сделать, php+postgresql+commit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]