> 2. copy whole data directory over to new SAN If database is big, then I think that is much faster to copy running database to new SAN. Then stop postgres and rsync what was changed - but this will be probably only a few files.
I believe if you do this, you will not get a function database in the end. There is a lot of data that is held in memory/buffers that may not be flushed to the disks. You have no guarantee you will get this data with this method.
Either shut the database down and cold copy it, or setup replication using Slony to move the data in a "hot"mode.