റഷ്യൻ ഡാറ്റാബേസ് postgres pro. Postgres Pro സ്റ്റാൻഡേർഡും PostgreSQL ഉം തമ്മിലുള്ള വ്യത്യാസങ്ങൾ. ആഭ്യന്തര PostgreSQL ഇക്കോസിസ്റ്റം

സ്വതന്ത്രമായി വിതരണം ചെയ്ത PostgreSQL DBMS-നെ അടിസ്ഥാനമാക്കി Postgres Professional വികസിപ്പിച്ചെടുത്ത ഒരു റഷ്യൻ DBMS ആണ് Postgres Pro. Postgres Pro റഷ്യൻ സോഫ്റ്റ്‌വെയർ രജിസ്റ്ററിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട് (https://reestr.minsvyaz.ru/reestr/65273/ കാണുക)

ഈ രീതിയിൽ, ഉപഭോക്താക്കൾക്ക് ഒരു പുതിയ PostgreSQL റിലീസിനായി (ഒരു വർഷം വരെ എടുത്തേക്കാം) കാത്തിരിക്കാതെ തന്നെ അവർക്ക് പ്രയോജനപ്പെടുന്ന പ്രവർത്തനക്ഷമതയും പ്രകടന ആനുകൂല്യങ്ങളും ആക്സസ് ചെയ്യാൻ കഴിയും. രചയിതാക്കൾ എന്ന നിലയിൽ, ഞങ്ങളുടെ എല്ലാ സംഭവവികാസങ്ങൾക്കും ഞങ്ങൾ പിന്തുണ നൽകുന്നു. PostgreSQL ഡവലപ്പർമാരുടെ അന്താരാഷ്ട്ര സമൂഹത്തിൻ്റെ പ്രതിനിധികൾ എന്ന നിലയിൽ, സൗജന്യമായി വിതരണം ചെയ്യുന്ന PostgreSQL DBMS-ന് ഞങ്ങൾ വാണിജ്യ പിന്തുണയും നൽകുന്നു.

PostgreSQL പതിപ്പുകളുടെ താരതമ്യം

ഡി.ബി.എം.എസ്PostgreSQL
എന്റർപ്രൈസ്
PostgreSQL
സ്റ്റാൻഡേർഡ്
PostgreSQL
മിഷൻ-ക്രിട്ടിക്കൽ ആപ്ലിക്കേഷനുകൾക്കും ഉയർന്ന ലോഡുകൾക്കുമായി പോസ്റ്റ്ഗ്രെസ് പ്രൊഫഷണൽ വികസിപ്പിച്ച ഒരു വാണിജ്യ DBMS.സ്വതന്ത്രമായി വിതരണം ചെയ്ത PostgreSQL DBMS അടിസ്ഥാനമാക്കി Postgres പ്രൊഫഷണൽ വികസിപ്പിച്ച റഷ്യൻ ഓപ്പൺ സോഴ്സ് DBMSഅന്തർദേശീയ സമൂഹം വികസിപ്പിച്ച ഒരു സ്വതന്ത്രമായി വിതരണം ചെയ്ത DBMS.
റഷ്യൻ സോഫ്റ്റ്വെയറിൻ്റെ ഏകീകൃത രജിസ്റ്റർ
64-ബിറ്റ് ഇടപാട് കൗണ്ടർ
ബ്ലോക്ക് തലത്തിൽ വർദ്ധിച്ച ബാക്കപ്പ്
സർട്ടിഫിക്കറ്റ് FSTEC SVT 5, NDV 4
സ്വയംഭരണ ഇടപാടുകൾ
പാർട്ടീഷനിംഗ് ടേബിളുകൾ
ഡാറ്റ കംപ്രഷൻ
മൾട്ടിമാസ്റ്റർ
1C പിന്തുണ
പോർട്ടബിൾ പട്ടികകൾ
ഷെഡ്യൂളർ സൂചനകൾ


PostgreSQL പതിപ്പുകൾ

PostgreSQL പതിപ്പ് നമ്പർ, PostgreSQL പതിപ്പ് നമ്പറിൽ നിന്ന് ഉരുത്തിരിഞ്ഞതാണ്, നിലവിലെ റിലീസ് നമ്പറിനെ സൂചിപ്പിക്കുന്ന ഒരു അക്കം ചേർക്കുന്നു. PostgreSQL-ൻ്റെ ഒരു പുതിയ ചെറിയ പതിപ്പ് പുറത്തിറങ്ങുമ്പോൾ (സുരക്ഷയുമായി ബന്ധപ്പെട്ട പാച്ചുകളും ഗുരുതരമായ പിശകുകളുടെ തിരുത്തലും ദൃശ്യമാകുമ്പോൾ ഇത് സംഭവിക്കുന്നു), PostgreSQL നമ്പറിംഗ് ഒന്നിലേക്ക് പുനഃസജ്ജമാക്കും. ഉദാഹരണത്തിന്, PostgreSQL 9.5.1 റിലീസ് ചെയ്യുമ്പോൾ, PostgresPro 9.5.1.1 പുറത്തിറങ്ങുന്നു, തുടർന്ന് PostgreSQL 9.5.2 പുറത്തിറങ്ങുന്നതിന് മുമ്പ്, Postgres Pro 9.5.1.2, 9.5.1.3, മുതലായവ റിലീസ് ചെയ്തേക്കാം. PostgreSQL 9.5.2 റിലീസ് ചെയ്യുമ്പോൾ, Postgres Pro 9.5.2.1 പതിപ്പിലേക്ക് അപ്ഡേറ്റ് ചെയ്യപ്പെടും.

റിലീസിനൊപ്പം സോഴ്സ് കോഡ് Postgres Pro ഞങ്ങൾ ഞങ്ങളുടെ അസംബ്ലികൾ പാക്കേജുകളായി പ്രസിദ്ധീകരിക്കുന്നു വിവിധ പ്ലാറ്റ്ഫോമുകൾ. ഇനിപ്പറയുന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളും അവയുടെ പതിപ്പുകളും ഇവയാണ്:

  1. ലിനക്സ്
    • CentOS 6/7
    • ഡെബിയൻ 7/8
    • ഉബുണ്ടു 12.04/14.04/16.04/16.10,
    • ഒറാക്കിൾ ലിനക്സ്,
    • റോസ എൻ്റർപ്രൈസ് ലിനക്സ് സെർവർ,
    • ROSA SX കോബാൾട്ട് സെർവർ,
    • ROSA DX കോബാൾട്ട് സെർവർ,
    • ROSA മാരത്തൺ LTS 2012,
    • Alt Linux Centaur 8,
    • Alt Linux SPT 6,
    • Alt Linux SPT 7,
    • SUSE ലിനക്സ് എൻ്റർപ്രൈസ്സെർവർ
  2. Microsoft ® Windows ® 2012 അല്ലെങ്കിൽ 2016.

അടിസ്ഥാനങ്ങൾ പോസ്റ്റ്ഗ്രെസ് ഡാറ്റ Pro 9.5.*.* PostgreSQL 9.5-ന് അനുയോജ്യമാണ്.* 9.5 dump-ൽ നിന്ന് മൈഗ്രേറ്റ് ചെയ്യുമ്പോൾ/restore ആവശ്യമില്ല. കൂടുതൽ നിന്ന് നീങ്ങുമ്പോൾ മുമ്പത്തെ പതിപ്പുകൾ PostgreSQL-ന് dump/restore അല്ലെങ്കിൽ pg_upgrade ഉപയോഗിക്കേണ്ടതുണ്ട്.

Postgres Pro സ്റ്റാൻഡേർഡിൻ്റെ നിലവിലെ പതിപ്പ് 11.2.1 ആണ്. റിലീസ് തീയതി - മാർച്ച് 28, 2019. .

Postgres Pro സ്റ്റാൻഡേർഡും PostgreSQL ഉം തമ്മിലുള്ള വ്യത്യാസങ്ങൾ

PostgreSQL-ൻ്റെ നിലവിലെ പതിപ്പുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ, Postgres Pro സ്റ്റാൻഡേർഡിൽ നിലവിൽ ഇനിപ്പറയുന്ന മാറ്റങ്ങൾ ഉൾപ്പെടുന്നു:

  1. മൾട്ടി-കോർ സിസ്റ്റങ്ങളിലെ പ്രകടന മെച്ചപ്പെടുത്തലുകൾ:
    • പങ്കിട്ട മെമ്മറിയിൽ ഹാഷ് ടേബിളുകളുടെ അലോക്കേഷൻ ഒപ്റ്റിമൈസ് ചെയ്യുന്നു, ധാരാളം പ്രക്രിയകൾക്കുള്ള ലോക്ക് തർക്കം ഇല്ലാതാക്കുന്നു.
    • റിസോഴ്സ് ഉടമ ഒപ്റ്റിമൈസേഷൻ. സങ്കീർണ്ണമായ അന്വേഷണങ്ങളുടെയും അന്വേഷണ പട്ടികകളുടെയും പ്രകടനം മെച്ചപ്പെടുത്തുന്നു വലിയ തുകപാർട്ടീഷനുകൾ.
    • ബഫർ മാനേജർ ഒപ്റ്റിമൈസേഷനുകൾ
    • Power8 ആർക്കിടെക്ചറിനായുള്ള LWLock ഒപ്റ്റിമൈസേഷൻ
    • രണ്ട്-ഘട്ട കമ്മിറ്റ് ഒപ്റ്റിമൈസേഷനുകൾ
  2. മുഴുവൻ ടെക്സ്റ്റ് തിരയൽ മെച്ചപ്പെടുത്തലുകൾ:
    • ശൈലി തിരയൽ പിന്തുണ
    • പദ ഫോമുകൾക്കൊപ്പം പ്രവർത്തിക്കുന്നതിനുള്ള ഹൺസ്പെൽ നിഘണ്ടുക്കൾക്കുള്ള പിന്തുണ
    • റഷ്യൻ, ഇംഗ്ലീഷ് ഉൾപ്പെടെയുള്ള ചില നിഘണ്ടുക്കൾ വിതരണത്തിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, അവയുടെ കണക്ഷന് ഒരു SQL കമാൻഡ് ആവശ്യമാണ്
    • share_ispell മൊഡ്യൂൾ, സെർവർ സ്റ്റാർട്ടപ്പിൽ മെമ്മറിയിലേക്ക് നിഘണ്ടുക്കൾ ലോഡുചെയ്യുന്നതിലൂടെ പൂർണ്ണ-വാചക തിരയൽ പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നു, അല്ലാതെ സെഷൻ്റെ തുടക്കത്തിലല്ല.
  3. കവറിംഗ് സൂചികകൾ. CREATE INDEX-ൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന നിർമ്മാണത്തിനുള്ള പിന്തുണ.
  4. പോർട്ടബിലിറ്റി: എല്ലാ പ്ലാറ്റ്‌ഫോമുകളിലും ലിബിക്കു പിന്തുണയ്ക്കുന്നു, യൂണികോഡ് പ്രതീകങ്ങളുള്ള അടുക്കൽ ക്രമവും മറ്റ് പ്രവർത്തനങ്ങളും അവ്യക്തമായി കൈകാര്യം ചെയ്യുന്നു. നിരവധി പ്ലാറ്റ്‌ഫോമുകളിൽ, ഈ ലൈബ്രറി സോർട്ടിംഗ് പ്രകടനം മെച്ചപ്പെടുത്തുന്നു, പ്രധാനമായും, PostgreSQL-ൻ്റെ പ്രധാന പതിപ്പിൽ പ്രവർത്തനരഹിതമാക്കിയ ചുരുക്കിയ കീകൾ ഉപയോഗിക്കാൻ Postgres Pro-യെ അനുവദിക്കുന്നു.
  5. pg_trgm മൊഡ്യൂൾ അവ്യക്തമായ സ്ട്രിംഗ് താരതമ്യത്തെ മാത്രമല്ല, അവ്യക്തമായ സബ്‌സ്ട്രിംഗ് തിരയലിനെ പിന്തുണയ്ക്കുന്നു.
  6. പേജ്ഇൻസ്‌പെക്റ്റ് മൊഡ്യൂൾ മെറ്റാ വിവരങ്ങളിലേക്കുള്ള ആക്‌സസിനെ പിന്തുണയ്‌ക്കുന്നു, മാത്രമല്ല പട്ടിക ഡാറ്റയുടെ ആന്തരിക പ്രാതിനിധ്യത്തിലേക്കും.
  7. ഒരു പുതിയ മൊഡ്യൂൾ ചേർത്തിരിക്കുന്നു, sr_plan, അത് ഓരോ തവണ എക്സിക്യൂട്ട് ചെയ്യുമ്പോഴും ഒരു ക്വറി പ്ലാൻ പുതുതായി സൃഷ്ടിക്കുന്നതിന് പകരം ക്വറി എക്സിക്യൂഷൻ പ്ലാനുകൾ സംരക്ഷിക്കാനും സേവ് ചെയ്ത പ്ലാനുകൾ ഉപയോഗിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു.
  8. dump_stat മൊഡ്യൂൾ ചേർത്തു, ഇത് സ്ഥിതിവിവരക്കണക്കുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ സംരക്ഷിക്കാനും ഒരു ഡാറ്റാബേസ് ഡംപ് ചെയ്യുമ്പോൾ അത് പുനഃസ്ഥാപിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു. വീണ്ടെടുക്കലിനുശേഷം VACUUM ANALYZE കമാൻഡ് ഉപയോഗിച്ച് സ്ഥിതിവിവരക്കണക്കുകൾ കണക്കാക്കേണ്ടതിൻ്റെ ആവശ്യകത ഇല്ലാതാക്കി വീണ്ടെടുക്കൽ പ്രക്രിയ വേഗത്തിലാക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.
  9. JSQuery മൊഡ്യൂൾ ചേർത്തു, ഇത് GIN സൂചികകൾക്കുള്ള പിന്തുണയോടെ JSONB തരം ഫീൽഡുകളിലേക്ക് ഒരു പ്രത്യേക ഭാഷയിൽ ചോദ്യങ്ങൾ രൂപപ്പെടുത്താൻ നിങ്ങളെ അനുവദിക്കുന്നു.
  10. മൊഡ്യൂൾ നൽകുന്നു അധിക തരംഅനുയോജ്യതയ്ക്കുള്ള ഡാറ്റ Microsoft SQLസെർവർ.
  11. മൊഡ്യൂൾ നൽകുന്നു അധിക ഓപ്പറേറ്റർമൈക്രോസോഫ്റ്റ് SQL സെർവറുമായുള്ള അനുയോജ്യതയ്ക്കുള്ള തുല്യത.
  12. താൽക്കാലിക ടേബിളുകൾ വെട്ടിച്ചുരുക്കുന്നതിനായി മൊഡ്യൂൾ ഒരു ഇടപാട് സുരക്ഷിതമല്ലാത്ത ഫംഗ്‌ഷൻ നൽകുന്നു, ഇത് pg_class ഡയറക്‌ടറി വളരുന്നത് തടയുന്നു.
  13. INSERT, UPDATE, DELETE, SELECT INTO ഓപ്പറേഷനുകൾ എന്നിവയ്ക്ക് ശേഷം ടാർഗെറ്റ് ടേബിളുകളിലെ സ്ഥിതിവിവരക്കണക്കുകൾ ഉടനടി അപ്ഡേറ്റ് ചെയ്യുന്ന ഒരു കൂട്ടം ഫംഗ്ഷനുകൾ മൊഡ്യൂൾ നൽകുന്നു.
  14. ഒരു ചോദ്യം എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ ചില സൂചികകൾ പ്രവർത്തനരഹിതമാക്കാനോ പ്രവർത്തനക്ഷമമാക്കാനോ നിങ്ങളെ അനുവദിക്കുന്ന, ഷെഡ്യൂളറിലേക്കുള്ള നിർദ്ദേശങ്ങൾക്കുള്ള പിന്തുണ മൊഡ്യൂൾ ചേർക്കുന്നു.

ഉൽപ്പന്ന താരതമ്യ പട്ടികയിൽ നിങ്ങൾക്ക് PostgreSQL-ഉം PostgreSQL-ഉം തമ്മിലുള്ള വ്യത്യാസങ്ങളെക്കുറിച്ച് കൂടുതലറിയാൻ കഴിയും.

PostgreSQL സ്റ്റാൻഡേർഡ് ലൈസൻസ്

Postgres Pro സ്റ്റാൻഡേർഡ് Postgres പ്രൊഫഷണൽ ആഡ്-ഓണുകൾക്കൊപ്പം PostgreSQL ലൈസൻസിന് കീഴിൽ വിതരണം ചെയ്യുന്നു:

ഭാഗങ്ങളുടെ പകർപ്പവകാശം (സി) 2015-2019, പോസ്റ്റ്ഗ്രെസ് പ്രൊഫഷണൽ
ഭാഗങ്ങളുടെ പകർപ്പവകാശം (സി) 1996-2019, PostgreSQL ഗ്ലോബൽ ഡെവലപ്‌മെൻ്റ് ഗ്രൂപ്പ്
ഭാഗങ്ങൾ പകർപ്പവകാശം (സി) 1994 കാലിഫോർണിയ സർവകലാശാലയുടെ റീജൻ്റ്സ്

ഈ സോഫ്‌റ്റ്‌വെയറും അതിൻ്റെ ഡോക്യുമെൻ്റേഷനും ടെസ്റ്റിംഗ്, സോഫ്‌റ്റ്‌വെയർ വികസനം, ഡിബിഎംഎസിൻ്റെ പ്രവർത്തനക്ഷമത പരിചയപ്പെടുത്തൽ, വിദ്യാഭ്യാസ പ്രക്രിയയിൽ സൗജന്യമായി ഉപയോഗിക്കാനും കരാറിൽ ഒപ്പുവെക്കാതെ ഉപയോഗിക്കാനും ഈ സോഫ്റ്റ്‌വെയറും അതിൻ്റെ ഡോക്യുമെൻ്റേഷനും ഉപയോഗിക്കാനും പകർത്താനും പരിഷ്‌ക്കരിക്കാനും വിതരണം ചെയ്യാനുമുള്ള അവകാശങ്ങൾ അനുവദിച്ചിരിക്കുന്നു. ഈ വിവരങ്ങളുടെ ഓരോ പകർപ്പിനും മുകളിൽ പകർപ്പവകാശ അറിയിപ്പ് നൽകിയിരിക്കുന്നു, നിലവിലെ ഖണ്ഡികയും ഇനിപ്പറയുന്ന നാല് ഖണ്ഡികകളും. മറ്റ് ആവശ്യങ്ങൾക്കായി ഉപയോഗിക്കുക, മറ്റ് ഉൽപ്പന്നങ്ങളിലേക്കുള്ള സംയോജനം, തനിപ്പകർപ്പ്, മറ്റ് പ്രവർത്തനങ്ങൾ എന്നിവയ്ക്ക് ഒരു പ്രത്യേക ലൈസൻസ് വാങ്ങേണ്ടതുണ്ട്.

ഈ സോഫ്‌റ്റ്‌വെയറിൻ്റെയോ ഡോക്യുമെൻ്റേഷൻ്റെയോ ഉപയോഗത്തിൽ നിന്ന് നേരിട്ടോ അല്ലാതെയോ പ്രത്യേകമോ ആകസ്‌മികമോ ആയ വരുമാനനഷ്ടം ഉൾപ്പെടെയുള്ള ഏതെങ്കിലും നാശനഷ്ടങ്ങൾക്ക് കാലിഫോർണിയ സർവകലാശാല ഒരു ബാധ്യതയും വഹിക്കുന്നില്ല, അത്തരം നാശനഷ്ടങ്ങളുടെ സാധ്യതയെക്കുറിച്ച് കാലിഫോർണിയ സർവകലാശാലയെ ഉപദേശിച്ചിട്ടുണ്ടെങ്കിലും. .

കാലിഫോർണിയ സർവ്വകലാശാല ഏതെങ്കിലും തരത്തിലുള്ള വാറൻ്റികൾ പ്രത്യേകമായി നിരാകരിക്കുന്നു, എന്നാൽ അതിൽ മാത്രം പരിമിതപ്പെടുത്താതെ, ഒരു പ്രത്യേക ഉദ്ദേശ്യത്തിനായുള്ള വ്യാപാരക്ഷമതയുടെയോ ഫിറ്റ്നസിൻ്റെയോ വാറൻ്റികൾ ഉൾപ്പെടുന്നു. നൽകിയത് സോഫ്റ്റ്വെയർ"ഉള്ളതുപോലെ" എന്ന അടിസ്ഥാനത്തിലാണ് നൽകിയിരിക്കുന്നത്, അറ്റകുറ്റപ്പണികൾ, പിന്തുണ, അപ്ഡേറ്റുകൾ, മെച്ചപ്പെടുത്തലുകൾ അല്ലെങ്കിൽ മാറ്റങ്ങൾ എന്നിവ നൽകാൻ കാലിഫോർണിയ സർവകലാശാലയ്ക്ക് യാതൊരു ബാധ്യതയുമില്ല.

ഈ സോഫ്‌റ്റ്‌വെയറിൻ്റെയോ ഡോക്യുമെൻ്റേഷൻ്റെയോ നേരിട്ടോ അല്ലാതെയോ പ്രത്യേകമോ ആകസ്‌മികമോ ആയ ഉപയോഗം മൂലമുണ്ടാകുന്ന വരുമാനനഷ്ടം ഉൾപ്പെടെയുള്ള ഏതെങ്കിലും നാശനഷ്ടങ്ങൾക്ക് പോസ്റ്റ്‌ഗ്രെസ് പ്രൊഫഷണൽ ലിമിറ്റഡ് ലയബിലിറ്റി കമ്പനി ഒരു ബാധ്യതയും വഹിക്കുന്നില്ല, അത്തരം നാശനഷ്ടങ്ങളുടെ സാധ്യതയെക്കുറിച്ച് പോസ്റ്റ്‌ഗ്രെസ് പ്രൊഫഷണൽ ലിമിറ്റഡ് ലയബിലിറ്റി കമ്പനിക്ക് നിർദ്ദേശം നൽകിയിട്ടുണ്ടെങ്കിലും. .

പോസ്റ്റ്‌ഗ്രെസ് പ്രൊഫഷണൽ ലിമിറ്റഡ് ലയബിലിറ്റി കമ്പനി ഏതെങ്കിലും വാറൻ്റികൾ പ്രത്യേകമായി നിരാകരിക്കുന്നു, എന്നാൽ അതിൽ മാത്രം പരിമിതപ്പെടുത്താതെ, ഒരു പ്രത്യേക ഉദ്ദേശ്യത്തിനായുള്ള വ്യാപാരക്ഷമതയുടെയോ ഫിറ്റ്‌നസിൻ്റെയോ വാറൻ്റികൾ ഉൾപ്പെടുന്നു. ഈ സോഫ്‌റ്റ്‌വെയർ "ഉള്ളതുപോലെ" അടിസ്ഥാനത്തിലാണ് നൽകിയിരിക്കുന്നത്, കൂടാതെ അറ്റകുറ്റപ്പണികൾ, പിന്തുണ, അപ്‌ഡേറ്റുകൾ, വിപുലീകരണങ്ങൾ അല്ലെങ്കിൽ മാറ്റങ്ങൾ എന്നിവ നൽകാൻ Postgres പ്രൊഫഷണൽ ലിമിറ്റഡ് ലയബിലിറ്റി കമ്പനി ബാധ്യസ്ഥരല്ല.

POSTGRES ൻ്റെ ചരിത്രം ആരംഭിച്ചത് 1977-ൽ Ingress ഡാറ്റാബേസിൽ നിന്നാണ്.

1986-ൽ, കാലിഫോർണിയയിലെ ബെർക്ക്‌ലി സർവകലാശാലയിൽ ഇതിനെ PostgreSQL (Post-Gres-Q-El എന്ന് ഉച്ചരിക്കുന്നു) എന്ന് പുനർനാമകരണം ചെയ്തു.

1995-ൽ പോസ്റ്റ്ഗ്രെസ് ഒരു ഓപ്പൺ ഡാറ്റാബേസായി മാറി. ഇൻ്ററാക്ടീവ് psql പ്രത്യക്ഷപ്പെട്ടു.

1996-ൽ, Postgres95, PostgreSQL പതിപ്പ് 6.0 എന്ന് പുനർനാമകരണം ചെയ്യപ്പെട്ടു.

Postgres-ന് ലോകമെമ്പാടും നൂറുകണക്കിന് ഡെവലപ്പർമാർ ഉണ്ട്.

PostgreSQL ആർക്കിടെക്ചർ

ഒരൊറ്റ സ്റ്റോറേജ് എഞ്ചിൻ ഉള്ള ഒരു ഏകീകൃത ഡാറ്റാബേസ് സെർവറാണ് PostgreSQL. Postgres ഒരു ക്ലയൻ്റ്-സെർവർ മോഡൽ ഉപയോഗിക്കുന്നു.

ഓരോ ക്ലയൻ്റിനും, സെർവറിൽ ഒരു പുതിയ പ്രക്രിയ (ഒരു ത്രെഡ് അല്ല!) സൃഷ്ടിക്കപ്പെടുന്നു. അത്തരം ക്ലയൻ്റ് പ്രക്രിയകളുമായി പ്രവർത്തിക്കാൻ, സെർവർ സെമാഫോറുകൾ ഉപയോഗിക്കുന്നു.

ക്ലയൻ്റ് അഭ്യർത്ഥന ഇനിപ്പറയുന്ന ഘട്ടങ്ങളിലൂടെ കടന്നുപോകുന്നു.

1. ബന്ധിപ്പിക്കുക.

2. പാഴ്‌സിംഗ്: അഭ്യർത്ഥനയുടെ കൃത്യത പരിശോധിച്ച് ഒരു അന്വേഷണ ട്രീ സൃഷ്ടിക്കുന്നു. പാഴ്സർ അടിസ്ഥാന Unix യൂട്ടിലിറ്റികളായ yacc, lex എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

3. വീണ്ടും എഴുതുക: ഒരു അന്വേഷണ ട്രീ എടുത്ത് അതിൽ നിയമങ്ങളുടെ സാന്നിധ്യം പരിശോധിക്കുന്നു, അതിൽ കിടക്കുന്നു സിസ്റ്റം ഡയറക്ടറികൾ. ഓരോ തവണയും ഉപയോക്തൃ ചോദ്യം ഡാറ്റാബേസ് ടേബിളുകൾ ആക്സസ് ചെയ്യുന്ന ഒരു ചോദ്യത്തിലേക്ക് മാറ്റിയെഴുതുന്നു.

4. ഒപ്റ്റിമൈസർ: ഓരോ അഭ്യർത്ഥനയ്ക്കും, ഒരു ക്വറി പ്ലാൻ സൃഷ്ടിക്കപ്പെടുന്നു, അത് എക്സിക്യൂട്ടറിലേക്ക് മാറ്റുന്നു. എല്ലാവരും അതിനെ മറികടക്കുന്നു എന്നതാണ് പദ്ധതിയുടെ പ്രധാന ലക്ഷ്യം സാധ്യമായ ഓപ്ഷനുകൾഫലം നേടുക (ഇൻഡക്സുകൾ ഉപയോഗിക്കണോ, ജോയിൻ ചെയ്യണോ, മുതലായവ), ഏറ്റവും വേഗതയേറിയ ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക.

5. ക്വറി എക്സിക്യൂഷൻ: എക്സിക്യൂട്ടർ ആവർത്തിച്ച് ട്രീയിലൂടെ സഞ്ചരിക്കുകയും ഫലം നേടുകയും, സോർട്ടിംഗ്, ജോയിൻസ് മുതലായവ ഉപയോഗിച്ച് വരികൾ തിരികെ നൽകുകയും ചെയ്യുന്നു.

പോസ്റ്റ്ഗ്രെസ് ഒരു ഒബ്ജക്റ്റ്-റിലേഷണൽ ഡാറ്റാബേസാണ്, അതിലെ ഓരോ ടേബിളും ഒരു ക്ലാസിനെ പ്രതിനിധീകരിക്കുന്നു, കൂടാതെ പട്ടികകൾക്കിടയിൽ അനന്തരാവകാശം നടപ്പിലാക്കുന്നു. SQL92, SQL99 മാനദണ്ഡങ്ങൾ നടപ്പിലാക്കി.

ഇടപാട് മോഡൽ നിർമ്മിച്ചിരിക്കുന്നത് മൾട്ടി-പതിപ്പ് കൺകറൻസി കൺട്രോൾ (എംവിസിസി) എന്ന് വിളിക്കപ്പെടുന്നതിൻ്റെ അടിസ്ഥാനത്തിലാണ്. പരമാവധി പ്രകടനം. പ്രാഥമിക, ദ്വിതീയ കീകളുടെ സാന്നിധ്യത്താൽ റഫറൻഷ്യൽ സമഗ്രത ഉറപ്പാക്കുന്നു.

PostgreSQL DBMS-ൻ്റെ ഓർഗനൈസേഷൻ

ഏതൊരു ഡിബിഎംഎസും പോലെ, PostgreSQL sql അന്വേഷണങ്ങൾ നൽകുകയും ഫലങ്ങൾ നൽകുകയും വേണം ക്ലയൻ്റ് ആപ്ലിക്കേഷനുകൾ. ഇത് ചെയ്യുന്നതിന്, DBMS അന്വേഷണ ഒപ്റ്റിമൈസർ ഒരു തീരുമാനം എടുക്കുന്നു ഒപ്റ്റിമൽ ഉപയോഗംഉറവിടങ്ങളും ഒരു അന്വേഷണ പദ്ധതി നിർമ്മിക്കുന്നു. അതേ സമയം, അവൻ ഉപയോഗിക്കുന്ന വർക്ക് ആക്സിലറേഷൻ മെക്കാനിസങ്ങളെ ആശ്രയിക്കാൻ കഴിയും (ഇൻഡക്സുകൾ, മെമ്മറി കാഷെകൾ, പ്രോസസർ ഉറവിടങ്ങൾ, സ്റ്റാറ്റിസ്റ്റിക്സ് ഡാറ്റ മുതലായവ).
അന്വേഷണ ഫലങ്ങൾ ക്ലയൻ്റ് കണക്ഷനുകളിലേക്ക് തിരികെ നൽകുന്നു

വിൻഡോസിൽ, സേവന ഫയൽ pg_ctl.exe എല്ലാം നിയന്ത്രിക്കുന്നു (നിർത്തുന്നു, ആരംഭിക്കുന്നു, പുനരാരംഭിക്കുന്നു).

ഡാറ്റാബേസ് എഞ്ചിൻ തന്നെ postgres.exe ആണ്.

അന്വേഷണ ഒപ്റ്റിമൈസർ ഡെവലപ്പർമാരുടെ നിയന്ത്രണത്തിന് വളരെ കുറവാണ്, അതിനാൽ പ്രകടന വിശകലന വിഭാഗത്തിൽ പരോക്ഷമായി മാത്രമേ ഞങ്ങൾ അതിലേക്ക് മടങ്ങുകയുള്ളൂ.



എന്നാൽ ഡിസ്ക് സ്പേസ് മാനേജ്മെൻ്റിന് കാര്യമായ പ്രാധാന്യമുണ്ട്. ഏതൊരു DBMS-ലേയും പോലെ, PostgreSQL ഡാറ്റാബേസുകൾക്കായി ഡാറ്റാബേസുകൾക്കായി RAID 10 ഉം ലോജികൾക്കായി ഒരു പ്രത്യേക ഡിസ്ക് അറേയും ഉപയോഗിക്കുന്നതാണ് നല്ലത്. STORAGE സിസ്റ്റങ്ങളുടെ ഉപയോഗം മൊത്തത്തിലുള്ള പ്രകടനത്തിൽ നല്ല സ്വാധീനം ചെലുത്തും. ഡാറ്റ സ്ഥാപിക്കുന്നതിലൂടെ ജോലി വേഗത്തിലാക്കുന്ന മറ്റൊരു സവിശേഷത വ്യത്യസ്ത ഡ്രൈവുകൾ, ഇവ ടേബിൾസ്പേസുകളാണ്.

മൾട്ടി-ജിഗാബൈറ്റ് ഡാറ്റ വെയർഹൗസുകളുടെ അഡ്മിനിസ്ട്രേറ്റർമാർക്ക് നിർണായകമാണ്, ടേബിൾ സ്പേസുകൾ വലിയ ടേബിളുകളും ഇൻഡക്സുകളും പ്രത്യേക ഡിസ്കുകളിലോ അറേകളിലോ സ്ഥാപിക്കാൻ അനുവദിക്കുന്നു, ഇത് അന്വേഷണ പ്രകടനം മെച്ചപ്പെടുത്തുന്നു.

PostgreSQL-ന് അതിൻ്റെ സംഭരണം നടപ്പിലാക്കുന്നതിൽ ഒരു പ്രത്യേകതയുണ്ട് - ഇതാണ് "ക്ലസ്റ്റർ" എന്ന് വിളിക്കപ്പെടുന്നത്. ഈ സാഹചര്യത്തിൽ ഞങ്ങൾ സംസാരിക്കുന്നത്ഡാറ്റാബേസുകൾക്കുള്ള ഡയറക്ടറി സ്ഥാനം. കൂടാതെ, വ്യക്തിഗത ഫയലുകൾ പട്ടികകളുമായോ മറ്റ് ഡാറ്റാബേസ് ഒബ്‌ജക്റ്റുകളുമായോ നേരിട്ട് പൊരുത്തപ്പെടാത്ത ഒരൊറ്റ ഫയൽ ഘടനയെ PostgreSQL സംഘടിപ്പിക്കുന്നു.

ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ, നിങ്ങൾ ഒരു "ക്ലസ്റ്റർ" (ഡയറക്‌ടറി വായിക്കുക) വ്യക്തമാക്കുക.

ചിത്രം 6.7.1

ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ, PostgreSQL സൃഷ്ടിക്കുന്നു സിസ്റ്റം അടിസ്ഥാനംഎല്ലാ പുതിയ ഡാറ്റാബേസുകളുടെയും ക്രമീകരണ ടെംപ്ലേറ്റായി postgres ഉം ടെംപ്ലേറ്റ്1 ഡാറ്റാബേസും. സാധാരണഗതിയിൽ, ഒരു Linux പരിതസ്ഥിതിയിൽ, /var/postgres/data ഡയറക്ടറിയിൽ PostgreSQL-നുള്ള നിരവധി സേവന ഫയലുകൾ അടങ്ങിയിരിക്കുന്നു, കൂടാതെ /var/postgres/data/base ഡയറക്ടറിയിൽ ഓരോന്നിനും അതിൻ്റേതായ പ്രത്യേക ഡയറക്ടറിയിലുള്ള ഡാറ്റാബേസുകൾ അടങ്ങിയിരിക്കുന്നു.

നിർഭാഗ്യവശാൽ, PostgreSQL-ൽ നടപ്പിലാക്കിയിരിക്കുന്ന ഡാറ്റ സംഭരണ ​​രീതിക്ക് അധിക അറ്റകുറ്റപ്പണികൾ ആവശ്യമാണ് - VACUUM കമാൻഡ് ഉപയോഗിച്ച് ഡാറ്റാബേസിൻ്റെ ആനുകാലിക ഡീഫ്രാഗ്മെൻ്റേഷൻ. കുറിപ്പ്. മെറ്റീരിയലൈസ്ഡ് അന്വേഷണങ്ങൾ (ഉപയോക്തൃ കാഴ്‌ചകൾ) കാഴ്ച പ്ലാറ്റ്‌ഫോം ഉപയോഗിക്കുന്നില്ല.

ഡാറ്റാബേസ് വലുപ്പങ്ങൾ

ഇപ്പോൾ (പതിപ്പ് 9.1.2), PostgreSQL-ന് ഇനിപ്പറയുന്ന പരിമിതികളുണ്ട്:

PostgreSQL-ൻ്റെ ശക്തികൾ ഇവയാണ്:

1. ഏതാണ്ട് പരിമിതികളില്ലാത്ത ഡാറ്റാബേസുകൾക്കുള്ള പിന്തുണ;

2. ശക്തവും വിശ്വസനീയവുമായ ഇടപാടുകളും അനുകരണ സംവിധാനങ്ങളും;

3. ബിൽറ്റ്-ഇൻ പ്രോഗ്രാമിംഗ് ഭാഷകളുടെ എക്സ്റ്റൻസിബിൾ സിസ്റ്റം: PL/pgSQL, PL/Perl, PL/Python, PL/Tcl എന്നിവ സ്റ്റാൻഡേർഡായി പിന്തുണയ്ക്കുന്നു;

4. നിങ്ങൾക്ക് PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme, PL/sh എന്നിവ ഉപയോഗിക്കാം, കൂടാതെ C-അനുയോജ്യമായ മൊഡ്യൂളുകൾ ലോഡുചെയ്യുന്നതിനുള്ള പിന്തുണയും ഉണ്ട്;

5. അനന്തരാവകാശം;

6.Easy Expandability.

PostgreSQL ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേഷൻ യൂട്ടിലിറ്റി pgAdmin - ഗ്രാഫിക്കൽ ഷെൽ Unix, Windows സിസ്റ്റങ്ങൾക്കായി രൂപകൽപ്പനയും അഡ്മിനിസ്ട്രേറ്റീവ് PostgreSQL DBMS.

ചിത്രം 6.7.2

Pgadmin സി പ്രോഗ്രാമിംഗ് ഭാഷയിൽ എഴുതിയതാണ് കൂടാതെ മികച്ച wxWidgets (മുമ്പ് wxWindows) പ്ലാറ്റ്ഫോം ഡെവലപ്പർ കിറ്റ് ഉപയോഗിക്കുന്നു. PgAdmin PostgreSQL ലൈസൻസിന് കീഴിലാണ് വിതരണം ചെയ്യുന്നത്, അതായത്. സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ കൂടിയാണ്.

PostgreSQL ഒരു ഓപ്പൺ സോഴ്സ്, ക്രോസ്-പ്ലാറ്റ്ഫോം ഒബ്ജക്റ്റ്-റിലേഷണൽ DBMS ആണ്. PostgreSQL എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് ഈ ലേഖനം നിങ്ങളെ കാണിക്കും ഉബുണ്ടു ലിനക്സ്, അതിലേക്ക് ബന്ധിപ്പിച്ച് ഒരു ജോടി നടത്തുക ലളിതമായ SQL ചോദ്യങ്ങൾ, അതുപോലെ ബാക്കപ്പുകൾ എങ്ങനെ സജ്ജീകരിക്കാം.

ഉബുണ്ടു 12.10-ൽ PostgreSQL 9.2 ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക:

sudo apt-add-repository ppa:pitti/ postgresql
sudo apt-get update
sudo apt-get install postgresql-9.2

ഷെല്ലിലൂടെ ഡിബിഎംഎസുമായി പ്രവർത്തിക്കാൻ ശ്രമിക്കാം:

sudo -u postgres psql

നമുക്ക് ഒരു ടെസ്റ്റ് ഡാറ്റാബേസും ഒരു ടെസ്റ്റ് ഉപയോക്താവും സൃഷ്ടിക്കാം:

ഡാറ്റാബേസ് ടെസ്റ്റ്_ഡാറ്റാബേസ് സൃഷ്‌ടിക്കുക;
"qwerty" എന്ന പാസ്‌വേഡ് ഉപയോഗിച്ച് ഉപയോക്താവിനെ ടെസ്റ്റ്_ഉപയോക്താവിനെ സൃഷ്‌ടിക്കുക ;
ടെസ്റ്റ്_ഉപയോക്താവിന് ഡാറ്റാബേസ് ടെസ്റ്റ്_ഡാറ്റാബേസിൽ എല്ലാം അനുവദിക്കുക;

ഷെല്ലിൽ നിന്ന് പുറത്തുകടക്കാൻ, \q കമാൻഡ് നൽകുക.

ഇപ്പോൾ test_user-ൻ്റെ പേരിൽ സൃഷ്ടിച്ച ഡാറ്റാബേസിൽ പ്രവർത്തിക്കാൻ ശ്രമിക്കാം:

psql -h ലോക്കൽഹോസ്റ്റ് test_database test_user

നമുക്ക് ഒരു പുതിയ പട്ടിക ഉണ്ടാക്കാം:

SEQUENCE user_ids സൃഷ്‌ടിക്കുക;
ടേബിൾ ഉപയോക്താക്കളെ സൃഷ്ടിക്കുക (
ഐഡി ഇൻ്റിജർ പ്രൈമറി കീ ഡിഫോൾട്ട് അടുത്തത് ("user_ids" ) ,
ലോഗിൻ CHAR(64) ,
പാസ്‌വേഡ് CHAR(64));

മറ്റ് ചില DBMS-കളിൽ നിന്ന് വ്യത്യസ്തമായി, PostgreSQL-ന് auto_increment പ്രോപ്പർട്ടി ഉള്ള നിരകളില്ല എന്നത് ശ്രദ്ധിക്കുക. പകരം, Postgres സീക്വൻസുകൾ ഉപയോഗിക്കുന്നു. തൽക്കാലം, നെക്സ്റ്റ്വൽ ഫംഗ്‌ഷൻ ഉപയോഗിച്ച്, തന്നിരിക്കുന്ന ശ്രേണിയ്‌ക്കായി നമുക്ക് അദ്വിതീയ സംഖ്യകൾ ലഭിക്കുമെന്ന് അറിഞ്ഞാൽ മതി:

അടുത്തത് തിരഞ്ഞെടുക്കുക ("user_ids" );

ഉപയോക്തൃ പട്ടികയുടെ ഐഡി ഫീൽഡിനായി ഡിഫോൾട്ട് മൂല്യം സജ്ജീകരിക്കുന്നതിലൂടെ അടുത്തത്("user_ids"), auto_increment നൽകുന്ന അതേ ഫലം ഞങ്ങൾ കൈവരിച്ചു. പട്ടികയിലേക്ക് പുതിയ റെക്കോർഡുകൾ ചേർക്കുമ്പോൾ, ഞങ്ങൾ ഐഡി വ്യക്തമാക്കേണ്ടതില്ല, കാരണം ഒരു അദ്വിതീയ ഐഡി യാന്ത്രികമായി സൃഷ്ടിക്കപ്പെടും. ഒന്നിലധികം പട്ടികകൾക്ക് ഒരേ ക്രമം ഉപയോഗിക്കാം. ഈ ടേബിളുകളിലെ ചില ഫീൽഡുകളുടെ മൂല്യങ്ങൾ ഓവർലാപ്പ് ചെയ്യുന്നില്ലെന്ന് ഈ രീതിയിൽ നമുക്ക് ഉറപ്പുനൽകാൻ കഴിയും. ഈ അർത്ഥത്തിൽ, ക്രമങ്ങൾ ഓട്ടോ_ഇൻക്രിമെൻ്റിനേക്കാൾ കൂടുതൽ വഴക്കമുള്ളതാണ്.

ഒരു കമാൻഡ് ഉപയോഗിച്ച് കൃത്യമായ അതേ പട്ടിക സൃഷ്ടിക്കാൻ കഴിയും:

ടേബിൾ സൃഷ്‌ടിക്കുക ഉപയോക്താക്കൾ2 (
ഐഡി സീരിയൽ പ്രൈമറി കീ,
ലോഗിൻ CHAR(64) ,
പാസ്‌വേഡ് CHAR(64));

ഈ സാഹചര്യത്തിൽ, ഐഡി ഫീൽഡിനുള്ള ക്രമം സ്വയമേവ സൃഷ്ടിക്കപ്പെടുന്നു.

ഇപ്പോൾ \d കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ലഭ്യമായ എല്ലാ പട്ടികകളുടെയും ഒരു ലിസ്റ്റ് കാണാൻ കഴിയും, കൂടാതെ \d ഉപയോക്താക്കളെ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഉപയോക്തൃ പട്ടികയുടെ ഒരു വിവരണം കാണാൻ കഴിയും. നിങ്ങൾ തിരയുന്ന വിവരങ്ങൾ ലഭിച്ചില്ലെങ്കിൽ, \d എന്നതിന് പകരം \d+ പരീക്ഷിക്കുക. \l കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഡാറ്റാബേസുകളുടെ ഒരു ലിസ്റ്റ് ലഭിക്കും, കൂടാതെ \c dbname കമാൻഡ് ഉപയോഗിച്ച് ഒരു നിർദ്ദിഷ്ട ഡാറ്റാബേസിലേക്ക് മാറുക. കമാൻഡ് സഹായം പ്രദർശിപ്പിക്കാൻ, പറയൂ \? .

PostgreSQL-ൽ, സ്ഥിരസ്ഥിതിയായി, പട്ടികയുടെയും കോളത്തിൻ്റെയും പേരുകൾ ഇതിലേക്ക് കാസ്‌റ്റ് ചെയ്‌തിരിക്കുന്നു എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്. ചെറിയക്ഷരം. നിങ്ങൾക്ക് ഈ സ്വഭാവം ആവശ്യമില്ലെങ്കിൽ, നിങ്ങൾക്ക് ഇരട്ട ഉദ്ധരണികൾ ഉപയോഗിക്കാം:

പട്ടിക "മറ്റൊരു പട്ടിക" സൃഷ്ടിക്കുക ("ചില മൂല്യം" VARCHAR (64 ) );

ഈ DBMS-ൽ പ്രവർത്തിക്കാൻ തുടങ്ങുമ്പോൾ ബുദ്ധിമുട്ടുകൾ ഉണ്ടാക്കുന്ന PostgreSQL-ൻ്റെ മറ്റൊരു സവിശേഷത "സ്കീമകൾ" എന്ന് വിളിക്കപ്പെടുന്നവയാണ്. ഒരു സ്കീമ എന്നത് പട്ടികകൾക്കുള്ള നെയിംസ്പേസ് പോലെയാണ്, ഒരു ഡാറ്റാബേസിനുള്ളിൽ പട്ടികകളുള്ള ഒരു ഡയറക്ടറി പോലെയാണ്.

ഒരു സ്കീമ സൃഷ്ടിക്കുന്നു:

സ്കീമ ബുക്കിംഗുകൾ സൃഷ്ടിക്കുക;

സ്കീമിലേക്ക് മാറുക:

ബുക്കിംഗിലേക്കുള്ള തിരയൽ_പാത്ത് സജ്ജമാക്കുക;

\dn കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് നിലവിലുള്ള സ്കീമുകളുടെ ഒരു ലിസ്റ്റ് കാണാൻ കഴിയും. ഡിഫോൾട്ട് സ്കീമയ്ക്ക് പൊതുവായി പേര് നൽകിയിരിക്കുന്നു. തത്വത്തിൽ, സ്കീമകളുടെ നിലനിൽപ്പിനെക്കുറിച്ച് അറിയാതെ തന്നെ നിങ്ങൾക്ക് PostgreSQL വിജയകരമായി ഉപയോഗിക്കാൻ കഴിയും. എന്നാൽ ലെഗസി കോഡ് ഉപയോഗിച്ച് പ്രവർത്തിക്കുമ്പോൾ, ചില സന്ദർഭങ്ങളിൽ, സ്കീമകളെക്കുറിച്ച് അറിയുന്നത് വളരെ ഉപയോഗപ്രദമാകും.

അല്ലാത്തപക്ഷം, PostgreSQL-നൊപ്പം പ്രവർത്തിക്കുന്നത് മറ്റേതൊരു റിലേഷണൽ DBMS-ലും പ്രവർത്തിക്കുന്നതിൽ നിന്ന് വളരെ വ്യത്യസ്തമല്ല:

ഉപയോക്താക്കളിലേക്ക് തിരുകുക (ലോഗിൻ, പാസ്‌വേഡ്)
മൂല്യങ്ങൾ ("afiskon" , "123456" );
ഉപയോക്താക്കളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക;

നിങ്ങൾ ഇപ്പോൾ മറ്റൊരു മെഷീനിൽ നിന്ന് Postgres-ലേക്ക് കണക്റ്റുചെയ്യാൻ ശ്രമിക്കുകയാണെങ്കിൽ, നിങ്ങൾ പരാജയപ്പെടും:

psql -h 192.168.0.1 test_database test_user

Psql: സെർവറിലേക്ക് ബന്ധിപ്പിക്കാൻ കഴിഞ്ഞില്ല: കണക്ഷൻ നിരസിച്ചു
സെർവർ "192.168.0.1" ഹോസ്റ്റിൽ പ്രവർത്തിക്കുകയും അംഗീകരിക്കുകയും ചെയ്യുന്നു
പോർട്ട് 5432-ലെ TCP/IP കണക്ഷനുകൾ?

ഇത് പരിഹരിക്കാൻ, ലൈൻ ചേർക്കുക:

listen_addresses = "localhost,192.168.0.1"

... /etc/postgresql/9.2/main/postgresql.conf ഫയലിലേക്കും.

ഇന്നുവരെ, പൂർണ്ണമായി പ്രവർത്തനക്ഷമമായ ഓപ്പൺ സോഴ്‌സ് PostgreSQL DBMS-ന് ചുറ്റും ഉയർന്ന-പ്രകടന പരിഹാരങ്ങൾ സൃഷ്ടിക്കുന്നതിനും വിന്യസിക്കുന്നതിനുമുള്ള ഒരു ആവാസവ്യവസ്ഥ രൂപപ്പെട്ടിട്ടുണ്ട്, ഇത് വാണിജ്യ ഉൽപ്പന്നങ്ങൾക്ക് യഥാർത്ഥ ബദലായി ഈ DBMS കണക്കാക്കാൻ അനുവദിക്കുന്നു.

07/20/2015 ഇവാൻ പഞ്ചൻകോ

പൂർണ്ണമായി പ്രവർത്തനക്ഷമമായ ഓപ്പൺ സോഴ്‌സ് PostgreSQL DBMS ഉയർന്ന-പ്രകടന പരിഹാരങ്ങൾ നിർമ്മിക്കുന്നതിനും പ്രവർത്തിപ്പിക്കുന്നതിനുമായി സ്വയം ഒരു ഇക്കോസിസ്റ്റം സൃഷ്ടിച്ചിട്ടുണ്ട്, ഇന്ന് ഈ സംവിധാനം വാണിജ്യ ഉൽപ്പന്നങ്ങൾക്ക് ബദലായി കണക്കാക്കാം.

മൂന്ന് ശാഖകളിൽ ഒന്നായി വികസിപ്പിച്ച ബെർക്ക്‌ലിയിലെ കാലിഫോർണിയ സർവകലാശാലയിലെ പ്രൊഫസറായ മൈക്കൽ സ്റ്റോൺബ്രേക്കറുടെ POSTGRES പ്രോജക്റ്റിലാണ് PostgreSQL-ൻ്റെ വേരുകൾ. റിലേഷണൽ ഡാറ്റാബേസുകൾഡാറ്റ. 70-കളുടെ തുടക്കത്തിൽ IBM പ്രമോട്ട് ചെയ്ത സിസ്റ്റം R-ൽ നിന്നാണ് ആദ്യത്തേത് വളർന്നത്, രണ്ടാമത്തേത് Stonebreaker's Ingres പ്രൊജക്റ്റ്, മൂന്നാമത്തേത് Oracle. ഇൻഗ്രെസ് ഡിബിഎംഎസ് ബെർക്ക്ലിയുടെ ആത്മാവിൽ വികസിച്ചു തുറന്ന അടിത്തറ, അതിൻ്റെ കോഡുകൾ വിലയ്ക്ക് ടേപ്പുകളിൽ വിതരണം ചെയ്തു തപാൽ ഇനങ്ങൾ. UNIX PDP 11 ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് വേണ്ടിയാണ് ഈ സിസ്റ്റം വികസിപ്പിച്ചെടുത്തത്, അത് അതിൻ്റെ ജനപ്രീതി മുൻകൂട്ടി നിശ്ചയിച്ചിരുന്നു, ലിബറൽ BSD ലൈസൻസും സ്റ്റോൺബ്രേക്കറുടെ കരിഷ്മയും Ingres-ൻ്റെ വികാസത്തിനും ആവിർഭാവത്തിനും കാരണമായി. വലിയ അളവ്ബന്ധപ്പെട്ട DBMS.

Ingres-ൻ്റെ അനുഭവം മനസ്സിലാക്കുന്നതിൻ്റെയും പുതിയ തരങ്ങളുടെ നിർവചനം അനുവദിച്ചുകൊണ്ട് ഡാറ്റാ തരങ്ങളുടെ പരിമിതികളെ മറികടക്കാനുള്ള ആഗ്രഹത്തിൻ്റെയും ഫലമാണ് പോസ്റ്റ്‌ഗ്രേസ് പ്രോജക്റ്റ്. പദ്ധതിയുടെ പ്രവർത്തനങ്ങൾ 1985-ൽ ആരംഭിച്ചു. 1985 മുതൽ 1988 വരെയുള്ള കാലയളവിൽ, ഡാറ്റ മോഡലിൻ്റെ ഒരു വിവരണം, POSTQUEL അന്വേഷണ ഭാഷയും സംഭരണവും പ്രത്യക്ഷപ്പെട്ടു, പക്ഷേ അപ്പോഴും പരിമിതികൾ ശ്രദ്ധിക്കപ്പെട്ടു. റിലേഷണൽ മോഡൽ, അതിൻ്റെ ലാളിത്യത്തിൻ്റെ ഫലമായി. പോസ്റ്റ്-റിലേഷണൽ ഡിബിഎംഎസ് പോസ്റ്റ്ഗ്രേസിൻ്റെ ആദ്യ പതിപ്പ് 1989-ൽ പുറത്തിറങ്ങി, ഇൻഗ്രെസ്, പോസ്റ്റ്ഗ്രെസ് കോഡുകൾക്ക് പൊതുവായി ഒന്നുമില്ല. 1993-ൽ പതിപ്പ് 4.2 പുറത്തിറങ്ങിയതിന് ശേഷം പദ്ധതി അവസാനിപ്പിച്ചു, എന്നാൽ ഓപ്പൺ സോഴ്‌സ് കോഡും ബിഎസ്‌ഡി ലൈസൻസും 1994-ൽ അതിൻ്റെ കൂടുതൽ വികസനം ഏറ്റെടുക്കാൻ ബെർക്ക്‌ലി ബിരുദധാരികളായ ആൻഡ്രൂ യു, ജോളി ചെൻ എന്നിവരെ പ്രോത്സാഹിപ്പിച്ചു. POSTQUEL ചോദ്യ ഭാഷയെ സ്റ്റാൻഡേർഡ് ഒന്ന് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിച്ചതിന് ശേഷം SQL പ്രോജക്റ്റ്, Postgres95 എന്ന് വിളിക്കപ്പെടുന്ന, ഉടൻ തന്നെ നിരവധി അനുയായികളെ ആകർഷിച്ചു.

1996-ൽ, യഥാർത്ഥ POSTGRES, SQL പ്രോജക്‌റ്റുമായുള്ള ബന്ധം ഊന്നിപ്പറയുന്നതിനായി പ്രോജക്റ്റിന് PostgreSQL എന്ന് പേരിട്ടു, അത് ഏറ്റെടുത്തത് മുൻകൈ ഗ്രൂപ്പ് PGDG (PostgreSQL ഗ്ലോബൽ ഡെവലപ്‌മെൻ്റ് ഗ്രൂപ്പ്) യുടെ ഉപയോക്താക്കളും ഡെവലപ്പർമാരും. വികസന പദ്ധതികളെക്കുറിച്ചും പുതിയ പതിപ്പുകളുടെ റിലീസുകളെക്കുറിച്ചും എല്ലാ തീരുമാനങ്ങളും എടുക്കുന്നത് ആറ് പേർ അടങ്ങുന്ന ഒരു മാനേജ്‌മെൻ്റ് കമ്മിറ്റിയാണ് (കോർ ടീം). കൂടാതെ, PostgreSQL ൻ്റെ വികസനത്തിന് കാര്യമായ സംഭാവന നൽകിയിട്ടുള്ള പ്രധാന ഡവലപ്പർമാരുടെ ഒരു കൂട്ടം (ഏകദേശം 20 പേർ, അവരിൽ മൂന്ന് പേർ റഷ്യയിൽ നിന്നുള്ളവരാണ്), അതുപോലെ തന്നെ ഡവലപ്പർമാരും ഉണ്ട്.

വികസനവും പിന്തുണയും

PostgreSQL-ൻ്റെ അടുത്ത "മേജർ" പതിപ്പിൻ്റെ പ്രവർത്തന ചക്രം സാധാരണയായി ഏകദേശം ഒരു വർഷമാണ്, ഈ കാലയളവിൽ ആർക്കും അവരുടെ ശുപാർശകൾ (പാച്ചുകൾ) പരിഗണനയ്ക്കായി സമർപ്പിക്കാം. അവ ചർച്ച ചെയ്യാൻ pgsql-hackers മെയിലിംഗ് ലിസ്റ്റ് ഉപയോഗിക്കുന്നു, മറ്റ് ഡെവലപ്പർമാർ നിർബന്ധിത സ്ഥിരീകരണ നടപടിക്രമം പാച്ച് പാസ്സാക്കിയിട്ടുണ്ടെങ്കിൽ, അത് പുതിയ റിലീസിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട് (വെബ്‌സൈറ്റ് കമ്മിറ്റ്ഫെസ്റ്റിൽ നിർദ്ദേശിച്ച ശുപാർശകളുടെ നില ട്രാക്കുചെയ്യുന്നതിനുള്ള ഒരു നടപടിക്രമമുണ്ട്. postgresql.org). റിലീസിൻ്റെ തയ്യാറെടുപ്പിനിടെ, ബീറ്റ പതിപ്പുകൾ പ്രത്യക്ഷപ്പെടുന്നു, ഇതിൻ്റെ റിലീസ് സാധാരണയായി പിജിഡിജി കോൺഫറൻസുകൾ നടത്തുന്നതുമായി സംയോജിപ്പിച്ചിരിക്കുന്നു.

ചില ഘട്ടങ്ങളിൽ, ഒരു കോഡ് ഫ്രീസ് ഘട്ടം പ്രഖ്യാപിക്കപ്പെടുന്നു, അതിൽ നിന്നുള്ള ശുപാർശകൾ പുതിയ പ്രവർത്തനംസ്വീകരിക്കപ്പെടുന്നില്ല, പക്ഷേ കോഡിൻ്റെ തിരുത്തലോ മെച്ചപ്പെടുത്തലോ മാത്രമേ അനുവദിക്കൂ. ചിലപ്പോൾ, ഒരു പുതിയ പതിപ്പിൽ പ്രവർത്തിക്കുമ്പോൾ, മുൻ പതിപ്പുകളിൽ നിന്നുള്ള പിശകുകൾ കണ്ടെത്തുകയോ ശരിയാക്കുകയോ ചെയ്യുന്നു (ബാക്ക്പോർട്ടിംഗ്), അത്തരം തിരുത്തലുകൾ ശേഖരിക്കപ്പെടുമ്പോൾ, പഴയതിന് അനുയോജ്യമായ ഒരു പുതിയ സ്ഥിരതയുള്ള പതിപ്പ് പുറത്തിറക്കാൻ ഒരു തീരുമാനം എടുക്കുന്നു. ഉദാഹരണത്തിന്, 9.4.4 സ്ഥിരതയുള്ള പതിപ്പ് 9.4-നുള്ള ഒരു ബഗ്ഫിക്സാണ്. സൈക്കിളിൻ്റെ അവസാനത്തിൽ, ഒരു റിലീസ് കാൻഡിഡേറ്റ് പുറത്തിറങ്ങുന്നു, തുടർന്ന് PostgreSQL-ൻ്റെ ഒരു പുതിയ പ്രധാന പതിപ്പ് പുറത്തിറങ്ങുന്നു.

മെയിലിംഗ് ലിസ്റ്റുകളിലൂടെ, പിജിഡിജി അതിൻ്റെ റിലീസ് തീയതി മുതൽ അഞ്ച് വർഷത്തേക്ക് പ്രധാന പതിപ്പുകൾക്കുള്ള പിന്തുണ നൽകുന്നു, കൂടാതെ ശരിയായി ഫോർമാറ്റ് ചെയ്‌ത പിശക് സന്ദേശത്തിന് പെട്ടെന്ന് അവലോകനം ചെയ്യാനുള്ള എല്ലാ സാധ്യതയും ഉണ്ട്, കൂടാതെ 24 മണിക്കൂറിനുള്ളിൽ പരിഹാരങ്ങൾ റിലീസ് ചെയ്യുമ്പോൾ പലപ്പോഴും കേസുകളുണ്ട്. ഡെവലപ്പർ കമ്മ്യൂണിറ്റിയിൽ നിന്നുള്ള പിന്തുണ കൂടാതെ, PostgreSQL-നെ വാണിജ്യപരമായി നിരവധി കമ്പനികൾ പിന്തുണയ്ക്കുന്നു: വടക്കേ അമേരിക്കയിലെ EnterpriseDB, 2ndQuadrant, Dalibo, യൂറോപ്പിലെ മറ്റുള്ളവ, റഷ്യയിലെ Postgres Professional.

റഷ്യൻ PostgreSQL കാൽപ്പാട്

ആദ്യത്തെ PostgreSQL ഡെവലപ്പർമാരിൽ ഒരാൾ (1996) ക്രാസ്നോയാർസ്കിൽ നിന്നുള്ള വാഡിം മിഖീവ് ആയിരുന്നു. DBMS-ൻ്റെ അത്തരം ഭാഗങ്ങളുടെ രചയിതാവാണ്: മൾട്ടി-പതിപ്പ് നിയന്ത്രണം ഒരേസമയം പ്രവേശനം(മൾട്ടിവേർഷൻ കൺകറൻസി കൺട്രോൾ, MVCC), ആധുനിക PostgreSQL-നെ അടിസ്ഥാനമാക്കിയുള്ള ഇടപാട് മാനേജ്മെൻ്റും ഡാറ്റാ സമഗ്രത പിന്തുണയും; ക്ലീനിംഗ് സിസ്റ്റം (വാക്വം); ഇടപാട് ലോഗ് (WAL); നെസ്റ്റഡ് അന്വേഷണങ്ങളും ട്രിഗറുകളും. ഇന്ന്, PostgreSQL പ്രോജക്റ്റിൻ്റെ പ്രധാന ഡവലപ്പർമാരിൽ റഷ്യയിൽ നിന്നുള്ള മൂന്ന് പ്രതിനിധികളുണ്ട്: മോസ്കോ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയിലെ സ്റ്റേറ്റ് ഏവിയേഷൻ ഇൻസ്റ്റിറ്റ്യൂട്ടിലെ ഗവേഷകൻ ഒലെഗ് ബാർട്ടൂനോവ്, മോസ്കോ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയിലെ ഫിസിക്സ് വിഭാഗത്തിലെ ബിരുദധാരിയായ ഫെഡോർ സിഗാവ്, അലക്സാണ്ടർ കൊറോട്ട്കോവ് (MEPhI). അവർ PostgreSQL (യൂണികോഡ് ഉൾപ്പെടെയുള്ള ദേശീയ എൻകോഡിംഗുകൾക്കുള്ള പിന്തുണ) പ്രാദേശികവൽക്കരിച്ചു, പൂർണ്ണ-ടെക്സ്റ്റ് തിരയലിനായി ഒരു സിസ്റ്റം സൃഷ്ടിച്ചു, സെമി-സ്ട്രക്ചേർഡ് ഡാറ്റ (hstore, json, jsonb) ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു, കൂടാതെ പുതിയ ഇൻഡെക്സിംഗ് രീതികളും (GiST, GIN, SP-GiST) നിർദ്ദേശിച്ചു. ).

റാംബ്ലർ പോർട്ടലിൻ്റെ (2000-കളുടെ തുടക്കത്തിൽ റൂണറ്റിൻ്റെ നേതാവ്) ഡെവലപ്‌മെൻ്റ് ടീമിൻ്റെ ഭാഗമായിരുന്നു ബാർറ്റുനോവും സിഗേവും, ഇതിനായി ഉയർന്ന പ്രകടനവും വഴക്കവും സംയോജിപ്പിച്ച് ഒരു ഉള്ളടക്ക മാനേജുമെൻ്റ് സിസ്റ്റവും ഉള്ളടക്ക പ്രോജക്റ്റുകൾ വികസിപ്പിക്കുന്നതിനുള്ള ഒരു പ്ലാറ്റ്‌ഫോമും സൃഷ്ടിക്കേണ്ടത് ആവശ്യമാണ്. അപ്പോഴാണ് ഒരു ഡിബിഎംഎസ് ഉപയോഗിച്ച് അറേകളിലൂടെ ദ്രുത തിരയൽ സംഘടിപ്പിക്കാനുള്ള ആശയം ഉടലെടുത്തത്, എന്നാൽ അക്കാലത്ത് ഈ ടാസ്‌ക്കിന് അനുയോജ്യമല്ലാത്ത ബി-ട്രീ, ആർ-ട്രീ തരങ്ങളുടെ സൂചികകളുമായി പ്രവർത്തിക്കാൻ PostgreSQL പിന്തുണച്ചിരുന്നു, അതിനാൽ ഡവലപ്പർമാർ തിരിഞ്ഞു. സാമാന്യവൽക്കരിച്ച സൂചിക മരങ്ങളുടെ അടിസ്ഥാന സൗകര്യങ്ങളിലേക്കുള്ള അവരുടെ ശ്രദ്ധ സാമാന്യവൽക്കരിച്ച തിരയൽ ട്രീ (GiST).

ജിഎസ്ടി സംവിധാനം ആദ്യം ഉണ്ടായിരുന്നു ഗവേഷണ പദ്ധതി- R-Tree-നും അതിൻ്റെ വ്യതിയാനങ്ങൾക്കും (RD-Tree, signature-tree, etc.) മേൽ ഒരു സാമാന്യവൽക്കരണം, GiST രചയിതാക്കൾ നിർദ്ദേശിച്ച PostgreSQL-നുള്ള GiST നടപ്പിലാക്കൽ എന്നിവയ്ക്ക് നിരവധി പരിമിതികളുണ്ടായിരുന്നു (നിശ്ചിത വലുപ്പത്തിലുള്ള കീകൾ മാത്രം, വീണ്ടെടുക്കൽ പിന്തുണയുടെ അഭാവം , തുടങ്ങിയവ.), അതിനെക്കുറിച്ച് സംസാരിക്കാൻ ഞങ്ങളെ അനുവദിക്കുന്നില്ല വ്യാവസായിക ഉപയോഗം. Bartunov ഉം Sigaev ഉം GiST നവീകരിച്ചു, ഇത് PostgreSQL-ൻ്റെ പൂർണ്ണമായ ഘടകമായി മാറി - സൂചികകൾ അതിൻ്റെ അടിസ്ഥാനത്തിൽ വികസിപ്പിച്ചെടുത്തു. ദ്രുത തിരയൽഅറേകളിൽ, ഓപ്പൺഎഫ്ടിഎസ് ഫുൾ-ടെക്സ്റ്റ് സെർച്ച് സിസ്റ്റവും മരങ്ങളിലും ltree ഗ്രാഫുകളിലും തിരയുന്നതിനുള്ള സൂചികകളും. PostgreSQL-ൻ്റെ പ്രത്യേക R-ട്രീ നടപ്പിലാക്കലിനു പകരം R-Tree-യുടെ GiST നടപ്പിലാക്കൽ.

2011-ൽ, ഗൂഗിൾ സമ്മർ ഓഫ് കോഡ് പ്രോഗ്രാമിൻ്റെ ഭാഗമായി, MEPhI-യിലെ ബിരുദ വിദ്യാർത്ഥിയായി അലക്സാണ്ടർ കൊറോട്ട്കോവ്, ഡിസ്ക് സ്പേസിൽ GiST നിർമ്മാണ അൽഗോരിതം നടപ്പിലാക്കുകയും PGConf.EU 2011 കോൺഫറൻസിൽ അവതരിപ്പിക്കുകയും ചെയ്തു (https://wiki .postgresql.org/images/0/07 /Fast_GiST_index_build.pdf). അപ്പോൾ അദ്ദേഹം നിർദ്ദേശിച്ചു പുതിയ അൽഗോരിതം GiST-യുടെ വിവിധ ആപ്ലിക്കേഷനുകളിൽ ഉപയോഗിച്ചിരിക്കുന്ന R-ട്രീയ്‌ക്കായുള്ള നോഡ് സ്‌പ്ലിറ്റിംഗ്: ബിൽറ്റ്-ഇൻ ജ്യാമിതി ഡാറ്റ തരങ്ങൾ, ശ്രേണികൾ, pgSphere, PostGIS-ലെ ജ്യാമിതി തരം.

PostgreSQL ഫുൾ-ടെക്സ്റ്റ് സെർച്ച് സിസ്റ്റം ഈ DBMS-ൻ്റെ പ്രധാന ഗുണങ്ങളിൽ ഒന്നാണ്: അനിയന്ത്രിതമായ SQL അന്വേഷണങ്ങളിൽ പൂർണ്ണ-ടെക്സ്റ്റ് തിരയൽ മാനദണ്ഡം ഉൾപ്പെടുത്താനുള്ള കഴിവ്, Solr അല്ലെങ്കിൽ Sphynx പോലുള്ള പ്രത്യേക തിരയൽ എഞ്ചിനുകളിൽ നിന്ന് PostgreSQL-ലെ തിരയലിനെ വേർതിരിക്കുന്നു. സിഗേവും കൊറോട്ട്‌കോവും ട്രിഗ്രാം വിഘടനത്തെ അടിസ്ഥാനമാക്കി ഒരു അവ്യക്തമായ ടെക്‌സ്‌റ്റ് തിരയൽ സംവിധാനം വികസിപ്പിച്ചെടുത്തു - pg_trgm മൊഡ്യൂൾ, ഇത് ലൈക്ക്/ഇലിക്ക് വ്യവസ്ഥകളും സാധാരണ പദപ്രയോഗങ്ങളും ഉപയോഗിച്ച് സൂചിക തിരയാനുള്ള കഴിവ് ചേർത്തു. pg_trgm എന്ന പതിവ് എക്സ്പ്രഷനുകൾക്കായുള്ള സൂചിക തിരയൽ അവതരിപ്പിച്ചു അന്താരാഷ്ട്ര സമ്മേളനം PGCon 2012 (http://www.pgcon.org/2012/schedule/attachments/248_Alexander%20Korotkov%20-%20Index%20support%20for%20regular%20expression%20search.pdf). എന്നിരുന്നാലും, ഫലപ്രദമായ പൂർണ്ണ-വാചക തിരയലിനും അറേകളിലെ തിരയലിനും, GiST സൂചികകളുടെ പ്രകടനം മതിയാകുന്നില്ല - ഒരു റിവേഴ്സ് സൂചിക ആവശ്യമാണ്. GiST-യുമായുള്ള സാമ്യം വഴി, അത്തരമൊരു സൂചിക നടപ്പിലാക്കി: സാമാന്യവൽക്കരിച്ച ഇൻവെർട്ടഡ് iNdex (GIN) സങ്കീർണ്ണമായ ഒബ്‌ജക്റ്റുകളെ കീകളിലേക്ക് അനിയന്ത്രിതമായ പാർട്ടീഷനിംഗ് ഉപയോഗിച്ച് ഇൻഡെക്‌സ് ചെയ്യാൻ അനുവദിക്കുന്നു. 2006-ൽ ടൊറൻ്റോയിൽ നടന്ന PostgreSQL വാർഷിക ഉച്ചകോടിയിൽ GIN അവതരിപ്പിച്ചു (http://www.sai.msu.su/~megera/postgres/talks/Gin-toronto-2006.pdf). തൽഫലമായി, PostgreSQL DBMS-ന് ഇപ്പോൾ പ്രത്യേക ഫുൾ-ടെക്സ്റ്റ് സെർച്ച് സിസ്റ്റങ്ങളുമായി മത്സരിക്കാനാകും. അടുത്തുള്ള ജ്യാമിതീയ വസ്തുക്കൾക്കും സമാന ഇമേജുകൾക്കും മറ്റ് സങ്കീർണ്ണമായ ഡാറ്റാ സെറ്റുകൾക്കുമായി ഫലപ്രദമായ തിരയൽ സംഘടിപ്പിക്കാൻ അനുവദിക്കുന്ന ഏറ്റവും അടുത്തുള്ള അയൽക്കാരെ (കെഎൻഎൻ) തിരയുന്നതിനുള്ള സാങ്കേതികവിദ്യയാണ് ജിഎസ്ടിയുടെ കൂടുതൽ വികസനം.

ഏറ്റവും ജനപ്രിയമായ PostgreSQL വിപുലീകരണങ്ങളിലൊന്നാണ് PostGIS മൊഡ്യൂൾ, ഇത് OpenGIS സ്റ്റാൻഡേർഡിനെയും രണ്ട് മുതൽ അഞ്ച് വരെയുള്ള സ്‌പെയ്‌സുകളിൽ ജ്യാമിതീയ ഡാറ്റയുമായി പ്രവർത്തിക്കുന്നതിനുള്ള എല്ലാ GIS പ്രൊജക്ഷനുകളും പിന്തുണയ്ക്കുന്നു. ജ്യാമിതി തരത്തിനായി കൊറോട്ട്കോവ് വികസിപ്പിച്ച നോഡ് ഡിവിഷൻ അൽഗോരിതം പോസ്റ്റ്ജിഐഎസിൽ ഉൾപ്പെടുന്നു, ഇത് തിരയൽ വേഗത മൂന്നിൽ നിന്ന് പത്തിരട്ടിയായി വർദ്ധിപ്പിച്ചു.

പതിപ്പ് 8.2 (2006) മുതൽ, Hstore വിപുലീകരണം PostgreSQL-ൽ പ്രത്യക്ഷപ്പെട്ടു, ഇത് ഒരു കൂട്ടം കീ-വാല്യൂ ജോഡികൾ സംഭരിക്കുന്നതിന് ഒരു ഡാറ്റാ തരം നടപ്പിലാക്കുന്നു, കൂടാതെ ഡോക്യുമെൻ്റ്-ഓറിയൻ്റഡ് DBMS-കൾക്കുള്ള വർദ്ധിച്ചുവരുന്ന ഡിമാൻഡ്, നെസ്റ്റിംഗിനുള്ള പിന്തുണ ചേർക്കുന്നതിനുള്ള ആശയം ഉയർന്നു. Hstore-ലേക്കുള്ള തരങ്ങളും ശ്രേണികളും. PGCon 2013 കോൺഫറൻസിൽ Bartunov, Sigaev എന്നിവർ പ്രോട്ടോടൈപ്പ് അവതരിപ്പിച്ചു. തുടർന്ന്, ഈ സൃഷ്ടിയെ അടിസ്ഥാനമാക്കി, jsonb ഡാറ്റ തരം സൃഷ്ടിച്ചു, കാര്യക്ഷമത നടപ്പിലാക്കി. ബൈനറി സംഭരണം json ഒബ്‌ജക്‌റ്റുകൾ, അവയിൽ ഒന്നായി പ്രധാന സവിശേഷതകൾ PostgreSQL പതിപ്പ് 9.4.

ആധുനിക DBMS PostgreSQL

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

വിശ്വാസ്യതയും സുരക്ഷയും

മിഷൻ-ക്രിട്ടിക്കൽ ഡാറ്റയുമായി പ്രവർത്തിക്കുമ്പോൾ എൻ്റർപ്രൈസ്-ലെവൽ ആപ്ലിക്കേഷനുകളിൽ വിശ്വാസ്യത പ്രശ്നങ്ങൾ വളരെ പ്രധാനമാണ്. PostgreSQL DBMS ഹോട്ട് ബാക്കപ്പുകൾ കോൺഫിഗർ ചെയ്യാനും മുൻകാലങ്ങളിൽ ഒരു നിശ്ചിത സമയത്തേക്ക് പുനഃസ്ഥാപിക്കാനും സാധ്യമാക്കുന്നു, കൂടാതെ പിന്തുണയ്ക്കുന്നു പല തരംഅനുകരണം (സിൻക്രണസ്, അസിൻക്രണസ്, കാസ്കേഡ്). "ഊഷ്മള" അല്ലെങ്കിൽ "ചൂടുള്ള" ബാക്കപ്പ് ഉപയോഗിച്ച് തെറ്റ്-സഹിഷ്ണുതയുള്ള സംവിധാനങ്ങൾ നിർമ്മിക്കാനും അതുപോലെ തന്നെ വിശ്വസനീയമായ ക്ലസ്റ്റർ പരിഹാരങ്ങൾ സൃഷ്ടിക്കാനും ഇതെല്ലാം നിങ്ങളെ അനുവദിക്കുന്നു.

PostgreSQL സുരക്ഷയ്ക്ക് പ്രത്യേക ശ്രദ്ധ നൽകുന്നു - DBMS നൽകുന്നു വിവിധ രീതികൾപ്രാമാണീകരണം: വ്യക്തമോ എൻക്രിപ്റ്റ് ചെയ്തതോ ആയ (md5) രൂപത്തിൽ പാസ്‌വേഡ് വഴി, ഉപയോഗിച്ച് LDAP സെർവറുകൾ, റേഡിയസ് അല്ലെങ്കിൽ പ്ലഗ്-ഇൻ മൊഡ്യൂളുകൾ (PAM); ബാഹ്യ പ്രാമാണീകരണം വഴി (ഐഡൻ്റിറ്റി, പിയർ, സർട്ടിഫിക്കറ്റ് - എസ്എസ്എൽ സർട്ടിഫിക്കറ്റ്, ജിഎസ്എസ് - ജിഎസ്എസ്എപിഐ പ്രോട്ടോക്കോൾ വഴിയുള്ള കെർബറോസ്, വിൻഡോസിനായുള്ള എസ്എസ്പിഐ - കെർബറോസ്/എൻടിഎൽഎം). ഉപയോക്താക്കളെ മാനേജുചെയ്യുമ്പോഴും ഡാറ്റാബേസ് ഒബ്‌ജക്‌റ്റുകളിലേക്കുള്ള ആക്‌സസ്സ് ചെയ്യുമ്പോഴും, വ്യക്തിഗത ഉപയോക്താക്കളെയും റോളുകളും തിരഞ്ഞെടുക്കാൻ സാധിക്കും, അവ നെസ്റ്റഡ് ചെയ്യാം; ഡാറ്റാബേസ് ഒബ്‌ജക്‌റ്റുകളിലേക്കുള്ള ആക്‌സസ് (ഗ്രാൻ്റ്/അസാധുവാക്കൽ) ഉപയോക്താക്കൾക്ക് നേരിട്ടോ അല്ലെങ്കിൽ പരോക്ഷമായോ റോളുകൾ വഴി നടത്താം; പതിപ്പ് 9.5-ൽ നിര, വരി തലങ്ങളിൽ ആക്സസ് വേർതിരിക്കും (വരി ലെവൽ സെക്യൂരിറ്റി); SE-PostgreSQL-ൻ്റെ ബിൽറ്റ്-ഇൻ പ്രവർത്തനത്തിലൂടെയാണ് SELinux പിന്തുണ നടപ്പിലാക്കിയിരിക്കുന്നത് (നിർബന്ധിത ആക്സസ്).

ANSI SQL സ്റ്റാൻഡേർഡ് വികസിച്ചതനുസരിച്ച്, PostgreSQL: SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011 എന്നിവയിലും ഇത് പിന്തുണയ്ക്കപ്പെട്ടു. ആവശ്യമായ 179 SQL:2011 സവിശേഷതകളിൽ 160 എണ്ണവും PostgreSQL 9.4 പിന്തുണയ്ക്കുന്നു.

PostgreSQL DBMS പൂർണ്ണ പിന്തുണ നൽകുന്നു ACID പ്രോപ്പർട്ടികൾമൾട്ടി-പതിപ്പ് കൺകറൻസി കൺട്രോൾ മെക്കാനിസത്തിന് നന്ദി, ഇടപാട് ഒറ്റപ്പെടലിന് ഉറപ്പ് നൽകുന്നു - റീഡ് ട്രാൻസാക്ഷനുകൾ ഒരിക്കലും റൈറ്റ് ഇടപാടുകളെ തടയില്ല, തിരിച്ചും. നൂതനമായ SSI (സീരിയലൈസബിൾ സ്‌നാപ്‌ഷോട്ട് ഐസൊലേഷൻ) സംവിധാനം ഉപയോഗിക്കുന്ന കർശനമായ സീരിയലൈസബിൾ ഐസൊലേഷൻ ലെവലിനും ഇത് ശരിയാണ്, ഇത് സമ്പൂർണ്ണ ഇടപാട് ഐസൊലേഷൻ നൽകുന്നു, ഒരേസമയം ഇടപാടുകളുടെ ഫലം അവ തുടർച്ചയായി എക്‌സിക്യൂട്ട് ചെയ്‌തതിന് തുല്യമാണെന്ന് ഉറപ്പാക്കുന്നു.

ഡെവലപ്പർ സവിശേഷതകൾ

ഏത് തരത്തിലുള്ള ആപ്ലിക്കേഷനുകളും സൃഷ്ടിക്കാൻ അനുവദിക്കുന്ന ഉപകരണങ്ങൾ ഡെവലപ്പർമാർക്ക് അവരുടെ പക്കലുണ്ട്. ഇതിൽ ഉൾപ്പെടുന്നു:

  • C, Python, Ruby, Java എന്നിവയിൽ Tcl, Perl, C, C++, PHP, Json, ODBC, JDBC, എംബഡഡ് SQL എന്നിവയ്ക്കുള്ള ഇൻ്റർഫേസുകൾ;
  • പ്രതിനിധാനം, ക്രമങ്ങൾ, അനന്തരാവകാശം, സമഗ്രത പരിമിതികൾ, പുറം ചേരൽ, നെസ്റ്റഡ് അന്വേഷണങ്ങൾ, വിൻഡോ ഫംഗ്‌ഷനുകൾ, CTE (ചോദ്യങ്ങൾക്കൊപ്പം), സംഭരിച്ച നടപടിക്രമങ്ങൾ, ഫംഗ്‌ഷനുകൾ, ട്രിഗറുകൾ;
  • റഷ്യൻ, എല്ലാ യൂറോപ്യൻ ഭാഷകൾക്കുമുള്ള പിന്തുണയുള്ള ബിൽറ്റ്-ഇൻ ഫ്ലെക്സിബിൾ ഫുൾ-ടെക്സ്റ്റ് തിരയൽ സിസ്റ്റം;
  • NoSQL പിന്തുണ: സെമി-സ്ട്രക്ചേർഡ് ഡാറ്റ (xml, json, jsonb);
  • എല്ലാ പ്രധാന ഡാറ്റാബേസുകളുടെയും പട്ടികകളായി ബാഹ്യ ഉറവിടങ്ങളെ ബന്ധിപ്പിക്കുന്നു വിദേശ ഡാറ്റ റാപ്പറുകളിലൂടെ എഴുതാനുള്ള കഴിവ്.

വിപുലീകരണവും പ്രയോഗവും

വിപുലീകരണമാണ് സിസ്റ്റത്തിൻ്റെ അടിസ്ഥാന ഗുണങ്ങളിൽ ഒന്ന്, അതിൻ്റെ വാസ്തുവിദ്യയ്ക്ക് അടിവരയിടുന്നു. ഉപയോക്താക്കൾക്ക് സ്വതന്ത്രമായി ഫംഗ്‌ഷനുകൾ, ഡാറ്റാ തരങ്ങൾ, പുതിയ തരങ്ങളുമായി പ്രവർത്തിക്കാൻ ഓപ്പറേറ്റർമാർ, ഇൻഡക്‌സ് ആക്‌സസ് രീതികൾ (Btree, Hash, GiST, GIN, SP-GiST), പ്രോഗ്രാമിംഗ് ഭാഷകൾ (pl/pgsql, pl/perl, pl/python) എന്നിവ ഉപയോഗിക്കാനാകും. , pl /tcl, pl/R, pl/java, pl/v8,...). എന്നതിലേക്കുള്ള കണക്ഷൻ ബാഹ്യ ഉറവിടങ്ങൾ(വിദേശ ഡാറ്റ റാപ്പറുകൾ) മിക്കവാറും എല്ലാ DBMS-കളിലേക്കും ഇൻ്റർഫേസുകളിലൂടെ നടപ്പിലാക്കുന്നു, കൂടാതെ ഡൗൺലോഡ് ചെയ്യാവുന്ന വിപുലീകരണങ്ങൾ ജിയോ ഇൻഫർമേഷനെ പിന്തുണയ്ക്കാൻ അനുവദിക്കുന്നു. PostGIS ഡാറ്റ, ട്രൈഗ്രാമുകൾ ഉപയോഗിച്ച് അവ്യക്തമായ തിരയൽ നടത്തുക, അറേകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുക തുടങ്ങിയവ.

PostgreSQL-ൻ്റെ പ്രധാന ഉപയോക്താക്കളിൽ Microsoft, Yahoo, Instagram, BASF, Afilias തുടങ്ങിയ കമ്പനികൾ ഉൾപ്പെടുന്നു. ഈ DBMS-ലും ഉപയോഗിക്കുന്നു പൊതുമേഖലാ: ഉദാഹരണത്തിന്, ഫ്രാൻസിൽ, 30 ദശലക്ഷം ആളുകളുടെ ഡാറ്റ സംഭരിക്കുന്ന ദേശീയ കാലാവസ്ഥാ സേവനവും നാഷണൽ ഫണ്ട് ഫോർ ഫാമിലി ബെനിഫിറ്റിൻ്റെ (CNAF) വിവര സംവിധാനവും PostgreSQL അടിസ്ഥാനമാക്കിയുള്ളതാണ്. റഷ്യയിൽ, PostgreSQL ഉപയോഗിക്കുന്നു, പ്രത്യേകിച്ചും, Yandex, Avito, അതുപോലെ തന്നെ സർക്കാർ ഏജൻസികൾവ്യവസായ സംരംഭങ്ങളിലും.

Linux, FreeBSD, Solaris, HPUX, Mac OS X, അതുപോലെ Windows എന്നിവയുൾപ്പെടെ എല്ലാ Unix ക്ലോണുകളും PostgreSQL പിന്തുണയ്ക്കുന്നു.

PostgreSQL DBMS വാസ്തുവിദ്യാ സവിശേഷതകൾ കണക്കിലെടുക്കുന്നു മൾട്ടി-കോർ പ്രോസസ്സറുകൾ, അതിനാൽ കോറുകളുടെ എണ്ണം കൂടുന്നതിനനുസരിച്ച് പ്രകടനം ഏതാണ്ട് രേഖീയമായി വർദ്ധിക്കുന്നു, എന്നിരുന്നാലും സിസ്റ്റത്തിൽ ചില പരിധികളുണ്ട് (പട്ടിക കാണുക).

സങ്കീർണ്ണമായ ചോദ്യങ്ങൾ ഒപ്റ്റിമൈസ് ചെയ്യാൻ PostgreSQL ഒരു ക്വറി പ്ലാനർ ഉപയോഗിക്കുന്നു. ക്വറി അവസ്ഥയുടെയും നിലവിലുള്ള സമഗ്രത നിയന്ത്രണങ്ങളുടെയും (നിയന്ത്രണ ഒഴിവാക്കൽ) വിശകലനത്തെ അടിസ്ഥാനമാക്കി ചൈൽഡ് ടേബിളുകളുടെ കാഴ്ചകൾ ഒഴിവാക്കാനുള്ള ഷെഡ്യൂളറുടെ കഴിവ്, PostgreSQL-ൽ പാർട്ടീഷനിംഗ് നടപ്പിലാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, ഇത് വലിയ ഡാറ്റ വെയർഹൗസുകൾക്ക് വളരെ പ്രധാനമാണ്.

ഇൻഡെക്‌സ് ചെയ്യുമ്പോൾ, പരമ്പരാഗത ബി-ട്രീയ്‌ക്ക് പുറമേ, ഇനിപ്പറയുന്നവയും ലഭ്യമാണ്: ഹാഷ്, ജിഐഎൻ (പൊതുവൽക്കരിച്ച വിപരീത സൂചിക - സാമാന്യവൽക്കരിച്ച വിപരീത സൂചിക), ജിഎസ്‌ടി (പൊതുവായ തിരയൽ ട്രീ - സാമാന്യവൽക്കരിച്ച തിരയൽ ട്രീ), SP-GiST (സ്‌പേസ്-പാർട്ടീഷൻ ചെയ്‌ത GiST - സ്പേഷ്യൽ സൂചിക) - കൂടാതെ സൂചികകൾ എക്സ്പ്രഷനുകൾ (ഫങ്ഷണൽ) അടിസ്ഥാനമാക്കി നിർമ്മിക്കാൻ കഴിയും, ആവശ്യമെങ്കിൽ, പട്ടികയിലെ ചില വരികൾക്ക് (ഭാഗിക സൂചികകൾ) മാത്രമേ സൂചികകൾ സൃഷ്ടിക്കൂ.

ആഭ്യന്തര PostgreSQL ഇക്കോസിസ്റ്റം

ഒരു അടഞ്ഞ പരിതസ്ഥിതിയിൽ സാങ്കേതിക ആശ്രിതത്വം മറികടക്കുന്നത് അസാധ്യമാണ്, അതിനാൽ ഓപ്പൺ സോഴ്‌സ് സോഫ്‌റ്റ്‌വെയർ അവതരിപ്പിക്കുന്നതും റഷ്യൻ പ്രോഗ്രാമിംഗ് കമ്മ്യൂണിറ്റിയെ, പ്രത്യേകിച്ചും, PostgreSQL DBMS ഡെവലപ്‌മെൻ്റ് ഇക്കോസിസ്റ്റത്തിലേക്ക് സംയോജിപ്പിക്കുന്നതും കൂടാതെ രാജ്യത്ത് കഴിവ് കേന്ദ്രങ്ങൾ സൃഷ്ടിക്കുന്നതും ഒരു സ്പെഷ്യലിസ്റ്റ് പരിശീലനം വികസിപ്പിക്കുന്നതും നല്ലതാണ്. സിസ്റ്റം. ലഭ്യത മുഴുവൻ സെറ്റ്സോഴ്‌സ് കോഡ്, അസംബ്ലി നടപടിക്രമങ്ങൾ, ഏറ്റവും പ്രധാനമായി, രാജ്യത്തിനുള്ളിലെ ആഭ്യന്തര ഡെവലപ്പർമാരിൽ നിന്നുള്ള സാങ്കേതിക പിന്തുണ എന്നിവയാണ് അത്തരം സംയോജനത്തിൻ്റെ വിജയത്തിൻ്റെ അടിസ്ഥാനം. തീർച്ചയായും, ഒരു DBMS-ൻ്റെ പ്രകടനം പ്രധാനമായും ഒരു ശക്തമായ സിസ്റ്റത്തെ ആശ്രയിച്ചിരിക്കുന്നു സാങ്കേതിക സഹായം 24x7x365 മോഡിൽ - ഇത് ഒരു വ്യാവസായിക തലത്തിലുള്ള ടാസ്‌ക്കാണ്, റഷ്യയിലെ PostgreSQL-നായി Postgres പ്രൊഫഷണൽ കമ്പനി പരിഹരിക്കുന്നു.

റഷ്യയിൽ ഇന്ന് കൂടുതൽ കൂടുതൽ കമ്പനികളും സ്ഥാപനങ്ങളും ഉൾപ്പെടെ PostgreSQL ഇക്കോസിസ്റ്റം വികസിച്ചുകൊണ്ടിരിക്കുന്നു. സഹകരണംസഖ്യത്തിലെ അംഗങ്ങൾ PostgreSQL DBMS ൻ്റെയും അതിൻ്റെ വിപുലീകരണങ്ങളുടെയും വികസനം മാത്രമല്ല, OS- യുമായുള്ള അടുത്ത സംയോജനവും വികസനവും ഉൾപ്പെടുന്നു. ആപ്ലിക്കേഷൻ പരിഹാരങ്ങൾ, മറ്റ് DBMS-കളിൽ നിന്നുള്ള മൈഗ്രേഷൻ ടൂളുകൾ മുതലായവ കാര്യമായ പ്രവൃത്തികൾ PostgreSQL-ൻ്റെ വികസനം സംബന്ധിച്ച്, ഇനിപ്പറയുന്നവ വേർതിരിച്ചറിയാൻ കഴിയും.

ഉയർന്ന ലഭ്യത സ്കെയിലബിൾ പങ്കിട്ട-ഒന്നുമില്ല ക്ലസ്റ്റർ. OLAP, OLTP സിസ്റ്റങ്ങളിൽ ഡാറ്റ റെക്കോർഡിംഗും പ്രോസസ്സിംഗും സ്കെയിൽ ചെയ്യാൻ ക്ലസ്റ്റർ നിങ്ങളെ അനുവദിക്കും. ഉയർന്ന തലംപ്രവേശനക്ഷമത, ഉയർന്ന ലോഡുള്ള വ്യാവസായിക സംവിധാനങ്ങളിൽ ആവശ്യക്കാരുണ്ട്. PostgreSQL തെറ്റ്-സഹിഷ്ണുതയുള്ള കോൺഫിഗറേഷൻ ഡിസ്ട്രിബ്യൂഷൻ, ചലനാത്മകമായി മാറിക്കൊണ്ടിരിക്കുന്ന കമ്പ്യൂട്ടിംഗ് പരിതസ്ഥിതികളിൽ (ഉദാഹരണത്തിന്, ക്ലൗഡ്) പ്രവർത്തിക്കുന്നതിന് പൂർണ്ണമായി അനാവശ്യമായ ഒരു ക്ലസ്റ്റർ വിന്യസിക്കുന്നത് താരതമ്യേന എളുപ്പമാക്കുന്നു. കൂടാതെ, നോഡുകളുടെ എണ്ണം കൂടുന്നതിനനുസരിച്ച് റീഡ്-റൈറ്റ് സ്കെയിലിംഗ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് വളരെ ലഭ്യമായ മൾട്ടിമാസ്റ്റർ ക്ലസ്റ്റർ സൃഷ്ടിക്കാൻ കഴിയും, കൂടാതെ ഡാറ്റാ ഷാർഡിംഗ് കാരണം, മൊത്തത്തിലുള്ള സംഭരണശേഷി ഓരോ നോഡിലും വ്യക്തിഗതമായി ലഭ്യമായതിനേക്കാൾ കൂടുതലായേക്കാം.

ബന്ധിപ്പിച്ച സംഭരണികൾ.പ്രത്യേക ഡാറ്റ സ്റ്റോറുകളിൽ പ്രവർത്തിക്കുന്നതിനുള്ള ഫോറിൻ ഡാറ്റ റാപ്പർ (എഫ്ഡിഡബ്ല്യു) സംവിധാനം (വരികൾ അല്ലെങ്കിൽ നിരകൾ ഉപയോഗിച്ച് സംഭരിക്കുക, ഡിസ്കിൽ പ്രവർത്തിക്കുക അല്ലെങ്കിൽ സംഭരിക്കുക റാൻഡം ആക്സസ് മെമ്മറി) OLTP, OLAP അന്വേഷണങ്ങളുടെ നിർവ്വഹണം വേഗത്തിലാക്കും.

ക്വറി എക്സിക്യൂഷൻ്റെ ഓട്ടോമാറ്റിക് അഡാപ്റ്റീവ് ഒപ്റ്റിമൈസേഷനുള്ള സിസ്റ്റം. ആധുനിക രീതികൾമെഷീൻ ലേണിംഗ് DBMS-ൻ്റെ വികസനത്തിന് പുതിയ സാധ്യതകൾ തുറക്കുന്നു - ലോഡ് ബാലൻസിങ്, ഒരു അന്വേഷണ നിർവ്വഹണ പ്ലാൻ കണക്കുകൂട്ടൽ, കാര്യക്ഷമമായ സൂചികകൾ നിർമ്മിക്കൽ തുടങ്ങിയ ജോലികൾ ചെയ്യാവുന്നതാണ്. ഒപ്റ്റിമൽ പരിഹാരംനിർദ്ദിഷ്ട ഡാറ്റ സെറ്റുകൾ, ചോദ്യങ്ങൾ, ലോഡ് അവസ്ഥകൾ എന്നിവയ്ക്കായി. കൂടാതെ, മെഷീൻ ലേണിംഗ് നിങ്ങളെ തത്സമയം പ്രോസസ്സിംഗ് അൽഗോരിതങ്ങൾ അഡാപ്റ്റീവ് ആയി പുനർനിർമ്മിക്കാൻ അനുവദിക്കുന്നു. മോസ്കോ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയിലെയും നാഷണൽ റിസർച്ച് യൂണിവേഴ്സിറ്റി ഹയർ സ്കൂൾ ഓഫ് ഇക്കണോമിക്സിലെയും സ്പെഷ്യലിസ്റ്റുകളുമായി സംയുക്തമായി വികസിപ്പിച്ചെടുത്ത, സ്റ്റാൻഡേർഡ് ഡിബിഎംഎസ് പ്രവർത്തനത്തിൽ നിർമ്മിച്ച മെഷീൻ ലേണിംഗ് ടൂളുകൾക്ക് ഡിബിഎംഎസ് ആപ്ലിക്കേഷനുകളുടെ സാധാരണ വ്യാപ്തി വർദ്ധിപ്പിക്കാൻ കഴിയും - പ്രത്യേകിച്ചും, അവ നിങ്ങളെ കാര്യക്ഷമമായും കുറഞ്ഞ നഷ്ടത്തിലും അനുവദിക്കും. തത്സമയ കൃത്യത വലിയ അളവിലുള്ള ഡാറ്റയിൽ അന്വേഷണങ്ങൾ നടത്തുന്നു. ഇൻറർനെറ്റ് ഓഫ് തിംഗ്സ് യുഗത്തിൽ ഒരു ഡിബിഎംഎസിന് പ്രത്യേകിച്ചും പ്രധാനപ്പെട്ട ഡാറ്റയുടെയും അന്വേഷണങ്ങളുടെയും വിതരണത്തിലെ മാറ്റങ്ങളോട് വഴക്കത്തോടെ പ്രതികരിക്കാനും ഇത് സാധ്യമാകും.

സെമി-സ്ട്രക്ചേർഡ് ഡാറ്റയുടെ വിപുലീകൃത പ്രവർത്തനം. JSON, JSONB ഫോർമാറ്റിൽ ഡാറ്റയുമായി പ്രവർത്തിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന സാങ്കേതികവിദ്യയ്ക്ക് നന്ദി, PostgreSQL പരമ്പരാഗത DBMS-കളുടെ നേട്ടങ്ങളായ ഇടപാട്, മാറ്റങ്ങളുടെ ആറ്റോമിസിറ്റി, ഡാറ്റാ സമഗ്രത എന്നിവയും NoSQL-ൻ്റെ വഴക്കവും പ്രകടനത്തെ നഷ്ടപ്പെടുത്താതെ സംയോജിപ്പിക്കുന്നു. സെമി-സ്ട്രക്ചേർഡ് ഡാറ്റാ ക്വറി ലാംഗ്വേജ്, SQL-ൽ സങ്കീർണ്ണമായ അന്വേഷണങ്ങൾ രൂപപ്പെടുത്താനും, ഡാറ്റാ ഘടനകൾ ലളിതമാക്കുന്നതിലൂടെ പ്രകടനം വർദ്ധിപ്പിക്കാനും, ആപ്ലിക്കേഷനുകളിൽ നിന്ന് DBMS വശത്തേക്ക് സങ്കീർണ്ണമായ ഡാറ്റ ഫിൽട്ടറിംഗ് മാറ്റാനും, ഇൻഡെക്സുകളുടെ കാര്യക്ഷമമായ ഉപയോഗവും സാധ്യമാക്കുന്നു.

അഭ്യർത്ഥന നിർവ്വഹണം നിരീക്ഷിക്കുന്നതിനും കണ്ടെത്തുന്നതിനുമുള്ള മെച്ചപ്പെട്ട സംവിധാനം.വ്യാവസായിക ഡിബിഎംഎസുകൾക്ക് അവയുടെ പ്രോസസ്സിംഗിൻ്റെ വിവിധ ഘട്ടങ്ങൾക്കായി ട്രാക്കിംഗ് ഉറവിടങ്ങൾ ഉപയോഗിച്ച് അന്വേഷണങ്ങളുടെ നിർവ്വഹണം നിരീക്ഷിക്കാനും കണ്ടെത്താനുമുള്ള കഴിവ് ആവശ്യമാണ് - ഇത് ആപ്ലിക്കേഷൻ പ്രകടനവും സെർവർ കോൺഫിഗറേഷനും ഒപ്റ്റിമൈസ് ചെയ്യാൻ അനുവദിക്കുന്നു. PostgreSQL വിവിധ പെർഫോമൻസ് മെട്രിക്‌സ് ശേഖരിക്കാനുള്ള കഴിവും OS മെട്രിക്‌സുമായി അവയെ പരസ്പരബന്ധിതമാക്കുന്നതിനുള്ള ഒരു മാർഗവും നൽകുന്നു.

ഡോക്യുമെൻ്റേഷൻ വിവർത്തനവും പരിശീലനവും.റഷ്യൻ ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്യുന്ന പ്രക്രിയ ആരംഭിച്ചു സാങ്കേതിക ഡോക്യുമെൻ്റേഷൻ, അതിൻ്റെ സമയോചിതമായ അപ്ഡേറ്റും ആസൂത്രണം ചെയ്തിട്ടുണ്ട്. കൂടാതെ, ആധുനിക സാങ്കേതികവിദ്യകൾ, ഡിബിഎംഎസ് വികസനം, ഡിബിഎംഎസിൻ്റെ വ്യാവസായിക പ്രവർത്തനം, അപ്ലൈഡ് ആപ്ലിക്കേഷനുകളുടെ വികസനം തുടങ്ങിയ മേഖലകളിൽ സ്പെഷ്യലിസ്റ്റുകളെ പരിശീലിപ്പിക്കുന്നതിനുള്ള ഒരു സംവിധാനം റഷ്യയിൽ വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്നു. വിവര സംവിധാനം PostgreSQL കണക്കിലെടുത്ത് ഒരു DBMS അടിസ്ഥാനമാക്കി. അഡ്മിനിസ്ട്രേറ്റർമാർക്കും ഡവലപ്പർമാർക്കുമായി വിപുലമായ പരിശീലന കോഴ്സുകൾ സൃഷ്ടിക്കപ്പെടുന്നു, അവയുടെ അടിസ്ഥാനത്തിൽ ഒരു സർട്ടിഫിക്കേഷൻ സംവിധാനം നിർമ്മിക്കപ്പെടുന്നു.

PostgreSQL-ൻ്റെ ഭാവി

2015 ജൂലൈയിൽ, PostgreSQL 9.5-ൻ്റെ ആൽഫ പതിപ്പ് പുറത്തിറങ്ങി, അതിൽ എൻ്റർപ്രൈസ് ലെവൽ സൊല്യൂഷനുകളുടെ സവിശേഷതയായ പുതിയ ഫംഗ്‌ഷനുകൾ നടപ്പിലാക്കുന്നതിൽ ഗൗരവമായ ശ്രദ്ധ ചെലുത്തി, പ്രാഥമികമായി DBMS-ൻ്റെ വിശ്വാസ്യതയും പ്രകടനവും വർദ്ധിപ്പിക്കാൻ ഇത് ലക്ഷ്യമിടുന്നു.

റോ ലെവൽ സെക്യൂരിറ്റി ഫംഗ്ഷൻ നിങ്ങളെ മുഴുവൻ ടേബിളിലേക്കല്ല, മറിച്ച് അതിൻ്റെ വ്യക്തിഗത വരികളിലേക്ക് ആക്സസ് ഓർഗനൈസുചെയ്യാൻ അനുവദിക്കുന്നു. ഈ സവിശേഷത വെർച്വൽ പ്രൈവറ്റ് ഡാറ്റാബേസ് അല്ലെങ്കിൽ ഫൈൻ-ഗ്രെയിൻഡ് ആക്‌സസ് കൺട്രോൾ എന്നും അറിയപ്പെടുന്നു കൂടാതെ PostgreSQL-ൻ്റെ നിലവിലുള്ള ഡാറ്റ ആക്‌സസ് കൺട്രോൾ മെക്കാനിസങ്ങൾ പൂർത്തീകരിക്കുന്നു. pgaudit പ്രവർത്തനത്തിന് നന്ദി, നിങ്ങൾക്ക് ഡാറ്റാബേസ് പ്രവർത്തനങ്ങളുടെ വിശദമായ ഓഡിറ്റ് നടത്താൻ കഴിയും, ഇത് പ്രകടന നിരീക്ഷണം ഓട്ടോമേറ്റ് ചെയ്യുന്നതിന് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്. ആപ്ലിക്കേഷൻ സിസ്റ്റങ്ങൾ, ഉദാഹരണത്തിന് ഒരു ഓഡിറ്റ് ട്രയൽ രേഖപ്പെടുത്താൻ. കൂടാതെ, പുതിയ പതിപ്പിൽ, ബിഗ് ഡാറ്റയുമായി പ്രവർത്തിക്കുന്നതിനുള്ള ഉപകരണങ്ങൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട് - പ്രത്യേകിച്ചും, ബ്ലോക്ക് റേഞ്ച് സൂചികകൾ (BRIN) പേജ് ശ്രേണികളെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു ആക്‌സസ് രീതി ഉപയോഗിച്ച് പ്രത്യക്ഷപ്പെട്ടു (അവയ്ക്ക് കുറച്ച് ഇടം മാത്രമേ ആവശ്യമുള്ളൂ, അപ്‌ഡേറ്റ് ചെയ്യുമ്പോൾ കുറച്ച് ഉറവിടങ്ങൾ ആവശ്യമാണ്, ഡാറ്റ വീണ്ടെടുക്കുമ്പോൾ അവ ബി-ട്രീയേക്കാൾ കാര്യക്ഷമമല്ലെങ്കിലും). വിശ്വാസ്യത മെച്ചപ്പെടുത്തുന്നതിന്, മാസ്റ്റർ-സ്ലേവ് റെപ്ലിക്കേഷൻ ഉപയോഗിക്കുമ്പോൾ, ഒരു സ്ലേവുമായി പരാജയപ്പെട്ട മാസ്റ്റർ സെർവറിനെ വേഗത്തിൽ സമന്വയിപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന pg_rewind വിപുലീകരണം ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

ഇന്ന് PostgreSQL എന്നത് പൂർണ്ണമായി പ്രവർത്തനക്ഷമമായ ഒരു ഓപ്പൺ സോഴ്‌സ് DBMS ആണ്, അത് നിങ്ങളെ വിവിധ പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ അനുവദിക്കുന്നു. PostgreSQL-ൻ്റെ അസ്തിത്വത്തിൽ, ഡവലപ്പർമാർ, വിശകലന വിദഗ്ധർ, ഉപയോക്താക്കൾ എന്നിവരുൾപ്പെടെ ഒരു ആവാസവ്യവസ്ഥ രൂപപ്പെട്ടു, ഇതിന് നന്ദി, വിപണി ആവശ്യകതകളെ ആശ്രയിച്ച് ഈ DBMS-ൻ്റെ പ്രവർത്തനം വിപുലീകരിക്കാൻ കഴിയും.

സാഹിത്യം

  1. സെർജി മുറാവിയോവ്, സെർജി ഡ്വോറിയങ്കിൻ, ഇഗോർ നസെൻകോവ്. DBMS: ചോയിസിൻ്റെ പ്രശ്നം // Open Systems.DBMS. - 2015. - നമ്പർ 1. - പി. 22–24. URL: (ആക്സസ് തീയതി: 1.09.2015).
  2. കോൺസ്റ്റാൻ്റിൻ സെലെസ്നെവ്, വിറ്റാലി മാക്സിമോവ്. ഇറക്കുമതി പകരം വയ്ക്കൽ: ലക്ഷ്യമോ മാർഗമോ? // ഓപ്പൺ systems.DBMS. - 2015. - നമ്പർ 1. - പി. 30–33. URL: (ആക്സസ് തീയതി: 2.09.2015).
  3. അലക്സാണ്ടർ ലഷ്മനോവ്. ഇറക്കുമതി ചെയ്യുക പകരം വയ്ക്കൽ: അപകടസാധ്യതകളും മിഥ്യാധാരണകളും // Open Systems.DBMS. - 2015. - നമ്പർ 1. - പി. 34–35. URL: (ആക്സസ് തീയതി: 09/03/2015).

ഇവാൻ പഞ്ചെങ്കോ ([ഇമെയിൽ പരിരക്ഷിതം]) - ഡെപ്യൂട്ടി ജനറൽ ഡയറക്ടർ, പോസ്റ്റ്ഗ്രെസ് പ്രൊഫഷണൽ കമ്പനി (മോസ്കോ).



പിന്തുണയ്ക്കുന്ന ബിൽറ്റ്-ഇൻ ഡാറ്റാ തരങ്ങൾ

സംഖ്യാ തരങ്ങൾ
ചെറിയ നിറം ഹ്രസ്വ 2-ബൈറ്റ് പൂർണ്ണസംഖ്യ
പൂർണ്ണസംഖ്യ സാധാരണ 4-ബൈറ്റ് പൂർണ്ണസംഖ്യ
വലിയ വലിയ 8-ബൈറ്റ് പൂർണ്ണസംഖ്യ
ദശാംശം
സംഖ്യാപരമായ സ്ഥിര-പോയിൻ്റ് അംശം
യഥാർത്ഥമായ ഫ്ലോട്ടിംഗ് പോയിൻ്റ് ഫ്രാക്ഷൻ
ഇരട്ട കൃത്യത ഇരട്ട-പ്രിസിഷൻ ഫ്ലോട്ടിംഗ്-പോയിൻ്റ് ഫ്രാക്ഷൻ
സീരിയൽ സ്വയം വർദ്ധനവ് ഉള്ള പൂർണ്ണസംഖ്യ
വലിയ സീരിയൽ സ്വയമേവ വർദ്ധനവുള്ള വലിയ പൂർണ്ണസംഖ്യ
പണത്തിൻ്റെ തരങ്ങൾ
പണം പണ മൂല്യങ്ങൾ സംഭരിക്കുന്നതിന്
പ്രതീക തരങ്ങൾ
പ്രതീകം വ്യത്യാസപ്പെടുന്നു(n), varchar(n) ലൈൻ വേരിയബിൾ നീളംപരിമിതിയോടെ
പ്രതീകം(n), char(n) നിശ്ചിത നീളം ചരട്
വാചകം പരിധിയില്ലാത്ത ദൈർഘ്യമുള്ള വേരിയബിൾ സ്ട്രിംഗ്
ബൈനറി (ബൈനറി) തരങ്ങൾ
bytea വേരിയബിൾ നീളം ബൈനറി സ്ട്രിംഗ്
തീയതിയും സമയവും
ടൈംസ്റ്റാമ്പ് [ (p) ] [സമയ മേഖലയില്ല] തീയതിയും സമയവും
സമയമേഖലയോടുകൂടിയ ടൈംസ്റ്റാമ്പ് [ (p) ] സമയ മേഖലയുമായി തീയതിയും സമയവും
ഇടവേള[(p)] സമയ ഇടവേള
തീയതി തീയതി മാത്രം
സമയം [ (p) ] [സമയ മേഖലയില്ല] സമയം മാത്രം
സമയം [ (p) ] സമയ മേഖലയോടൊപ്പം സമയ മേഖലയുള്ള സമയം മാത്രം
ബൂളിയൻ തരങ്ങൾ
ബൂളിയൻ ശരിയോ തെറ്റോ
ജ്യാമിതീയ തരങ്ങൾ
പോയിൻ്റ് വിമാനത്തിൽ പോയിൻ്റ് (x,y)
ലൈൻ അദൃശ്യ രേഖ (പൂർണ്ണമായി നടപ്പിലാക്കിയിട്ടില്ല)
lseg ദൃശ്യമായ സെഗ്‌മെൻ്റ് ((x1,y1),(x2,y2))
പെട്ടി ചതുർഭുജം ((x1,y1),(x2,y2))
പാത അടഞ്ഞ ബഹുഭുജം (ഒരു ബഹുഭുജത്തിന് സമാനമായത്) ((x1,y1),...)
പാത പോളിലൈൻ [(x1,y1),...]
ബഹുഭുജം ബഹുഭുജം (അടഞ്ഞ ബഹുഭുജത്തിന് സമാനമായത്) ((x1,y1),...)
വൃത്തം സർക്കിൾ (x,y),r (മധ്യവും ആരവും)
കമ്പ്യൂട്ടർ നെറ്റ്‌വർക്ക് വിലാസങ്ങൾക്കുള്ള തരങ്ങൾ
cidr IPv4 അല്ലെങ്കിൽ IPv6 നെറ്റ്‌വർക്ക്
inet IPv4 അല്ലെങ്കിൽ IPv6 ഹോസ്റ്റും നെറ്റ്‌വർക്കും
macaddr MAC വിലാസം
ബിറ്റ് സ്ട്രിങ്ങുകൾ
ബിറ്റ്[(എൻ)] നിശ്ചിത നീളം ബിറ്റ് സ്ട്രിംഗ്
ബിറ്റ് വ്യത്യാസപ്പെടുന്നു [(n)] വേരിയബിൾ നീളം ബിറ്റ് സ്ട്രിംഗ്
ടെക്സ്റ്റ് തിരയലിനുള്ള തരങ്ങൾ
tsquery ടെക്സ്റ്റ് തിരയൽ അന്വേഷണം
tsvector ടെക്സ്റ്റ് തിരയൽ ലിസ്റ്റ്
UUID തരം
uuid സാർവത്രിക അദ്വിതീയ ഐഡൻ്റിഫയർ
XML തരങ്ങൾ
xml XML ഡാറ്റ

ഈ തരങ്ങളുടെ കൂട്ടത്തിന് പുറമേ, PostgreSQLലിസ്‌റ്റുകൾ (ENUM തരം), തരങ്ങളുടെ അറേകൾ, സി ഭാഷയിലെ ഘടനകൾ പോലുള്ള സംയോജിത തരങ്ങൾ എന്നിവ സൃഷ്‌ടിക്കാനുള്ള കഴിവ് നൽകുന്നു, കൂടാതെ ഒബ്‌ജക്‌റ്റുകളുടെ തനതായ തിരിച്ചറിയൽ തരങ്ങളും (OID), സംഭരിച്ച നടപടിക്രമങ്ങൾക്കായുള്ള സ്യൂഡോടൈപ്പുകളും ഉണ്ട്.

ഉപയോക്താവ് സൃഷ്ടിച്ച ഡാറ്റ തരങ്ങൾ

CREATE കമാൻഡ് ഉപയോഗിക്കുന്നു TYPE ഉപയോക്താക്കൾഅവരുടെ ആവശ്യങ്ങൾക്കായി പുതിയ ഡാറ്റ തരങ്ങൾ സൃഷ്ടിക്കാൻ കഴിയും.

പ്രാദേശികവൽക്കരണം

അടിസ്ഥാനം PostgreSQLഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്ത ലോക്കലൈസേഷനുമായി പ്രവർത്തിക്കുന്നു, കൂടാതെ POSIX സ്റ്റാൻഡേർഡിന് അനുസൃതമായി പ്രവർത്തിക്കുന്നു. പ്രായോഗികമായി, സാധ്യമായ എല്ലാ എൻകോഡിംഗുകളിലും റഷ്യൻ ഉൾപ്പെടെ നിരവധി ഡസൻ ഭാഷകളിൽ പ്രവർത്തിക്കാനുള്ള കഴിവ് ഇതിനർത്ഥം: koi8-r, cp1251, iso8859-5, UTF-8. അവസരം ശരിയായ പ്രവർത്തനം PostgreSQLഒരു നിർദ്ദിഷ്ട എൻകോഡിംഗിനൊപ്പം ഈ എൻകോഡിംഗിൻ്റെ ശരിയായ പിന്തുണ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം തന്നെ ആശ്രയിച്ചിരിക്കുന്നു.
Gettext ലൈബ്രറിയുടെ ഉപയോഗത്തിന് നന്ദി, യൂട്ടിലിറ്റികളിലെ പിശക് സന്ദേശങ്ങൾ റഷ്യൻ ഉൾപ്പെടെ നിരവധി ഭാഷകളിലേക്ക് വിവർത്തനം ചെയ്യപ്പെട്ടു.

ഭാഷകൾ

സംഭരിച്ച നടപടിക്രമങ്ങൾ (പ്രവർത്തനങ്ങൾ) എഴുതാൻ ഇത് ഉപയോഗിക്കാം

  • പൈത്തൺ
  • C/C++
  • PL/pgSQL

പ്രവർത്തനങ്ങളും ഓപ്പറേറ്റർമാരും

മുകളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന ഓരോ തരത്തിനും, അതിൻ്റേതായ പ്രവർത്തനങ്ങളും ഓപ്പറേറ്റർമാരും ഉണ്ട്, ഇത് ഈ തരത്തിലുള്ള ഡാറ്റയുമായി പ്രവർത്തിക്കുന്നത് കഴിയുന്നത്ര സൗകര്യപ്രദവും വഴക്കമുള്ളതും ഉൽപ്പാദനക്ഷമവുമാക്കുന്നു. ഈ ഫംഗ്‌ഷനുകളുടെയും ഓപ്പറേറ്റർമാരുടെയും ലിസ്റ്റിംഗ്, വിതരണം ചെയ്ത ഡോക്യുമെൻ്റേഷൻ്റെ ഗണ്യമായ തുക എടുക്കുന്നു. PostgreSQL, അതിനാൽ വിശദാംശങ്ങൾ അവിടെ കാണുക.

സൂചികകൾ
PostgreSQL 4 തരം സൂചികകൾ വാഗ്ദാനം ചെയ്യുന്നു: ബി-ട്രീ, ഹാഷ്, ജിഎസ്ടി, ജിഐഎൻ. ഓരോ ഇൻഡക്‌സ് തരത്തിനും അതിൻ്റേതായ നടപ്പാക്കൽ അൽഗോരിതം ഉണ്ട്, അത് പ്രകടനത്തെ ഗണ്യമായി വർദ്ധിപ്പിക്കും ഒരു പ്രത്യേക തരംഡാറ്റ, ഒരു നിർദ്ദിഷ്ട ഇൻഡക്സ് തരം തിരഞ്ഞെടുക്കുക.
PostgreSQLഎക്സ്പ്രഷനുകൾ ഉപയോഗിച്ച് സൂചികകൾ സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, ഉദാഹരണത്തിന്: സൃഷ്ടിക്കാൻ സൂചിക test1_lower_col1_idx ഓൺ test1(താഴ്ന്ന(col1));
PostgreSQLഒരു WHERE ക്ലോസ് ഉപയോഗിച്ച് ഭാഗിക സൂചികകൾ സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, ഉദാഹരണത്തിന്: സൃഷ്ടിക്കാൻ സൂചിക orders_unbilled_index ഓൺഓർഡറുകൾ (order_nr) എവിടെബില്ലായി ഐ.എസ് അല്ലസത്യം;.

മുഴുവൻ ടെക്സ്റ്റ് തിരയൽ
കേർണലിലെ പതിപ്പ് 8.3 മുതൽ ആരംഭിക്കുന്നു PostgreSQLഫുൾ-ടെക്സ്റ്റ് തിരയൽ പ്രവർത്തനം ഉൾപ്പെടുത്തിയിട്ടുണ്ട് (ഇത് മുമ്പ് ഒരു പ്രത്യേക എക്സ്റ്റൻഷൻ മൊഡ്യൂളായി നൽകിയിരുന്നു).
ഫുൾ-ടെക്‌സ്‌റ്റ് തിരയൽ ചോദ്യങ്ങൾ സൃഷ്‌ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു ടെക്സ്റ്റ് പ്രമാണങ്ങൾ, പോലുള്ളവ: "ചില പദങ്ങൾ അടങ്ങിയ എല്ലാ രേഖകളും കണ്ടെത്തി അവ ഒരു നിശ്ചിത ക്രമത്തിൽ ഇഷ്യൂ ചെയ്യുക", ഇവിടെ അഭ്യർത്ഥനകളും ഇഷ്യൂ ചെയ്യുന്ന ക്രമവും പ്രത്യേക ആവശ്യങ്ങൾക്കനുസരിച്ച് വഴക്കമുള്ള രീതിയിൽ ക്രമീകരിക്കാൻ കഴിയും.

കൺകറൻ്റ് ഇടപാടുകളുടെയും ഇടപാട് ഒറ്റപ്പെടലിൻ്റെയും മൾട്ടി-വേർഷൻ നിയന്ത്രണം
IN PostgreSQLനടപ്പിലാക്കിയത് (മൾട്ടിവേർഷൻ കൺകറൻസി കൺട്രോൾ, എംവിസിസി) - ഒന്നിലധികം പതിപ്പുകളുടെ അടിസ്ഥാനത്തിൽ ഡാറ്റയിലേക്കുള്ള മത്സരാധിഷ്ഠിത ആക്സസ് നിയന്ത്രിക്കുന്ന കൺകറൻ്റ് ഇടപാടുകളുടെ മൾട്ടി-പതിപ്പ് നിയന്ത്രണം. പ്രായോഗികമായി, ഇതിനർത്ഥം, ഡാറ്റാബേസ് അന്വേഷിക്കുമ്പോൾ, ഓരോ ഇടപാടും ഈ സ്നാപ്പ്ഷോട്ട് സമയത്ത് ഡാറ്റയുടെ (പതിപ്പ്) ഒരു സ്നാപ്പ്ഷോട്ട് കാണുന്നു, അല്ലാതെ ഡാറ്റയുടെ നിലവിലെ അവസ്ഥയല്ല. ഈ രീതിയിൽ, അതേ പട്ടിക വരികളിലെ മറ്റ് സമകാലിക ഇടപാടുകൾ വഴി സൃഷ്ടിക്കപ്പെട്ടേക്കാവുന്ന അപൂർണ്ണമായ ഡാറ്റ കാണുന്നതിൽ നിന്ന് ഇടപാടുകൾ സംരക്ഷിക്കപ്പെടുന്നു. ഇത് ഓരോ ഡാറ്റാബേസ് സെഷനും ട്രാൻസാക്ഷൻ ഐസൊലേഷൻ നേടുന്നു. പരമ്പരാഗത DBMS-കളിൽ ഉപയോഗിക്കുന്ന വ്യക്തമായ ലോക്കിംഗ് രീതികൾ ഒഴിവാക്കാൻ MMVC നിങ്ങളെ അനുവദിക്കുന്നു, അതുവഴി ഡാറ്റ ലോക്കുകൾ കുറയ്ക്കുകയും മൾട്ടി-യൂസർ വർക്കിലെ പ്രകടനം മെച്ചപ്പെടുത്തുകയും ചെയ്യുന്നു. MMVC യുടെ പ്രധാന നേട്ടം, ഡാറ്റ റീഡുകൾ ഒരിക്കലും എഴുതുന്നതിനെ തടയുന്നു, കൂടാതെ എഴുതുന്നത് ഒരിക്കലും വായനയെ തടയുന്നില്ല എന്നതാണ്.
കൂടി PostgreSQLഇടപാടുകൾ ഒറ്റപ്പെടുത്താൻ ഉപയോഗിക്കുന്ന വ്യക്തമായ ഡാറ്റ ലോക്കിംഗിൻ്റെ പരമ്പരാഗത സ്കീമുകൾ നടപ്പിലാക്കിയിട്ടുണ്ട്, ഇനിപ്പറയുന്നവ:

  • ടേബിൾ ലെവൽ ലോക്കിംഗ്
  • പട്ടിക റെക്കോർഡ് (വരി) തലത്തിൽ ലോക്കിംഗ്
  • ഉപദേശക ലോക്കുകൾ (നേറ്റീവ് ആപ്ലിക്കേഷൻ ലെവൽ ലോക്കുകൾക്കായി)

ഡെഡ്‌ലോക്കുകളുടെ ട്രാക്കിംഗും നടപ്പിലാക്കി (മ്യൂച്വൽ ലോക്കുകൾ)

മുന്നിലുള്ള ലോഗുകൾ എഴുതുക (WAL)
PostgreSQLഇനിപ്പറയുന്നതുപോലുള്ള നേട്ടങ്ങൾ നൽകുന്ന ഒരു WAL (റൈറ്റ്-എഹെഡ് ലോഗ്) സംവിധാനം നടപ്പിലാക്കുന്നു:

  • പട്ടികകളിലെ എല്ലാ ഡാറ്റയും മാറ്റിയെഴുതാതെ വരുത്തിയ മാറ്റങ്ങൾ മാത്രം രേഖപ്പെടുത്തുന്നതിനാൽ DBMS-ൻ്റെ പ്രകടനം മെച്ചപ്പെടുത്തുന്നു.
  • WAL-ൽ ബഫർ ചെയ്ത ഡാറ്റ പ്രീ-സേവ് ചെയ്യുന്നതിലൂടെ ഡാറ്റ സ്റ്റോറേജ് വിശ്വാസ്യത വർദ്ധിപ്പിക്കുന്നു
  • നിലവിലുള്ള ഒരു ബാക്കപ്പ് പകർപ്പിലേക്ക് WAL പ്രയോഗിച്ച് ഏത് സമയത്തും ഡാറ്റാബേസ് നില തിരികെ കൊണ്ടുവരാനുള്ള കഴിവ്

ടേബിൾസ്പേസുകൾ
ടേബിൾസ്‌പേസുകൾ PostgreSQLഫയൽ സിസ്റ്റത്തിലെ ഡാറ്റാബേസ് ഒബ്‌ജക്‌റ്റുകൾക്കുള്ള സ്റ്റോറേജ് ലൊക്കേഷൻ വ്യക്തമാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ആദ്യം, ഒരു നിർദ്ദിഷ്ട പേരുള്ള ഒരു ടേബിൾസ്പേസ് സൃഷ്ടിക്കപ്പെടുന്നു. കൂടാതെ, ഈ പട്ടികകൾ പ്രത്യേകമായി ഈ ടേബിൾസ്പേസിൽ സ്ഥാപിക്കുന്നതിന് പട്ടികകൾ സൃഷ്ടിക്കുമ്പോൾ ഈ പേര് ഉപയോഗിക്കാം

ഫ്ലെക്സിബിൾ സെർവർ സജ്ജീകരണം
പ്രധാന postgresql.conf കോൺഫിഗറേഷൻ ഫയലിൽ സെക്ഷനുകളിൽ 150-ലധികം ക്രമീകരിക്കാവുന്ന പരാമീറ്ററുകൾ ഉൾപ്പെടുന്നു:

  • അവയിലേക്കുള്ള ഫയലുകളും പാതകളും
  • നെറ്റ്‌വർക്ക് കണക്ഷനുകൾ
  • അംഗീകാരവും സുരക്ഷയും
  • റിസോഴ്സ് അലോക്കേഷൻ
  • WAL - റൈറ്റ്ബാക്ക് ലോഗുകൾ
  • അന്വേഷണ ആസൂത്രണം
  • പിശകുകളും ലോഗിംഗും
  • സ്ഥിതിവിവരക്കണക്കുകൾ അഭ്യർത്ഥിക്കുക
  • VACUUM വഴിയുള്ള ഡാറ്റ ഒപ്റ്റിമൈസേഷൻ
  • ലോക്ക് മാനേജ്മെൻ്റ്
  • പതിപ്പും പ്ലാറ്റ്ഫോം അനുയോജ്യതയും
  • ക്ലയൻ്റ് ഡിഫോൾട്ട് ക്രമീകരണങ്ങൾ

അധിക കോൺഫിഗറേഷൻ ഫയലിൽ pg_hba.conf വ്യക്തിഗത ഡാറ്റാബേസുകളിലേക്കുള്ള ആക്‌സസിനായുള്ള ക്രമീകരണങ്ങൾ ഉൾപ്പെടുന്നു, അതായത് നിർദ്ദിഷ്ട IP വിലാസങ്ങൾ കൂടാതെ/അല്ലെങ്കിൽ ആക്‌സസ് അനുവദിച്ചിട്ടുള്ള നെറ്റ്‌വർക്കുകൾ വ്യക്തമാക്കുന്നത്, അതുപോലെ തന്നെ ഡാറ്റാബേസ് ആക്‌സസ് ചെയ്യുന്നതിനുള്ള അംഗീകാര രീതി(കൾ) കൂടാതെ സുരക്ഷിതമാക്കാനുള്ള കഴിവും ( എൻക്രിപ്റ്റഡ്) കണക്ഷനുകൾ ) എസ്എസ്എൽ വഴി.

സമഗ്രത നിയന്ത്രണങ്ങൾ
ഇനിപ്പറയുന്ന സമഗ്രത നിയന്ത്രണങ്ങൾ പിന്തുണയ്ക്കുന്നു:

  • NULL അല്ല - NULL അല്ല
  • UNIQUE - അതുല്യത
  • പ്രൈമറി കീ - പ്രാഥമിക കീ
  • ഫോറിൻ കീ/റഫറൻസുകൾ - വിദേശ കീ, ലിങ്കുകൾ
  • പരിശോധിക്കുക - പരിശോധിക്കുക

സംഭരിച്ച നടപടിക്രമങ്ങൾ
ൽ സംഭരിച്ച നടപടിക്രമങ്ങൾ PostgreSQLപിന്തുണയ്‌ക്കുന്ന ഏതെങ്കിലും ബിൽറ്റ്-ഇൻ ഭാഷകളിൽ എഴുതാൻ കഴിയും. സംഭരിച്ച നടപടിക്രമങ്ങൾ ട്രിഗറുകളിൽ ഉപയോഗിക്കാനും പിന്തുണയ്ക്കുന്ന ഏതെങ്കിലും ഡാറ്റ തരങ്ങളും അറേകളും ലിസ്റ്റുകളും നൽകാനും കഴിയും.

ട്രിഗറുകൾ
ട്രിഗറുകൾ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് ഓട്ടോമാറ്റിക് എക്സിക്യൂഷൻഅവർ നിർദ്ദേശിച്ച പ്രവർത്തനത്തെ ആശ്രയിച്ച് വ്യക്തിഗത നടപടിക്രമങ്ങൾ. ഒരു പട്ടികയിലെ ഒരു റെക്കോർഡ് മാറ്റുമ്പോഴും ഒരു SQL സ്റ്റേറ്റ്മെൻ്റ് എക്സിക്യൂട്ട് ചെയ്യുമ്പോഴും INSERT, UPDATE അല്ലെങ്കിൽ DELETE പ്രവർത്തനങ്ങൾക്ക് മുമ്പോ ശേഷമോ ട്രിഗറുകൾ അസൈൻ ചെയ്യാൻ കഴിയും. ഒരു ട്രിഗർ അസൈൻ ചെയ്‌ത ഒരു ഇവൻ്റ് സംഭവിക്കുകയാണെങ്കിൽ, ഈ ട്രിഗറിന് നൽകിയിട്ടുള്ള നടപടിക്രമത്തെ വിളിക്കുന്നു.

നിയമങ്ങളുടെ സിസ്റ്റം
ഒരു റൂൾ സിസ്റ്റം (കൂടുതൽ ശരിയായി ക്വറി മോഡിഫിക്കേഷൻ റൂൾ സിസ്റ്റം എന്ന് വിളിക്കുന്നു) നിർദ്ദിഷ്ട നിയമങ്ങൾക്കനുസൃതമായി ചോദ്യങ്ങൾ പരിഷ്കരിക്കാൻ അനുവദിക്കുന്നു, തുടർന്ന് പരിഷ്കരിച്ച ചോദ്യം ഷെഡ്യൂളിംഗിനും നിർവ്വഹണത്തിനുമായി ക്വറി പ്ലാനർക്ക് കൈമാറുന്നു. നിയമങ്ങളുടെ സംവിധാനം വളരെ വലുതാണ് ശക്തമായ ഉപകരണംകൂടാതെ സംഭരിച്ച നടപടിക്രമങ്ങൾ, കാഴ്‌ചകൾ, പതിപ്പുകൾ എന്നിങ്ങനെ പല സന്ദർഭങ്ങളിലും ഉപയോഗിക്കാനാകും.

സ്കീം

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

റോളുകളും പദവികളും
PostgreSQLആശയം ഉപയോഗിച്ച് ഡാറ്റാബേസ് പ്രത്യേകാവകാശങ്ങൾ കൈകാര്യം ചെയ്യുന്നു വേഷങ്ങൾ. ഒരു റോൾ ഒരു വ്യക്തിഗത ഡാറ്റാബേസ് ഉപയോക്താവോ അല്ലെങ്കിൽ ഒരു കൂട്ടം ഉപയോക്താക്കളോ ആകാം. റോളുകൾക്ക് ഡാറ്റാബേസിലെ ഒബ്‌ജക്‌റ്റുകളുടെ ഉടമകളാകാം (ഉദാഹരണത്തിന്, പട്ടികകൾ), കൂടാതെ ഈ ഒബ്‌ജക്‌റ്റുകൾക്ക് മറ്റ് റോളുകളിലേക്ക് ആക്‌സസ്സ് പ്രത്യേകാവകാശങ്ങൾ നൽകാനും കഴിയും. മറ്റൊരു റോളിൽ ഒരു റോൾ അംഗത്വം നൽകാനും അതനുസരിച്ച്, ഈ റോളിലേക്ക് അത് അംഗമാകുന്ന റോളിൻ്റെ അവകാശങ്ങൾ കൈമാറാനും കഴിയും. റോളുകൾ എന്ന ആശയം ഉപയോക്താക്കളുടെയും ഗ്രൂപ്പുകളുടെയും പഴയ ആശയം മാറ്റി, അതേ പ്രവർത്തനക്ഷമത നൽകുന്നു.

സ്ഥിതിവിവരക്കണക്കുകളുടെ ശേഖരണം
ഒരു പെർഫോമൻസ് ക്വറി പ്ലാൻ നിർമ്മിക്കാൻ, ക്വറി പ്ലാനർ ഇൻ PostgreSQLവിളിക്കപ്പെടുന്നവ ഉപയോഗിക്കുന്നു സ്ഥിതിവിവരക്കണക്കുകൾഅഥവാ സ്ഥിതിവിവരക്കണക്ക് വിവരങ്ങൾ, പട്ടികകളിലെ ഡാറ്റയുടെ വിശകലനത്തെ അടിസ്ഥാനമാക്കി ശേഖരിക്കുന്നു, അത് വിശകലനം കമാൻഡ് ഉപയോഗിച്ച് ശേഖരിക്കുന്നു, ഇത് വാക്വം ഡാറ്റാബേസ് പരിപാലന പ്രക്രിയയുടെ ഭാഗമാണ്. പതിപ്പ് 8.1 മുതൽ ആരംഭിക്കുന്നു PostgreSQLസ്ഥിതിവിവരക്കണക്കുകൾ ശേഖരിക്കുന്നതിനുള്ള കമാൻഡുകൾ സ്വമേധയാ വിളിക്കുന്നതിനുപകരം, ഒരു പുതിയ ഉപകരണം ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ ഇത് സാധ്യമായി ഓട്ടോവാക്വം. ഓട്ടോവാക്വം ഉപയോഗിച്ച്, ആവശ്യമായ എല്ലാ സ്ഥിതിവിവരക്കണക്കുകളുടെ ശേഖരണവും ഡാറ്റാബേസ് പരിപാലന പ്രക്രിയകളും പശ്ചാത്തലത്തിൽ സ്വയമേവ സംഭവിക്കുന്നു. ക്രമീകരണങ്ങളെ അടിസ്ഥാനമാക്കി, PostgreSQLസ്ഥിതിവിവരക്കണക്കുകൾ ശേഖരിക്കാനും VACUUM അറ്റകുറ്റപ്പണി നടത്താനും ആവശ്യമായ പട്ടികകൾ സ്വയം നിർണ്ണയിക്കുന്നു.

ബാക്കപ്പ് ചെയ്ത് പുനഃസ്ഥാപിക്കുക
PostgreSQLനിരവധി മോഡുകൾ വാഗ്ദാനം ചെയ്യുന്നു റിസർവ് കോപ്പിഡാറ്റാബേസ് വീണ്ടെടുക്കലും. ഡാറ്റാബേസുകൾ ഫയൽ സിസ്റ്റത്തിൽ സ്ഥിതി ചെയ്യുന്നതിനാൽ, അത് തികച്ചും സാധാരണ രീതിഒരു ഫയൽ-ലെവൽ ബാക്കപ്പ് ആണ്, അതായത്. ഡാറ്റാബേസ് ഫയലുകൾ സ്ഥിതി ചെയ്യുന്ന ഡയറക്ടറി തന്നെ. ഈ മോഡിനുള്ള ഏക വ്യവസ്ഥ സെർവറിൻ്റെ പൂർണ്ണമായ ഷട്ട്ഡൗൺ ആണ് PostgreSQL. എന്നിരുന്നാലും, ഉയർന്ന ലഭ്യതയുള്ള സിസ്റ്റങ്ങൾക്ക് ഈ ബാക്കപ്പ് മോഡ് അസ്വീകാര്യമാണ്, അതിനാൽ PostgreSQLസെർവർ പ്രവർത്തിക്കുമ്പോൾ തടസ്സം കൂടാതെ ബാക്കപ്പുകൾ നടത്താൻ നിങ്ങളെ അനുവദിക്കുന്നു പതിവ് ജോലി. ഒരു ഡാറ്റാബേസ് ഡംപ് ഇൻ നേടുക എന്നതാണ് ഏറ്റവും ലളിതമായ മോഡ് ടെക്സ്റ്റ് ഫോം(ആകൃതിയിൽ SQL പ്രസ്താവനകൾ) ഓൺ സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട്. ഡിസ്ക് സ്പേസ് ലാഭിക്കുന്നതിന്, നിങ്ങൾക്ക് ഉടൻ തന്നെ അത്തരം ഡംപ് ഒരു കംപ്രഷൻ യൂട്ടിലിറ്റിയിലേക്ക് സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിലേക്ക് റീഡയറക്ട് ചെയ്യാം (ഉദാഹരണത്തിന്, gzip). ബൈനറി രൂപത്തിൽ ഒരു ഡാറ്റാബേസ് ഡംപ് സൃഷ്ടിക്കാനും സാധിക്കും, കൂടാതെ ഒരു ബാക്കപ്പ് പകർപ്പും അതിൻ്റെ തുടർന്നുള്ള പുനഃസ്ഥാപനവും ലഭിക്കുന്നതിന് കൂടുതൽ സൗകര്യത്തിനായി പ്രത്യേക പാരാമീറ്ററുകൾ സജ്ജമാക്കാനുള്ള കഴിവും സാധ്യമാണ്.
PostgreSQLബാക്കപ്പ് ചെയ്യാനുള്ള കഴിവും നൽകുന്നു, ഇതുമൂലം, ഡാറ്റാബേസ് ഒരു നിശ്ചിത സമയത്തേക്ക് പുനഃസ്ഥാപിക്കുക, അതുപോലെ തന്നെ ഇൻക്രിമെൻ്റൽ ബാക്കപ്പ്.