ലിനക്സിൽ സോഴ്സ് കോഡ് ഉപയോഗിച്ച് PostgreSQL 10 എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


PostgreSQL, Postgres എന്നും അറിയപ്പെടുന്നത് ശക്തവും ഓപ്പൺ സോഴ്സ് ഒബ്ജക്റ്റ്-റിലേഷണൽ ഡാറ്റാബേസ് സിസ്റ്റവുമാണ്. ഫോൾട്ട് ടോളറൻസ്, അസിൻക്രണസ് റെപ്ലിക്കേഷൻ, മൾട്ടി-വേർഷൻ കൺകറൻസി കൺട്രോൾ (എംവിസിസി), ഓൺലൈൻ/ഹോട്ട് ബാക്കപ്പുകൾ, പോയിന്റ് ഇൻ ടൈം റിക്കവറി, ക്വറി പ്ലാനർ/ഒപ്റ്റിമൈസർ, ടേബിൾസ്uപേസുകൾ, നെസ്റ്റഡ് ഇടപാടുകൾ (സേവ്uപോയിന്റുകൾ) തുടങ്ങിയ സവിശേഷതകളുള്ള എന്റർപ്രൈസ് ലെവൽ ഡാറ്റാബേസാണിത്. ) തുടങ്ങിയവ.

പോസ്റ്റ്uഗ്രേസിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് 10 2017 ഒക്uടോബർ 5-ന് പോസ്റ്റ്uഗ്രെസ് ഗ്ലോബൽ ഡെവലപ്uമെന്റ് ഗ്രൂപ്പ് പുറത്തിറക്കി.

പുതിയ പതിപ്പിന്റെ സവിശേഷതകൾ ഇപ്രകാരമാണ്:

  • ലോജിക്കൽ റെപ്ലിക്കേഷൻ: സ്റ്റാൻഡ്uബൈ സെർവറുകളിലുടനീളം വ്യക്തിഗത ഡാറ്റാബേസ് ഒബ്uജക്റ്റുകളുടെ (അത് വരികളോ പട്ടികകളോ തിരഞ്ഞെടുത്ത ഡാറ്റാബേസുകളോ ആകട്ടെ) പകർപ്പെടുക്കൽ ഈ സവിശേഷത പ്രാപ്uതമാക്കുന്നു. ഇത് ഡാറ്റ റെപ്ലിക്കേഷനിൽ കൂടുതൽ നിയന്ത്രണം നൽകുന്നു. പ്രസാധക-സബ്uസ്uക്രൈബർ മോഡൽ ഉപയോഗിച്ചാണ് നടപ്പിലാക്കുന്നത്.
  • സിൻക്രണസ് റെപ്ലിക്കേഷനായുള്ള ക്വാറം കമ്മിറ്റ്: ഈ ഫീച്ചറിൽ, ഡാറ്റാബേസിൽ മാറ്റങ്ങൾ വരുത്തിയതായി അംഗീകരിക്കുന്ന സ്റ്റാൻഡ്uബൈകളുടെ എണ്ണം dba-ന് ഇപ്പോൾ വ്യക്തമാക്കാൻ കഴിയും, അതുവഴി ഡാറ്റ സുരക്ഷിതമായി എഴുതിയതായി കണക്കാക്കാം.
  • SCRAM-SHA-256 പ്രാമാണീകരണം: നിലവിലുള്ള MD5 അടിസ്ഥാനമാക്കിയുള്ള പാസ്uവേഡ് പ്രാമാണീകരണവും സംഭരണവും മെച്ചപ്പെടുത്തിയ സുരക്ഷ.
  • മെച്ചപ്പെടുത്തിയ സമാന്തര അന്വേഷണ നിർവ്വഹണം.
  • ഡിക്ലറേറ്റീവ് ടേബിൾ പാർട്ടീഷനിംഗ്.
  • JSON , JSONB എന്നിവയ്uക്കായുള്ള പൂർണ്ണ വാചക തിരയൽ പിന്തുണ.

ഈ ലേഖനത്തിൽ, Linux സിസ്റ്റങ്ങളിൽ സോഴ്uസ് കോഡ് ഇൻസ്റ്റാളേഷൻ ഉപയോഗിച്ച് PostgreSQL 10 എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് ഞങ്ങൾ വിശദീകരിക്കും. ഡിസ്ട്രിബ്യൂഷൻ പാക്കേജ് മാനേജറിൽ നിന്ന് എളുപ്പത്തിൽ ഇൻസ്റ്റാളുചെയ്യാൻ ആഗ്രഹിക്കുന്നവർക്ക് ചുവടെയുള്ള ഗൈഡുകൾ പിന്തുടരാം.

  1. CentOS/RHEL, Fedora എന്നിവയിൽ PostgreSQL 10 എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  2. Debian, Ubuntu എന്നിവയിൽ PostgreSQL 10 എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

സോഴ്സ് കോഡ് ഉപയോഗിച്ച് PostgreSQL ഇൻസ്റ്റാൾ ചെയ്യുക

പോസ്റ്റ്uഗ്രേസ് ഓപ്പൺ സോഴ്uസ് ഡാറ്റാബേസ് ആയതിനാൽ, ഒരാളുടെ ആവശ്യങ്ങൾ/ആവശ്യങ്ങൾക്കനുസരിച്ച് സോഴ്uസ് കോഡിൽ നിന്ന് ഇത് നിർമ്മിക്കാനാകും. വിവിധ അധിക സവിശേഷതകൾക്കായി ഒന്നോ അതിലധികമോ കമാൻഡ് ലൈൻ ഓപ്uഷനുകൾ നൽകിക്കൊണ്ട് ഞങ്ങൾക്ക് ബിൽഡ്, ഇൻസ്റ്റാളേഷൻ പ്രക്രിയ ഇഷ്uടാനുസൃതമാക്കാനാകും.

സോഴ്uസ് കോഡ് ഇൻസ്റ്റാളേഷൻ ഉപയോഗിക്കുന്നതിന്റെ പ്രധാന നേട്ടം, ഇൻസ്റ്റാളേഷൻ സമയത്ത് ഇത് വളരെ ഇഷ്ടാനുസൃതമാക്കാം എന്നതാണ്.

1. ആദ്യം കാണിച്ചിരിക്കുന്നതുപോലെ പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് gcc, readline-devel, zlib-devel എന്നിവ പോലുള്ള ആവശ്യമായ മുൻവ്യവസ്ഥകൾ ഇൻസ്റ്റാൾ ചെയ്യുക.

# yum install gcc zlib-devel readline-devel     [On RHEL/CentOS]
# apt install gcc zlib1g-dev libreadline6-dev   [On Debian/Ubuntu]

2. ഔദ്യോഗിക wget കമാൻഡിൽ നിന്ന് സോഴ്സ് കോഡ് ടാർ ഫയൽ സിസ്റ്റത്തിൽ നേരിട്ട് ഡൗൺലോഡ് ചെയ്യുക.

# wget https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.bz2

3. ഡൗൺലോഡ് ചെയ്uത ടാർബോൾ ഫയൽ എക്uസ്uട്രാക്uറ്റുചെയ്യാൻ ടാർ കമാൻഡ് ഉപയോഗിക്കുക. postgresql-10.0 എന്ന പേരിൽ പുതിയ ഡയറക്ടറി സൃഷ്ടിക്കപ്പെടും.

# tar -xvf postgresql-10.0.tar.bz2
# ll
total 19236
-rw-------. 1 root root      933 Mar 18  2015 anaconda-ks.cfg
-rw-r--r--. 1 root root     8823 Mar 18  2015 install.log
-rw-r--r--. 1 root root     3384 Mar 18  2015 install.log.syslog
drwxrwxrwx  6 1107 1107     4096 Oct  3  2017 postgresql-10.0
-rw-r--r--  1 root root 19639147 Oct  3  2017 postgresql-10.0.tar.bz2

4. നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച് ഓപ്uഷനുകൾ തിരഞ്ഞെടുത്ത് ഡൗൺലോഡ് ചെയ്uത സോഴ്uസ് കോഡ് കോൺഫിഗർ ചെയ്യുക എന്നതാണ് ഇൻസ്റ്റാളേഷൻ നടപടിക്രമത്തിനുള്ള അടുത്ത ഘട്ടം.

# cd postgresql-10.0

വിവിധ ഓപ്ഷനുകളെക്കുറിച്ചുള്ള സഹായം ലഭിക്കുന്നതിന് ./configure --help ഉപയോഗിക്കുക.

# ./configure --help

Defaults for the options are specified in brackets.
Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local/pgsql]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

5. ഇപ്പോൾ നിങ്ങൾക്ക് പോസ്റ്റ്uഗ്രെസ് ഫയലുകൾ ഇൻസ്റ്റാൾ ചെയ്യേണ്ട ഒരു ഡയറക്uടറി സൃഷ്uടിക്കുക, കോൺഫിഗർ ചെയ്യുന്ന പ്രിഫിക്uസ് ഓപ്ഷൻ ഉപയോഗിക്കുക.

# mkdir /opt/PostgreSQL-10/
# ./configure --prefix=/opt/PostgreSQL-10
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
checking whether NLS is wanted... no
checking for default port number... 5432
checking for block size... 8kB
checking for segment size... 1GB
checking for WAL block size... 8kB
checking for WAL segment size... 16MB
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc supports -Wdeclaration-after-statement... yes
checking whether gcc supports -Wendif-labels... yes
checking whether gcc supports -Wmissing-format-attribute... yes
checking whether gcc supports -Wformat-security... yes
checking whether gcc supports -fno-strict-aliasing... yes
checking whether gcc supports -fwrapv... yes
checking whether gcc supports -fexcess-precision=standard... no
....

6. കോൺഫിഗർ ചെയ്തതിന് ശേഷം, താഴെ പറയുന്ന make കമാൻഡ് ഉപയോഗിച്ച് നമ്മൾ postgreSQL നിർമ്മിക്കാൻ തുടങ്ങും.

# make

ബിൽഡ് പ്രോസസ്സ് പൂർത്തിയായ ശേഷം, ഇപ്പോൾ താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് postgresql ഇൻസ്റ്റാൾ ചെയ്യുക.

# make install

Postgresql 10 /opt/PostgreSQL-10 ഡയറക്ടറിയിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്.

7. ഡാറ്റാബേസ് ക്ലസ്റ്റർ ആരംഭിക്കുന്നതിന് ഡാറ്റ ഡയറക്ടറിയായി ഉപയോഗിക്കുന്നതിന് ഇപ്പോൾ ഒരു പോസ്റ്റ്ഗ്രെസ് ഉപയോക്താവും ഡയറക്ടറിയും സൃഷ്ടിക്കുക. ഈ ഡാറ്റ ഡയറക്uടറിയുടെ ഉടമ postgres ഉപയോക്താവായിരിക്കണം കൂടാതെ അനുമതികൾ 700 ആയിരിക്കണം കൂടാതെ നമ്മുടെ എളുപ്പത്തിനായി postgresql ബൈനറികൾക്കുള്ള പാതയും സജ്ജമാക്കണം.

# useradd postgres
# passwd postgres
# mkdir /pgdatabase/data
# chown -R postgres. /pgdatabase/data
# echo 'export PATH=$PATH:/opt/PostgreSQL-10/bin' > /etc/profile.d/postgres.sh

8. ഏതെങ്കിലും postgres കമാൻഡുകൾ ഉപയോഗിക്കുന്നതിന് മുമ്പ് പോസ്റ്റ്ഗ്രെസ് ഉപയോക്താവായി ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഡാറ്റാബേസ് ആരംഭിക്കുക.

# su postgres
$ initdb -D /pgdatabase/data/ -U postgres -W

എവിടെയാണ് -D ഈ ഡാറ്റാബേസ് ക്ലസ്റ്ററിനുള്ള ലൊക്കേഷൻ അല്ലെങ്കിൽ നമുക്ക് ഡാറ്റാബേസ് ക്ലസ്റ്റർ ആരംഭിക്കാൻ ആഗ്രഹിക്കുന്ന ഡാറ്റ ഡയറക്ടറി എന്ന് പറയാം, ഡാറ്റാബേസ് സൂപ്പർ യൂസർ നാമത്തിനും -ഉം -U- db സൂപ്പർ യൂസറിനായുള്ള പാസ്uവേഡ് പ്രോംപ്റ്റിനായി W.

കൂടുതൽ വിവരങ്ങൾക്കും ഓപ്uഷനുകൾക്കുമായി നമുക്ക് initdb-help റഫർ ചെയ്യാം.

9. ഡാറ്റാബേസ് ആരംഭിച്ചതിന് ശേഷം, ഡാറ്റാബേസ് ക്ലസ്റ്റർ ആരംഭിക്കുക അല്ലെങ്കിൽ നിങ്ങൾക്ക് പോർട്ട് മാറ്റണമെങ്കിൽ അല്ലെങ്കിൽ സെർവറിനുള്ള വിലാസം കേൾക്കണമെങ്കിൽ, ഡാറ്റാബേസ് സെർവറിന്റെ ഡാറ്റ ഡയറക്ടറിയിൽ postgresql.conf ഫയൽ എഡിറ്റ് ചെയ്യുക.

$ pg_ctl -D /pgdatabase/data/ -l /pglog/db_logs/start.log start

10. ഡാറ്റാബേസ് ആരംഭിച്ചതിന് ശേഷം, ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് പോസ്റ്റ്ഗ്രെസ് സെർവർ പ്രക്രിയയുടെ നില പരിശോധിക്കുക.

$ ps -ef |grep -i postgres
$ netstat -apn |grep -i 51751

ഡാറ്റാബേസ് ക്ലസ്റ്റർ നന്നായി പ്രവർത്തിക്കുന്നതായി നമുക്ക് കാണാൻ കഴിയും, കൂടാതെ ഡാറ്റാബേസ് ക്ലസ്റ്റർ ആരംഭിക്കുമ്പോൾ -l ഓപ്ഷൻ ഉപയോഗിച്ച് വ്യക്തമാക്കിയ സ്ഥലത്ത് സ്റ്റാർട്ടപ്പ് ലോഗുകൾ കണ്ടെത്താനാകും.

11. ഇപ്പോൾ ഡാറ്റാബേസ് ക്ലസ്റ്ററിലേക്ക് കണക്റ്റുചെയ്uത് ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് ഡാറ്റാബേസ് സൃഷ്uടിക്കുക.

$ psql -p 51751
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console

അത്രയേയുള്ളൂ! ഞങ്ങളുടെ വരാനിരിക്കുന്ന ലേഖനങ്ങളിൽ, ഞാൻ കോൺഫിഗറേഷൻ, റെപ്ലിക്കേഷൻ സെറ്റപ്പ്, pgAdmin ടൂളിന്റെ ഇൻസ്റ്റാളേഷൻ എന്നിവ ഉൾക്കൊള്ളുന്നു, അതുവരെ Tecmint-ലേക്ക് തുടരുക.