One of the many things I have is much of data – and more is coming in every day. Currently, this data is stored in a variety of formats – and some of it is not accessible at all (e.g. only available in scanned images).
What I need is a real database – and it must be one that is able to store spatial data. It should not cost a great deal, should be well established and easy to maintain. Looking around, I came across three possible solutions:
- MS SQL Server Express
- mySQL
- PostgreSQL
I finally decided for PostgreSQL, especially since one of the things I wanted to do with the data inside is working with Quantum GIS (or QGIS). And PostgreSQL (but also mySQL) integrates with that quite well.
The Operating System
If I go with PostgreSQL, I might as well be consequent and not install it on a Windows environment (which needs to be licensed) but on a LINUX environment – I have chosen Ubuntu Server, to be precise Ubuntu Server 12.04.3 LTS.
For my home operations (and ease of installation) I will install into a VMWare Workstation 10 environment.
Given that I have plenty of resources available, the new virtual machine gets 2 CPUs with 2 Cores each, 4 GB of RAM and a 50 GB HDD.
The associated files are stored on a QNAP connected via iSCSI – that will allow me to re-use the machine from other computers on my network. It also saves space on my local hard disks and I will get an impression on the performance.
The downloaded ISO Image for Ubuntu 12.04.3 Server 64 Bit is loaded into the virtual CD-ROM and the virtual machine is started.
I will try to keep the installation in English so everyone can read the screens – next is the Ubuntu Installation Menu.
From here, select “Install Ubuntu Server”, then select the Installation Language (which will also become the default language for the installed system) – I will install my system in English. Once the selections are done, the automated configuration starts and the first interaction is the host name of the computer.
I change the host name of my system to “postgre” as this will be a PostgreSQL Server. Next, the installer is asking for the full name and user name of a new user. Ubuntu requires this, it will not allow you to log in using the default “root” user.
You will also have to provide a password for the new user and decide if the home directory will be encrypted (where I keep the standard of <No>).
The installer will determine the time zone, then guide you through the disk partitioning dialogs.
I decide to stick to the defaults (which is to allocate the whole of the available disk to the system) and once done, the installation of the base system is progressing.
Eventually, the installer will ask for the HTTP Proxy configuration (if required) and update the package manager files. More software will be installed and the installer asks for the type of Update Configuration desired – which I leave at “No automatic updates”. I now get a choice to install some software packages by default – which I kindly deny although PostgreSQL is amongst the available packages.
The reason is simple: Ubuntu comes with a packaged version of PostgreSQL 9.1 – and I am not sure I want that. Also, I would like to see how the “manual” install of the package works…
While the system is now completing the installation, it is time to take a look at the QNAP – especially the data transfers going on.
At a mere 12 MB/s at the peak, the performance of the virtual machine does not seem to suffer from the iSCSI usage for this environment. And the 12 MB/s are the peak, not the average.
The Ubuntu installer finally comes to the point where it finds the installation as the only operating system on the target environment and consequently offers to write the Boot Loader information into the Master Boor Record of the first (and only!) disk.
That concludes the installation of Ubuntu Server – the system will now reboot and issue a login screen.
This is the time to shut down the virtual machine and take a snapshot in VMWare Workstation… just to stay on the safe side of things.
This now provides a working (yet totally unconfigured) Ubuntu Environment for further experiments…