November 30, 2005
| You must have Windows 2000 or Windows XP with a NTFS file system partition to be able to install PostgreSQL on your machine. |
In September 2005 the last release of Postgres was 8.0 8.0.3.
I downloaded postgresql-8.0.3.zip, the multi-language version of the installer without problems from a mirror site of the PostgreSQL FTP site. The file is only about 18MBytes, so the download with FTP is fast. Postgres calls installer the whole enchilada that is needed to run Postgres on your machine. At first I thought that the installer was only an installation program to install some other files located who knows where but thankfully this is not so. The only problem I discovered later: downloading trashed my FTP program's connection list, not a big deal but annoying, mainly because I don't know what happened.
I turned off Norton antivirus, left on my firewall, unzipped postgresql-8.0.3.zip and run postgresql-8.0.msi. To do this I was logged on as Administrator.
In the service account configuration window I was told that the service name was "PostgreSQL Database Server 8.0", the account name "postgresql", the account name "FASTBOY", which is the name of my machine and entered then as account password "pragma6". The service account is the account that runs the Postgres database server and must not be a member of the local administrator group. I was granted log on rights as a service.

When making the Postgres installation there are two different entities: the Postgres Service and the postgres user. You must use two different names, not just the one supplied! If you call both postgres you will end up with a big confusion, so I called the Service postgresservice and the Username postgres.
In the initialize database cluster I was told that Postgres would use port number 5432 and I told PostgreSQL to accept connections on all addresses. The locale was C, whatever that meant and the encoding SQL_ASCII . And in good olfashioned UNIX tradition I was told that the superuser (not administrator, like Windows) name was postgres, and that I had to supply a password, which I did ("pragma6" again) and that I would have to edit the file pg_hba.conf file to grant access to specific host addresses or networks. I don't know if and when I will use this information, but I wrote it down anyway.
In the enable procedural languages only PL/pgsql was checked, the other options were not even selectable.
In the enable contrib modules window by default only the DBsize and pgAdmin support options were checked, and I left them like that.
In the enable PostGIS window I did not check the option to enable PostGIS in template 1.
To run Postgres I created in Windows a user account with limited rights, calles of course Postgres. Mainly because I read that Postgres cannot and should not run with Administrator rights, for security reasons. Postgres seems to be very security minded. I have done nothing with that new user account and don't know if PostgreSQL uses it, but since everything seems to work at this point I don't worry .
To do anything you use the supplied administrator program, pgAdmin3.exe, which is in the directory Program Files\PostgreSQL\8.0\pgAdminIII\pgAdmin3.exe. Quite a mouthful, but the installation program registers itself with all the other programs, including with what seems a very complete help.
During the PostgreSQL installation the installation program automatically makes an entry in the Windows Services so that whenever Windows starts so does PostgreSQL. If for any reason you must stop or start PostgreSQL go to the 'Control Panel', 'Administrative Tools', 'Services':

Also if you get an error that you cannot access a database or a server, check that PostgreSQL is running.
To connect to a PostgreSQL server on another machine you must make the following entry in the postgresql.conf file on the machine you want to connect to.

I added the line with the CIDR-ADDRESS 223.0.0.4/32, the TCP-IP address of the machine that wants to connect. After editing you must stop and restart the service for the change to take effect. Go to Control Panel, Administrative Tools, Services and stop and start PostgreSQL.
When connecting from another machine on the net, you must give to the firewall the connection authorization if you have one installed!