slapos/recipe/postgresql: Do not leave half-installed postgresql instance
In case there are errors when creating cluster / setting up its configuration files, currently we leave pgsql database left half-installed and next time instantiation runs do not do anything, because os.path.exists(pgdata) is already true.
I've personally hit this situation via providing ipv4 and ipv6
parameters as strings and the recipe wanted to do ipv4.join(ipv6)
but this
works only for sets and raises for strings.
What is worse is that the above error becomes hidden in our default setup, because webrunner tries to do instantiation several times, and on the second run instantiation succeeds, because pgdata directory already exists and recipe thinks there is nothing to do and webrunner already removed instance.log from previous run.
So do not hide errors, and if we see there are problems, remove the wholly created pgsql database directory.
/cc @kazuhiko