Debian 10-ൽ PostgreSQL ഡാറ്റാബേസ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


എല്ലാ പ്രധാന ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലും പ്രവർത്തിക്കുന്ന തെളിയിക്കപ്പെട്ട ആർക്കിടെക്ചറുള്ള ഏറ്റവും നൂതനമായ ഓപ്പൺ സോഴ്uസ് ജനറൽ-പർപ്പസ്, ഒബ്uജക്റ്റ്-റിലേഷണൽ ഡാറ്റാബേസ് സിസ്റ്റമാണ് PostgreSQL (ചിലപ്പോൾ പോസ്റ്റ്uഗ്രെസ് എന്നും അറിയപ്പെടുന്നു). അതിശയകരമായ ഡാറ്റ സമഗ്രത പ്രദാനം ചെയ്യുകയും ശക്തമായ ആഡ്-ഓണുകളെ പിന്തുണയ്ക്കുകയും ചെയ്യുന്ന ഉയർന്ന പ്രകടനവും സുസ്ഥിരവും അളക്കാവുന്നതും വിപുലീകരിക്കാവുന്നതുമായ ഡാറ്റാബേസ് സിസ്റ്റമാണിത്.

പ്രധാനമായി, നിങ്ങളുടെ ഡാറ്റാബേസ് വീണ്ടും കംപൈൽ ചെയ്യാതെ തന്നെ നിങ്ങളുടെ സ്വന്തം ഡാറ്റ തരങ്ങൾ നിർവചിക്കാനും ഇഷ്ടാനുസൃത പ്രവർത്തനങ്ങൾ ചേർക്കാനും C/C++, Java മുതലായ വിവിധ പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ നിന്ന് കോഡ് എഴുതാനും PostgreSQL നിങ്ങളെ അനുവദിക്കുന്നു.

Apple, Fujitsu, Red Hat, Cisco, Juniper Network മുതലായ അറിയപ്പെടുന്ന ടെക് കമ്പനികൾ PostgreSQL ഉപയോഗിക്കുന്നു.

ഈ ലേഖനത്തിൽ, Debian 10-ൽ PostgreSQL ഡാറ്റാബേസ് സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും സുരക്ഷിതമാക്കാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും ഞങ്ങൾ കാണിച്ചുതരാം.

  1. ഒരു ഡെബിയൻ 10 (ബസ്റ്റർ) മിനിമൽ സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുക

Debian 10-ൽ PostgreSQL സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

PostgreSQL ഡാറ്റാബേസ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, സ്ഥിരസ്ഥിതി APT പാക്കേജ് മാനേജർ ഉപയോഗിക്കുക, അത് PostgreSQL 11 സെർവറും ക്ലയന്റും ഇൻസ്റ്റാൾ ചെയ്യും.

# apt install postgresql-11 postgresql-client-11

ഡെബിയനിൽ, മറ്റേതൊരു ഡെമണിനെയും പോലെ, ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ പാക്കേജ് ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായ ഉടൻ തന്നെ പോസ്റ്റ്ഗ്രെസ് ഡാറ്റാബേസ് ആരംഭിക്കുന്നു.

പോസ്റ്റ്uഗ്രെസ് ഡാറ്റാബേസ് യഥാർത്ഥത്തിൽ ആരംഭിച്ചിട്ടുണ്ടോയെന്ന് പരിശോധിക്കുന്നതിന്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ ഒരു PostgreSQL സെർവറിന്റെ കണക്ഷൻ നില പരിശോധിക്കുന്ന pg_isready യൂട്ടിലിറ്റി ഉപയോഗിക്കാം.

# pg_isready 

കൂടാതെ, systemd-ന് കീഴിൽ, Postgres സേവനവും സ്വയമേവ ആരംഭിക്കുകയും സിസ്റ്റം ബൂട്ടിൽ ആരംഭിക്കാൻ പ്രാപ്തമാക്കുകയും ചെയ്യുന്നു. സേവനം സജീവമാണെന്നും നന്നായി പ്രവർത്തിക്കുന്നുവെന്നും ഉറപ്പാക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# systemctl status postgresql

systemd-ന് കീഴിലുള്ള പോസ്റ്റ്uഗ്രെസ് സേവനം നിയന്ത്രിക്കുന്നതിനുള്ള മറ്റ് ഉപയോഗപ്രദമായ systemctl കമാൻഡുകൾ ഇനിപ്പറയുന്നവയാണ്.

# systemctl start postgresql
# systemctl restart postgresql
# systemctl stop postgresql
# systemctl reload postgresql 		#this reloads the service configuration

PostgreSQL ഡാറ്റാബേസ് സുരക്ഷിതമാക്കുകയും ക്രമീകരിക്കുകയും ചെയ്യുന്നു

സ്ഥിരസ്ഥിതിയായി, ഡാറ്റാബേസ് ആക്uസസ് പെർമിഷനുകൾ കൈകാര്യം ചെയ്യുന്നതിനായി പോസ്റ്റ്uഗ്രെസ് റോളുകൾ എന്ന ആശയം ഉപയോഗിക്കുന്നു, കൂടാതെ ഡാറ്റാബേസ് റോളുകൾ ആശയപരമായി ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഉപയോക്താക്കളിൽ നിന്ന് തികച്ചും വ്യത്യസ്തമാണ്. ഒരു റോൾ ഒരു ഉപയോക്താവോ ഗ്രൂപ്പോ ആകാം, കൂടാതെ ലോഗിൻ അവകാശമുള്ള റോളിനെ ഉപയോക്താവ് എന്ന് വിളിക്കുന്നു.

പുതുതായി ആരംഭിച്ച സിസ്റ്റത്തിൽ എല്ലായ്uപ്പോഴും പോസ്റ്റ്uഗ്രെസ് എന്ന് വിളിക്കപ്പെടുന്ന ഒരു മുൻuനിർവ്വചിച്ച റോൾ അടങ്ങിയിരിക്കുന്നു, ഇതിന് പോസ്റ്റ്uഗ്രെസ് എന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഉപയോക്തൃ അക്കൗണ്ടിന്റെ അതേ പേരുണ്ട്, ഇത് psql (Postgres shell) ഉം മറ്റ് ഡാറ്റാബേസ് പ്രോഗ്രാമുകളും ആക്uസസ് ചെയ്യാൻ ഉപയോഗിക്കുന്നു.

Postgres സിസ്റ്റം ഉപയോക്തൃ അക്കൗണ്ട് ഒരു പാസ്uവേഡ് ഉപയോഗിച്ച് പരിരക്ഷിച്ചിട്ടില്ല, അത് സുരക്ഷിതമാക്കാൻ, നിങ്ങൾക്ക് passwd യൂട്ടിലിറ്റി ഉപയോഗിച്ച് ഒരു പാസ്uവേഡ് സൃഷ്uടിക്കാൻ കഴിയും.

# passwd postgres

കൂടാതെ, Postgres റോൾ (അല്ലെങ്കിൽ നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ അഡ്മിനിസ്ട്രേറ്റീവ് ഡാറ്റാബേസ് ഉപയോക്താവ്) സ്ഥിരസ്ഥിതിയായി സുരക്ഷിതമല്ല. നിങ്ങൾ ഒരു പാസ്uവേഡ് ഉപയോഗിച്ച് സുരക്ഷിതമാക്കുകയും വേണം. ഇപ്പോൾ കാണിച്ചിരിക്കുന്നതുപോലെ പോസ്റ്റ്uഗ്രെസ് സിസ്റ്റം ഉപയോക്തൃ അക്കൗണ്ടിലേക്കും പോസ്റ്റ്uഗ്രെസ് റോളിലേക്കും മാറുക (ശക്തവും സുരക്ഷിതവുമായ പാസ്uവേഡ് സജ്ജീകരിക്കാൻ ഓർക്കുക).

# su - postgres
# psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

തുടർന്ന് ഗൈഡുമായി മുന്നോട്ട് പോകാൻ പോസ്റ്റ്ഗ്രെസ് അക്കൗണ്ടിൽ നിന്ന് പുറത്തുകടക്കുക.

ക്ലയന്റ് ആധികാരികത കോൺഫിഗർ ചെയ്യുന്നു

പ്രധാന Postgres കോൺഫിഗറേഷൻ ഫയൽ /etc/postgresql/11/main/postgresql.conf എന്നതിൽ സ്ഥിതി ചെയ്യുന്നു. ഈ ഫയലിന് പുറമേ, ക്ലയന്റ് ആധികാരികത നിയന്ത്രിക്കുന്ന മറ്റ് രണ്ട് സ്വമേധയാ എഡിറ്റ് ചെയ്ത കോൺഫിഗറേഷൻ ഫയലുകൾ പോസ്റ്റ്uഗ്രെസ് ഉപയോഗിക്കുന്നു.

/etc/postgresql/11/main/pg_hba.conf കോൺഫിഗറേഷൻ ഫയലാണ് ക്ലയന്റ് ആധികാരികത നിയന്ത്രിക്കുന്നത്. പാസ്uവേഡ് അധിഷ്uഠിത പ്രാമാണീകരണം ഉൾപ്പെടെ വിവിധ ക്ലയന്റ് പ്രാമാണീകരണ രീതികൾ Postgres നൽകുന്നു. ക്ലയന്റ് ഹോസ്റ്റ് വിലാസം, ഡാറ്റാബേസ്, ഉപയോക്താവ് എന്നിവയെ അടിസ്ഥാനമാക്കിയാണ് ക്ലയന്റ് കണക്ഷനുകൾ പ്രാമാണീകരിക്കുന്നത്.

നിങ്ങൾ പാസ്uവേഡ് അധിഷ്uഠിത പ്രാമാണീകരണം ഉപയോഗിക്കാൻ തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഈ രീതികളിലൊന്ന് നടപ്പിലാക്കാൻ കഴിയും: MD5-ഹാഷ്, ക്ലിയർ-ടെക്uസ്റ്റ് എന്നിങ്ങനെ യഥാക്രമം കണക്ഷനിലുടനീളം പാസ്uവേഡ് കൈമാറുന്ന രീതി ഒഴികെ സമാനമായ രീതിയിൽ പ്രവർത്തിക്കുന്ന md5 അല്ലെങ്കിൽ പാസ്uവേഡ്.

md5 പാസ്uവേഡ് പ്രാമാണീകരണം ഉപയോഗിക്കുന്നത് ഹാക്കർമാർ പാസ്uവേഡ് സ്നിഫ് ചെയ്യുന്നത് ഒഴിവാക്കുകയും സെർവറിൽ പാസ്uവേഡുകൾ പ്ലെയിൻ ടെക്uസ്uറ്റിൽ സൂക്ഷിക്കുന്നത് ഒഴിവാക്കുകയും ചെയ്യുന്നു. SSL എൻക്രിപ്ഷൻ വഴി കണക്ഷൻ പരിരക്ഷിച്ചിട്ടുണ്ടെങ്കിൽ മാത്രമേ പാസ്uവേഡ് രീതി സുരക്ഷിതമായി ഉപയോഗിക്കാൻ കഴിയൂ.

ഈ ഗൈഡിനായി, ക്ലയന്റ് പ്രാമാണീകരണത്തിനായി md5 പാസ്uവേഡ് പ്രാമാണീകരണം എങ്ങനെ ക്രമീകരിക്കാമെന്ന് ഞങ്ങൾ കാണിക്കും.

# vim /etc/postgresql/11/main/pg_hba.conf 

സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഇനിപ്പറയുന്ന വരികൾക്കായി നോക്കി പ്രാമാണീകരണ രീതി md5 ആയി മാറ്റുക.

local   all             all                                     md5

ഫയലിലെ മാറ്റങ്ങൾ സംരക്ഷിച്ച് അതിൽ നിന്ന് പുറത്തുകടക്കുക. തുടർന്ന് പോസ്റ്റ്uഗ്രെസ് സേവനം ഇനിപ്പറയുന്ന രീതിയിൽ പുനരാരംഭിച്ച് സമീപകാല മാറ്റങ്ങൾ പ്രയോഗിക്കുക.

# systemctl restart postgresql

PostgreSQL-ൽ ഒരു പുതിയ ഡാറ്റാബേസും ഡാറ്റാബേസ് റോളും/ഉപയോക്താവും സൃഷ്ടിക്കുന്നു

ഈ അവസാന വിഭാഗത്തിൽ, ഒരു പുതിയ ഡാറ്റാബേസ് ഉപയോക്താവിനെ എങ്ങനെ സൃഷ്ടിക്കാമെന്നും അത് കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു ഡാറ്റാബേസ് റോളും ഞങ്ങൾ കാണിക്കും. ആദ്യം, പോസ്റ്റ്uഗ്രെസ് അക്കൗണ്ടിലേക്ക് മാറി പോസ്റ്റ്uഗ്രെസ് ഷെൽ ഇനിപ്പറയുന്ന രീതിയിൽ തുറക്കുക.

# su - postgres
$ psql

\test_db എന്ന് വിളിക്കുന്ന ഒരു ഡാറ്റാബേസ് സൃഷ്ടിക്കുന്നതിന് ഇനിപ്പറയുന്ന SQL കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

postgres=# CREATE DATABASE test_db;

തുടർന്ന് പുതിയ ഡാറ്റാബേസ് ഇനിപ്പറയുന്ന രീതിയിൽ നിയന്ത്രിക്കുന്ന ഒരു ഡാറ്റാബേസ് ഉപയോക്താവിനെ (ലോഗിൻ അവകാശങ്ങളുള്ള ഒരു റോൾ) സൃഷ്ടിക്കുക.

postgres=#CREATE USER test_user PASSWORD ‘[email _here’;     #assumes login function by default

ടെസ്റ്റ്_ഉപയോക്താവായി test_db-ലേക്ക് കണക്റ്റുചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

 
$ psql -d  test_db  -U test_user

കൂടുതൽ വിവരങ്ങൾക്ക്, PostgreSQL 11 ഡോക്യുമെന്റേഷൻ കാണുക.

അത് തൽക്കാലം ആണെങ്കിൽ! ഈ ഗൈഡിൽ, Debian 10-ൽ PostgreSQL ഡാറ്റാബേസ് സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും സുരക്ഷിതമാക്കാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും ഞങ്ങൾ കാണിച്ചുതന്നിട്ടുണ്ട്. നിങ്ങൾക്ക് പങ്കിടാൻ എന്തെങ്കിലും ചോദ്യങ്ങളോ ചിന്തകളോ ഉണ്ടോ? ഞങ്ങളെ ബന്ധപ്പെടാൻ താഴെയുള്ള കമന്റ് ഫോം ഉപയോഗിക്കുക.