pgsql.sh startup script

It seems that the postgresql rc.d startup scripts have the following
lines:
# pgsql_home="/path/to/home" # path to pgsql database directory
eval pgsql_home="~$pgsql_user"
I believe that the second of these unconditionally replaces the value
of $pgsql_home. However, the previous comment suggests that one can
define the variable in rc.conf.
Should the redefinition be conditional on the value being empty?
Cheers,
Brook