postgresql ट्यूटोरियल
Postgresql के साथ शुरुआत करना
खोज…
टिप्पणियों
यह अनुभाग बताता है कि पोस्टग्रैस्कल क्या है, और एक डेवलपर इसका उपयोग क्यों करना चाहता है।
यह भी पोस्टग्रैसिक्ल के भीतर किसी भी बड़े विषयों का उल्लेख करना चाहिए, और संबंधित विषयों के लिए लिंक करना चाहिए। चूंकि Postgresql के लिए दस्तावेज़ीकरण नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।
संस्करण
संस्करण | रिलीज़ की तारीख | ईओएल दिनांक |
---|---|---|
9.6 | 2016/09/29 | 2021/09/01 |
9.5 | 2016/01/07 | 2021/01/01 |
9.4 | 2014-12-18 | 2019/12/01 |
9.3 | 2013-09-09 | 2018/09/01 |
9.2 | 2012-09-10 | 2017/09/01 |
9.1 | 2011-09-12 | 2016/09/01 |
9.0 | 2010-09-20 | 2015/09/01 |
8.4 | 2009-07-01 | 2014-07-01 |
जीएनयू + लिनक्स पर स्थापना
अधिकांश GNU + लिनक्स ऑपरेटिंग सिस्टम पर, PostgreSQL को ऑपरेटिंग सिस्टम पैकेज मैनेजर का उपयोग करके आसानी से स्थापित किया जा सकता है।
रेड हैट परिवार
रिज़ॉल्यूशनरी यहां देखे जा सकते हैं: https://yum.postgresql.org/repopackages.php
कमांड के साथ रिपॉजिटरी को लोकल मशीन में डाउनलोड करें
yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
उपलब्ध पैकेज देखें:
yum list available | grep postgres*
परिशिष्ट पैकेज हैं: postgresqlXX postgresqlXX- सर्वर postgresqlXX-libs postgresqlXX-contrib
ये निम्न कमांड के साथ स्थापित किए गए हैं: yum -y install postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
एक बार स्थापित होने के बाद आपको सेवा के स्वामी को सेवा के स्वामी के रूप में शुरू करना होगा (डिफ़ॉल्ट पोस्टग्रेज है)। यह pg_ctl कमांड के साथ किया जाता है।
sudo -su postgres
./usr/pgsql-X.X/bin/pg_ctl -D /var/lib/pgsql/X.X/data start
CLI में DB तक पहुंचने के लिए psql
डालें
डेबियन परिवार
डेबियन और व्युत्पन्न ऑपरेटिंग सिस्टम पर, टाइप करें:
sudo apt-get install postgresql
यह ऑपरेटिंग सिस्टम के पैकेज रिपॉजिटरी द्वारा पेश किए गए डिफ़ॉल्ट संस्करण पर, PostgreSQL सर्वर पैकेज को स्थापित करेगा।
यदि डिफ़ॉल्ट रूप से इंस्टॉल किया गया संस्करण वह नहीं है जो आप चाहते हैं, तो आप विशिष्ट संस्करण की खोज के लिए पैकेज प्रबंधक का उपयोग कर सकते हैं जो एक साथ पेश किया जा सकता है।
आप एक भिन्न संस्करण प्राप्त करने के लिए PostgreSQL प्रोजेक्ट (जिसे PGDG के रूप में भी जाना जाता है) द्वारा प्रदान की गई यम रिपॉजिटरी का उपयोग कर सकते हैं। यह ऑपरेटिंग सिस्टम पैकेज रिपॉजिटरी द्वारा अभी तक पेश नहीं किए गए संस्करणों की अनुमति दे सकता है।
OSX पर MacPorts के माध्यम से PostgreSQL कैसे स्थापित करें
OSX पर PostgreSQL को स्थापित करने के लिए, आपको यह जानना होगा कि वर्तमान में कौन से संस्करण समर्थित हैं।
इस कमांड का उपयोग करके देखें कि आपके पास कौन से संस्करण उपलब्ध हैं।
sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
आपको एक सूची मिलनी चाहिए, जो निम्नलिखित की तरह दिखती है:
postgresql80 @8.0.26 databases/postgresql80
postgresql81 @8.1.23 databases/postgresql81
postgresql82 @8.2.23 databases/postgresql82
postgresql83 @8.3.23 databases/postgresql83
postgresql84 @8.4.22 databases/postgresql84
postgresql90 @9.0.23 databases/postgresql90
postgresql91 @9.1.22 databases/postgresql91
postgresql92 @9.2.17 databases/postgresql92
postgresql93 @9.3.13 databases/postgresql93
postgresql94 @9.4.8 databases/postgresql94
postgresql95 @9.5.3 databases/postgresql95
postgresql96 @9.6beta2 databases/postgresql96
इस उदाहरण में, PostgreSQL का सबसे नवीनतम संस्करण 9.6 में समर्थित है, इसलिए हम इसे स्थापित करेंगे।
sudo port install postgresql96-server postgresql96
आपको इस तरह एक इंस्टॉलेशन लॉग दिखाई देगा:
---> Computing dependencies for postgresql96-server
---> Dependencies to be installed: postgresql96
---> Fetching archive for postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96
---> Installing postgresql96 @9.6beta2_0
---> Activating postgresql96 @9.6beta2_0
To use the postgresql server, install the postgresql96-server port
---> Cleaning postgresql96
---> Fetching archive for postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server
---> Installing postgresql96-server @9.6beta2_0
---> Activating postgresql96-server @9.6beta2_0
To create a database instance, after install do
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
---> Cleaning postgresql96-server
---> Computing dependencies for postgresql96
---> Cleaning postgresql96
---> Updating database of binaries
---> Scanning binaries for linking errors
---> No broken files found.
लॉग स्थापना के लिए बाकी चरणों पर निर्देश प्रदान करता है, इसलिए हम अगले ऐसा करते हैं।
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
अब हम सर्वर शुरू करते हैं:
sudo port load -w postgresql96-server
सत्यापित करें कि हम सर्वर से कनेक्ट कर सकते हैं:
su postgres -c psql
आप पोस्टग्रेट्स से एक संकेत देखेंगे:
psql (9.6.1)
Type "help" for help.
postgres=#
यहां आप यह देखने के लिए एक क्वेरी टाइप कर सकते हैं कि सर्वर चल रहा है।
postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';
और प्रतिक्रिया देखें:
setting
------------------------------------------
/opt/local/var/db/postgresql96/defaultdb
(1 row)
postgres=#
टाइप करने के लिए \ q छोड़ें:
postgres=#\q
और आप अपने शेल प्रॉम्प्ट पर वापस आ जाएंगे।
बधाई हो! अब आपके पास OS / X पर एक रनिंग PostgreSQL इंस्टेंस है।
मैक OSX के लिए Postgres.app
PostgreSQL को मैक पर स्थापित करने के लिए एक बहुत ही सरल टूल Postgres.app डाउनलोड करके उपलब्ध है।
आप पोस्टग्रेज SQL को पृष्ठभूमि में या केवल तभी चला सकते हैं जब एप्लिकेशन चल रहा हो।
विंडोज पर PostgreSQL स्थापित करना
हालांकि एक यूनिक्स आधारित ऑपरेटिंग सिस्टम (पूर्व लिनक्स या बीएसडी) का उपयोग करने के लिए अच्छा है कि आप उत्पादन सर्वर के रूप में आसानी से विंडोज पर पोस्टग्रेक्यूएल स्थापित कर सकते हैं (केवल एक विकास सर्वर के रूप में)।
EnterpriseDB से विंडोज इंस्टॉलेशन बायनेरी डाउनलोड करें: http://www.enterprisedb.com/products-services-training/pgdownload यह पोस्टग्रेज SQL प्रोजेक्ट के लिए मुख्य योगदानकर्ताओं द्वारा शुरू की गई एक तृतीय-पक्ष कंपनी है, जिन्होंने विंडोज के लिए बायनेरिज़ को अनुकूलित किया है।
नवीनतम स्थिर (गैर-बीटा) संस्करण (लेखन के समय 9.5.3) का चयन करें। आप सबसे अधिक विन x86-64 पैकेज चाहते हैं, लेकिन अगर आप विंडोज का 32 बिट संस्करण चला रहे हैं, जो पुराने कंप्यूटरों पर आम है, तो इसके बजाय विन x86-32 चुनें।
नोट: बीटा और स्थिर संस्करणों के बीच स्विच करने से डंप और पुनर्स्थापना जैसे जटिल कार्य शामिल होंगे। बीटा या स्थिर संस्करण में अपग्रेड करने के लिए केवल एक सेवा पुनरारंभ की आवश्यकता होती है।
कंट्रोल पैनल -> सिस्टम और सिक्योरिटी -> सिस्टम -> सिस्टम टाइप पर जाकर आप देख सकते हैं कि विंडोज का वर्जन 32 या 64 बिट है, जो "## - बिट ऑपरेटिंग सिस्टम" कहेगा। यह विंडोज 7 के लिए पथ है, यह विंडोज के अन्य संस्करणों पर थोड़ा अलग हो सकता है।
इंस्टॉलर में उन पैकेजों का चयन करें जिनका आप उपयोग करना चाहते हैं। उदाहरण के लिए:
- pgAdmin ( https://www.pgadmin.org ) आपके डेटाबेस के प्रबंधन के लिए एक मुफ्त GUI है और मैं इसकी अत्यधिक अनुशंसा करता हूं। 9.6 में यह डिफ़ॉल्ट रूप से स्थापित किया जाएगा।
- PostGIS ( http://postgis.net ) जीआईएस डेवलपर्स के बीच बहुत लोकप्रिय जीपीएस निर्देशांक, दूरी आदि पर भू-स्थानिक विश्लेषण सुविधाएँ प्रदान करता है।
- भाषा पैकेज आधिकारिक रूप से समर्थित प्रक्रियात्मक भाषा PL / पायथन, PL / पर्ल और PL / Tcl के लिए आवश्यक पुस्तकालय प्रदान करता है।
- अन्य संकुल जैसे pgAgent, pgBouncer और Slony बड़े उत्पादन सर्वरों के लिए उपयोगी होते हैं, केवल आवश्यकतानुसार जाँच किए जाते हैं।
उन सभी वैकल्पिक पैकेजों को बाद में "एप्लिकेशन स्टैक बिल्डर" के माध्यम से स्थापित किया जा सकता है।
नोट: अन्य गैर-आधिकारिक रूप से समर्थित भाषा भी हैं जैसे PL / V8 , PL / Lua PL / Java उपलब्ध हैं।
PgAdmin खोलें और इसके नाम पर डबल क्लिक करके अपने सर्वर से कनेक्ट करें, उदा। "PostgreSQL 9.5 (लोकलहोस्ट: 5432)।
इस बिंदु से आप उत्कृष्ट पुस्तक PostgreSQL जैसे गाइड का पालन कर सकते हैं: अप और रनिंग, 2 डी संस्करण ( http://shop.oreilly.com/product/0636920032144.do )।
वैकल्पिक: मैनुअल सेवा स्टार्टअप प्रकार
PostgreSQL पृष्ठभूमि में एक सेवा के रूप में चलता है जो अधिकांश कार्यक्रमों की तुलना में थोड़ा अलग है। यह डेटाबेस और वेब सर्वर के लिए सामान्य है। इसका डिफ़ॉल्ट स्टार्टअप प्रकार स्वचालित है जिसका अर्थ है कि यह हमेशा आपके बिना किसी इनपुट के चलेगा।
आप PostgreSQL सेवा को मैन्युअल रूप से नियंत्रित क्यों करना चाहेंगे? यदि आप अपने पीसी को कुछ समय के लिए एक विकास सर्वर के रूप में उपयोग कर रहे हैं, लेकिन इसका उपयोग उदाहरण के लिए वीडियो गेम खेलने के लिए भी करते हैं, तो PostegreSQL आपके सिस्टम को चलते समय थोड़ा धीमा कर सकता है।
आप मैन्युअल नियंत्रण क्यों नहीं चाहेंगे? यदि आप इसे अक्सर करते हैं, तो सेवा शुरू करना और रोकना एक परेशानी हो सकती है।
यदि आपको गति में कोई अंतर नजर नहीं आता है और परेशानी से बचना पसंद करते हैं तो इसके स्टार्टअप प्रकार को स्वचालित रूप से छोड़ दें और इस गाइड के बाकी हिस्सों को अनदेखा करें। अन्यथा...
कंट्रोल पैनल पर जाएं -> सिस्टम और सुरक्षा -> प्रशासनिक उपकरण।
सूची से "सेवा" चुनें, इसके आइकन पर राइट क्लिक करें, और अधिक सुविधाजनक पहुंच के लिए डेस्कटॉप आइकन बनाने के लिए Send To -> डेस्कटॉप का चयन करें।
व्यवस्थापकीय उपकरण विंडो बंद करें और फिर आपके द्वारा बनाए गए डेस्कटॉप आइकन से सेवाएँ लॉन्च करें।
नीचे स्क्रॉल करें जब तक कि आप किसी सेवा को पोस्टग्रेस्क्ल-एक्स ## - 9. # (पूर्व। "पोस्टग्रैस्कल-एक्स 64-9.5") जैसे नाम से न देखें।
पोस्टग्रेज सेवा पर राइट क्लिक करें, गुण चुनें -> स्टार्टअप प्रकार -> मैनुअल -> लागू करें -> ठीक है। आप इसे आसानी से स्वचालित रूप से वापस बदल सकते हैं।
यदि आप सूची में अन्य पोस्टग्रैसक्यूएल संबंधित सेवाओं को देखते हैं जैसे कि "pgbouncer" या "PostgreSQL शेड्यूलिंग एजेंट - pgAgent" तो आप उनके स्टार्टअप प्रकार को मैन्युअल में भी बदल सकते हैं क्योंकि पोस्टग्रेजेक चल रहा है, तो वे बहुत अधिक उपयोग नहीं करते हैं। हालांकि इसका मतलब यह होगा कि हर बार जब आप शुरू करें और रुकें तो यह आपके ऊपर है। वे स्वयं PostgreSQL के रूप में कई संसाधनों का उपयोग नहीं करते हैं और आपके सिस्टम के प्रदर्शन पर कोई ध्यान देने योग्य प्रभाव नहीं हो सकता है।
यदि सेवा चल रही है, तो स्थिति स्टेटस कहेगी, अन्यथा वह नहीं चल रही है।
इसे शुरू करने के लिए राइट क्लिक करें और स्टार्ट चुनें। एक लोडिंग प्रॉम्प्ट प्रदर्शित किया जाएगा और इसके तुरंत बाद अपने आप गायब हो जाना चाहिए। यदि यह आपको दूसरी बार एक त्रुटि देता है। यदि वह काम नहीं करता है, तो स्थापना के साथ कुछ समस्या थी, संभवतः क्योंकि आपने विंडोज में कुछ सेटिंग बदल दी है ज्यादातर लोग नहीं बदलते हैं, इसलिए समस्या को खोजने के लिए कुछ स्लीथिंग की आवश्यकता हो सकती है।
पोस्टग्रेज को रोकने के लिए सेवा पर राइट क्लिक करें और स्टॉप का चयन करें।
यदि आपको कभी भी यह सुनिश्चित करने के लिए अपने डेटाबेस की जांच सेवाओं से कनेक्ट करने का प्रयास करते समय कोई त्रुटि मिलती है, तो यह सुनिश्चित करें कि यह चल रहा है।
EDB PostgreSQL स्थापना के बारे में अन्य बहुत विशिष्ट विवरणों के लिए, उदाहरण के लिए, एक विशिष्ट PostgreSQL संस्करण की आधिकारिक भाषा पैक में पायथन रनटाइम संस्करण, हमेशा आधिकारिक EBD इंस्टॉलेशन गाइड को देखें , संस्करण को अपने इंस्टा के प्रमुख संस्करण के लिंक में बदलें।
मैक पर काढ़ा के साथ postgresql स्थापित करें
Homebrew खुद को ' macOS के लिए लापता पैकेज मैनेजर ' कहता है। इसका उपयोग अनुप्रयोगों और पुस्तकालयों को बनाने और स्थापित करने के लिए किया जा सकता है। एक बार स्थापित होने के बाद, आप PostgreSQL को स्थापित करने के लिए brew
कमांड का उपयोग कर सकते हैं और यह निम्नानुसार निर्भरता है:
brew update
brew install postgresql
Homebrew आम तौर पर नवीनतम स्थिर संस्करण स्थापित करता है। यदि आपको एक अलग की जरूरत है तो brew search postgresql
उपलब्ध संस्करणों की सूची देगा। यदि आपको विशेष विकल्पों के साथ निर्मित PostgreSQL की आवश्यकता है, तो brew info postgresql
सूची देगा कि कौन से विकल्प समर्थित हैं। यदि आपको एक असमर्थित बिल्ड विकल्प की आवश्यकता होती है, तो आपको स्वयं बिल्ड करना पड़ सकता है, लेकिन फिर भी सामान्य निर्भरता स्थापित करने के लिए Homebrew का उपयोग कर सकते हैं।
सर्वर शुरू करें:
brew services start postgresql
PostgreSQL प्रॉम्प्ट खोलें
psql
यदि psql शिकायत करता है कि आपके उपयोगकर्ता के लिए कोई संगत डेटाबेस नहीं है, तो createdb
चलाएं।
लिनक्स पर स्रोत से PostgreSQL स्थापित करें
निर्भरता:
- GNU मेक वर्जन> 3.80
- एक आईएसओ / एएनएसआई सी-कंपाइलर (उदाहरण के लिए जीसीसी)
- एक चिमटा जैसे टार या गज़िप
- zlib-devel
- रीडलाइन-डेवेल ओडर लिबेडिट-डेवेल
स्रोत: नवीनतम स्रोत से लिंक (9.6.3)
अब आप स्रोत फ़ाइलों को निकाल सकते हैं:
tar -xzvf postgresql-9.6.3.tar.gz
PostgreSQL के कॉन्फ़िगरेशन के लिए बड़ी संख्या में विभिन्न विकल्प हैं:
पूर्ण स्थापना प्रक्रिया के लिए पूर्ण लिंक
उपलब्ध विकल्पों की छोटी सूची:
-
--prefix=PATH
सभी फ़ाइलों के लिए पथ -
--exec-prefix=PATH
वास्तु-निर्भर फ़ाइल के लिए पथ -
--bindir=PATH
निष्पादन योग्य कार्यक्रमों के लिए पथ -
--sysconfdir=PATH
कॉन्फ़िगरेशन फ़ाइलों के लिए--sysconfdir=PATH
पथ -
--with-pgport=NUMBER
आपके सर्वर के लिए एक पोर्ट निर्दिष्ट करता है -
--with-perl
पर्ल समर्थन जोड़ें -
--with-python
अजगर समर्थन जोड़ें -
--with-openssl
खुलता समर्थन को जोड़ता है -
--with-ldap
ldap समर्थन जोड़ें -
--with-blocksize=BLOCKSIZE
KB में--with-blocksize=BLOCKSIZE
सेट करें-
BLOCKSIZE
को 2 और 1 से 32 के बीच की शक्ति होनी चाहिए
-
-
--with-wal-segsize=SEGSIZE
MB में वाल-सेगमेंट के आकार का आकार-
SEGSIZE
1 और 64 के बीच 2 की शक्ति होनी चाहिए
-
नए बनाए गए फ़ोल्डर में जाएं और इच्छित विकल्पों के साथ कोफ़िगर स्क्रिप्ट चलाएँ:
./configure --exec=/usr/local/pgsql
ऑब्जेक्ट make
लिए रन make
निर्मित फ़ाइलों से PostgreSQL को स्थापित make install
लिए रन make install
रन make clean
सुथरा make clean
एक्सटेंशन के लिए डायरेक्टरी cd contrib
स्विच करें, रन make
और make install