我写了一个脚本来REINDEX索引数据库。这是其中之一:
echo -e "\nreindex for unq_vbvdata_vehicle started at: `date "+%F %T"`" >> ${LOG_FILE}
psql -U ${USERNAME} -h ${HOSTNAME} -d ${DBNAME} -c "REINDEX INDEX scm_main.unq_vbvdata_vehicle;"
if [[ ${?} -eq 0 ]]; then
    echo "reindex for unq_vbvdata_vehicle finished at: `date "+%F %T"`" >> ${LOG_FILE}
else
    echo "reindex for unq_vbvdata_vehicle failed" >> ${LOG_FILE}
    exit 1
fi
问题是我无法在独立模式下运行此脚本。psql每次运行时都会提示输入密码。还有两个限制:
- 我无法在没有密码的数据库上创建用户。 
- 因为 - REINDEX锁定表,所以我应该- sleep <num>在每个表之间使用- REINDEX。
有没有自动解决方案?
peer用于本地连接的身份验证方法。当前仅适用于Linux,BSD,OS X或Solaris(不适用于Windows)。