А вот судя по ошибке FATAL: password authentication failed for user "postgres""
я бы еще и пароль заново установил на пользователя
# su - postgres
$ psql
..=# ALTER USER postgres with password 'secure_password';
Это называется immediately-invoked function expression, смысл в том, что в JavaScript функции создают область видимости, а блоки не создают со всеми вытекающими последствиями. Кстати, если непонятно, что это за последствия, возможно, вам стоит ознакомиться с областями видимости (англ. -- scope) подробнее. Вкратце можно посмотреть по ссылке, но вообще это очень важная тема.