anchor.diff:  ** Con: super difficult to configure, non open, and with a laaaaarge installation
   * A NoSQL database
   ** Pro: really fast developing field in the recent years
  -** Con: usually it is a fragmented field, with many products specialized on different aspects (eg. ElasticSearch on clustered responsiveness, MongoDB on data reliability, ArangoDB on other features); also, generally they are not lightweight
  +** Con: it is a fragmented field, with many products specialized on different aspects (eg. ElasticSearch on clustered responsiveness, MongoDB on data reliability, ArangoDB on other features); also, generally the noSQL dbs are not lightweight
   
  -In the end I decided to go with the Postgres route: it is the one I felt more confortable together with MySQL, with the advantage that installing it on Windows is relatively painless.
  +In the end I decided to go with Postgres: it is the one I felt more confortable together with MySQL, with the advantage that installing it on Windows is relatively painless.
   
   == Install and configure 'portable' Postgres
  -On Windows I like to micromanage the system and keep things tidy. If a software I need offers the 'zip' binary archive to download instead of any MSI/EXE installer, I usually go that way.
  +On my Windows pc I like to micromanage the system and keep things tidy. If a software I need offers the 'zip' binary archive to download instead of any MSI/EXE installer, I usually go that way.
   
   I put normal software blobs in a `C:\opt` folder, and if it is developement-related software, I use the  `C:\workspace\opt` folder (as `C:\workspace` is the root of all my code). Yes yes I know, bad habits from Linux... moving on :P
   
  -It happens that Pg offers percisely this: https://www.enterprisedb.com/download-postgresql-binaries. So time to download the Win-x86-64 blob for version 9.5.6 and unpack it.
  +It happens that Pg offers precisely this: https://www.enterprisedb.com/download-postgresql-binaries. So time to download the _Win-x86-64_ blob for version 9.5.6 and unpack it.
   
   The binary blob provides not only the Pg commands, but also the handy pgAdminIII frontend. In the root folder of the unpacked software (in my case, `C:\workspace\opt\postgres-9.5.6\`), then, create the batch file `launch_pg.bat` with this content:
   
  
positive.code: 
  :hp-tags: Postgres, Windows
  
  For a personal project I needed finally to get a grip and move from a base database to something more Enterprise-level.
  
  Usually, DBs are not my thing, but if you need persistence in any project, it is almost an obligatory route. I like simple things and I would usually go for the easiest and most straightforward option. Because my pet project was Java-based, I thus was using the well-known http://www.h2database.com/html/main.html[H2 database] (which is implemented in Java itself).
  
  However the project was getting large and I needed advanced features like Connection Pooling and networked DB server -- if you want to play the cloud route, you definitely have to start thinking about these things sooner or later.
  
  == Choosing the DB server
  In choosing the DB server, i had some constraints. First of all, my home machine is not that great -- it's a desktop-replacement laptop from 2012 with Windows 7, so no heavy loads thank you :-).
  For me the choice could be reduced to the followings:
  
  * MySQL / mariaDB
  ** Pro: fast, stable, open-source
  
negative.code: *WARNING*: The first run of this script will initialize the database in the %PGDATA% directory with the `initdb` line. _For the following launches, remember to comment that line_.
  
  At this point, I am basically done: I'll just create Desktop launchers for both this .bat file and the pgAdmin.exe file that you can find in bin\. As you can understand my need is to launch (and terminate) Pg on-demand.
  
  However, other people may want to launch Pg as system service or scheduled task (at startup). If that's the case, I suggest to create a startup task in Windows' Task Scheduler in Control Panel.
  
  In a next blog post, I will discuss how I managed to manage Postgres (via a connection-pool) using the canonical Java JDBC way. Stay tuned!
  