Обсуждение: Updateing pg_trigger and pg_constraint
I am trying to make some foreign keys deferrable and initially deferred. These foreign key constraints already exist so I was going to change them by updating pg_trigger and pg_constraint. However the changes do not seem to take affect. Is there something I need to do to get PostgreSQL to recognize that I have tweaked it's tables? This is the query that I used: begin work; update pg_constraint set condeferrable = true, condeferred = true where contype ='f'; update pg_trigger set tgdeferrable = true, tginitdeferred = true where tgconstrname in ( select conname from pg_constraint where contype = 'f' ); commit any help would be appreciated, Craig
Craig Servin <cservin@cromagnon.com> writes: > I am trying to make some foreign keys deferrable and initially deferred. > These foreign key constraints already exist so I was going to change them by > updating pg_trigger and pg_constraint. > However the changes do not seem to take affect. Is there something I need to > do to get PostgreSQL to recognize that I have tweaked it's tables? Try starting a fresh backend session. Manual hacking of those tables isn't going to cause a relcache reload ... regards, tom lane
> Try starting a fresh backend session. Manual hacking of those tables > isn't going to cause a relcache reload ... > Simply reconnecting to the backend does not help. If I restart the server everything works as expected. I am wondering if there is a way to trigger a relcache reload without shutting down the PostgreSQL. Craig