This is something libpq also does when opening and closing connections.
This mechanism uses a use count and based on that count dll's are loaded
and unloaded. By adding those calls to main we make sure the use count
stays above zero for the whole duration of the program.