J'ai écrit un script pour REINDEX
indexer dans une base de données. Voici l'un d'entre eux:
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
Le problème est que je ne peux pas exécuter ce script en mode autonome. psql
demande un mot de passe chaque fois qu'il s'exécute. Il y a aussi deux limitations:
Je ne peux pas créer un utilisateur sur la base de données sans mot de passe.
Parce que
REINDEX
verrouille les tables, je devrais utilisersleep <num>
entre chaqueREINDEX
.
Y a-t-il une solution automatique?
peer
une méthode d'authentification pour les connexions locales. Actuellement, uniquement pour Linux, BSD, OS X ou Solaris (pas Windows).