Странное поведение в Postgresql

Я новичок в Postgresql и пытаюсь перенести свое приложение из MySQL.
У меня есть таблица со следующей структурой:

                            Table "public.tbl_point"
          Column         |         Type          | Modifiers | Storage  | Description
 ------------------------+-----------------------+-----------+----------+-------------
  Tag_Id                 | integer               | not null  | plain    |
  Tag_Name               | character varying(30) | not null  | extended |
  Quality                | integer               | not null  | plain    |
  Execute                | integer               | not null  | plain    |
  Output_Index           | integer               | not null  | plain    |
  Last_Update            | abstime               |           | plain    |
Indexes:
"tbl_point_pkey" PRIMARY KEY, btree ("Tag_Id")
Triggers:
add_current_date_to_tbl_point BEFORE UPDATE ON tbl_point FOR EACH ROW EXECUTE PROCEDURE update_tbl_point()
Has OIDs: no

когда я запускаю запрос через программу C с использованием libpq:

UPDATE tbl_point SET "Execute"=0 WHERE "Tag_Id"=0

Я получил следующий результат:

ERROR:  record "new" has no field "last_update"
CONTEXT:  PL/pgSQL function "update_tbl_point" line 3 at assignment

Я получаю точно такую ​​же ошибку, когда пытаюсь изменить значение «Выполнить» или любой другой столбец с помощью pgAdminIII.

Все работает нормально, если я изменил имя столбца с «Last_Update» на «last_update».

Я обнаружил ту же проблему с другими таблицами в моей базе данных, и столбец всегда отображается со столбцами abstime или timestamp.

5
задан a_horse_with_no_name 27 January 2019 в 21:00
поделиться