#!/bin/bash

refresh_collation() {
    local dbname="${1}"; shift

    psql -U postgres -qtAc "ALTER DATABASE ${dbname} REFRESH COLLATION VERSION"
}

get_databases() {
    psql -U postgres -qtAc "SELECT datname FROM pg_database;"
}

refresh_collation_after_upgrade() {
    databases=$(get_databases)

    for db in ${databases}; do
        echo "Refreshing collation for db: ${db}"
        refresh_collation "${db}"
    done
}

refresh_collation_after_upgrade
