On 6/23/20 8:32 AM, Jason Ralph wrote:

Hello List,

PostgreSQL 11.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (R

ed Hat 4.4.7-23), 64-bit

I am planning an update on a table with 20Million records, I have been researching the best practices.  I will remove all indexes and foreign keys prior to the update, however I am not sure if I should use a transaction or not.

My thought process is that a transaction would be easier to recover if something fails, however it would take more time to write to the WAL log in a transaction.


Are you updating *every* row in the table?

Are you updating indexed fields?  (If not, then leave the indexes and FKs, since they won't be touched.)

Would it make sense to make a back up of the table then execute update without a transaction?


Always make a backup.

How would you guys do it?


It depends on what percentage of the rows are being updated, which columns are being updated and how big the records are.


--
Angular momentum makes the world go 'round.

Reply via email to