pgadmin-org / pgadmin-org/pgadmin4

A column with a trigger is not updated when a data change is made through the Data Output section

Open
#9,598 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature
Dominant language
Python
Stars
3.8k
Forks
891
Avg merge
4d 7h
Merged PRs (30d)
8

Description

Hi !

1. What

I think that a column with a trigger is not updated in the Data Output section after a Data Change has been made on another column.

Here are my pgAdmin infos :

  • Version : 9.11
  • Application Mode : Desktop
  • Commit : dc801e362ebde7fe59ecf77eaaab740fe7452cc5 2025-12-08
  • Python Version : 3.14.1
  • Browser : Chrome 143.0.0.0
  • Operating System : Alpine Linux v3.23, Linux-6.12.10-76061203-generic-x86_64-with-musl1

2. How

  1. Create a new table with a few columns, including one date column
CREATE TABLE mytable (
  id SERIAL PRIMARY KEY,
  value TEXT,
  date TIMESTAMP WITH TIME ZONE
);
  1. Add a trigger to this table :
CREATE OR REPLACE FUNCTION public.myfunction()
RETURNS TRIGGER AS $$
  BEGIN
    NEW.date = NOW();
    RETURN NEW;
  END;
$$ language 'plpgsql';

CREATE OR REPLACE TRIGGER mytrigger
BEFORE INSERT OR UPDATE ON mytable
FOR EACH ROW EXECUTE FUNCTION myfunction();
  1. Do an INSERT query :
INSERT INTO mytable VALUES (DEFAULT, 'Something', current_timestamp);
  1. Do a SELECT query :
SELECT * FROM mytable;

🟢 Seen & expected behavior :

  • the inserted row can be seen in the "Data Output" section
  • the date column has been correctly filled (by the trigger) and is correctly displayed
Image
  1. Change the value of one of the columns (but not the date one) through the "Data Output" section

  2. Press the "Save Data Changes" button

🔴 Seen behavior : only the edited column is up to date in the "Data Output" section
Expected behavior : the date column should be up to date as well

Image
  1. Do a SELECT query
SELECT * FROM mytable;

🟢 Seen & expected behavior :

  • the edited row can be seen in the "Data Output" section
  • the date column is now correctly displayed (with its updated value)
Image

3. Why

It seems that, after a successful "Data Change", pgAdmin doesn't get the last known value of the row (or of the other attributes of the row). It only updates the modified cell(s).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in pgAdmin's Data Output section using the supplied PostgreSQL table, trigger, and INSERT/UPDATE steps. Start with the Save Data Changes flow and compare the edited row with the database result after the trigger runs. Done means the Data Output section refreshes the trigger-updated date column immediately after saving, without requiring a separate SELECT.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql, python
Domain
database, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.