The best way to calculate the size of your tables is to use the optional module dbsize, which comes with the Postgres source code, see .../contrib/dbsize
(You may or may not have it compiled/included in your Postgres installatiuon).
The size of the database between different UNIX platforms should be about the same (that is my best guess) and I have no idea how it would compare with Windows installation.
Keep in mind that size on the disk is always larger than all your data, because database needs to maintain a lot of metadata, logs, etc.
On UNIX you can see the overall size with the `du` command:
- % cd $PGDATA
-
postgresql % du -h
-
3.6M ./base/1
-
3.6M ./base/16975
-
4.0K ./base/16976/pgsql_tmp
-
32M ./base/16976
-
39M ./base
-
132K ./global
-
81M ./pg_xlog
-
52K ./pg_clog
-
120M .
Here it's about 120 mb
Check the man pages for options to du command supported on given platform
Also keep in mind that overall size on disk may change without any changes to your data, because of either postgres internal maintenance or some user actions
(Try running "VACUUM FULL" on your db and then run `du` again to compare)
To answer all of your questions... this takes more than just yes or now... can I ask why are you concerned with all this?