मैंने 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स्थानीय कनेक्शन के लिए प्रमाणीकरण विधि भी है । वर्तमान में केवल लिनक्स, बीएसडी, ओएस एक्स या सोलारिस (विंडोज के लिए नहीं)।