PostgreSQL 9.1 व्यवस्थापक पैक स्थापित करें


12

हर जगह मैं पोस्टग्रे के लिए गाइड देखता हूं, यह 8.4 संस्करण पर लगता है। उस मामले में निर्देश है:

sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sql

वह स्थान 9.1 निर्देशिका में स्पष्ट रूप से मौजूद नहीं है।

क्या कोई मुझे बता सकता है कि इसे कैसे काम करना चाहिए (पगड्मिन के लिए)?

जवाबों:


17

व्यवस्थापक पैक में पाया जा सकता है /usr/share/postgresql/9.1/extension

स्थापित करने के लिए

sudo -u postgres psql

CREATE EXTENSION adminpack;

इंस्टॉल किए गए एक्सटेंशन की सूची देखने के लिए भी select * from pg_extension;


यह कमोबेश यही था। मैं इसे उस उपयोगकर्ता के साथ पूरा करने का प्रयास कर रहा था जो डेटाबेस का मालिक था जब वास्तव में ऐसा प्रतीत होता है कि डिफ़ॉल्ट उपयोगकर्ता, जो सुपरसुअर स्थिति वाला है, उसे करने की आवश्यकता थी।
रॉबर्ट

9

ऊपर दिया गया जवाब बढ़िया काम करता है। आपको बस यह याद रखना है कि आपको प्रत्येक डेटाबेस के लिए ऐसा करने की आवश्यकता है, क्योंकि एक्सटेंशन प्रति डेटाबेस स्थापित हैं। ऊपर दिए गए निर्देश नामित डेटाबेस में एक्सटेंशन स्थापित करते हैं postgres। इसे अपने डेटाबेस में स्थापित करने के लिए बस अपने डेटाबेस पर जाएँ:

\c yourdb और प्रक्रिया को दोहराएं: CREATE EXTENSION adminpack उबंटू पर एडमिन पैक पोस्टग्रैसक्ल-कॉर्बिन पैकेज में है।


1

सबसे पहले, यदि आपने स्थापित नहीं किया है contrib:

sudo apt-get install postgresql-contrib

कई डेटाबेस पर पुनरावृति करने के लिए:

sudo su postgres;
for db in $(psql -c "SELECT datname FROM pg_database WHERE datistemplate = false;" | sed '1,2d' | head -n -2 | grep -v '^ postgres$'); do
  echo "Adding adminpack to ${db}"
  psql -c "CREATE EXTENSION adminpack;" ${db};
done

एक के रूप में (ish) -लाइनर:

sudo su postgres;
for db in $(psql -c "SELECT datname FROM pg_database WHERE datistemplate = false;" | sed '1,2d' | head -n -2 | grep -v '^ postgres$'); do psql -c "CREATE EXTENSION adminpack;" ${db}; done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.