Ti aiuterebbe?
Questo sta usando la formattazione della data incorporata nella funzione TO_CHAR. Non sono completamente a mio agio con Postgresql, quindi potrebbe essere necessario apportare alcune modifiche.
UPDATE
TABLENAME
SET
year = TO_CHAR(date, 'YYYY'),
date = TO_CHAR(date, 'YYYYMM');
Se la colonna "anno" non esiste già, dovrai crearla con un ALTER TABLE
prima l'affermazione
ALTER TABLE [table_name] ADD COLUMN [column_name] [data_type] {collation} {column_contstraint};
Consiglierei di controllare la documentazione per il corretto utilizzo.
EDIT:se ti stai preoccupando del tempo necessario per aggiornare tutte le righe (ho visto che hai commentato un'altra risposta che avevi circa 2 milioni di record), ti suggerisco di leggere questo post .
Spiega che potrebbe essere più veloce creare la tabella da zero con i dati invece di aggiornare ogni singola riga.