Intuitively, adding the option ON UPDATE CASCADE to a foreign key constraint will have the effect of updating all referencing columns with the updated value of the key. Would that really work? 

Example [lifted from manual][1]:

    CREATE TABLE products (
        product_no integer PRIMARY KEY,
        name text,
        price numeric
    CREATE TABLE orders (
        order_id integer PRIMARY KEY,
        shipping_address text,
    CREATE TABLE order_items (
        product_no integer REFERENCES products ON DELETE RESTRICT,
        order_id integer REFERENCES orders ON UPDATE CASCADE,
        quantity integer,
        PRIMARY KEY (product_no, order_id)

I am using Postgres 9.1.