Like insert, except that if the row already exists, it is deleted, and the
column values provided are inserted instead. Unlike insert_or_update, this
means any values not explicitly written become
NULL. In an interleaved
table, if you create the child table with the
ON DELETE CASCADE
annotation, then replacing a parent row also deletes the child rows.
Otherwise, you must delete the child rows before you replace the parent