16
болатын [7]. Қойма менеджерінің мәні мен архитектурасы ston87b құжатында
жазылып қойылған [12]. Содан бері POSTGRES бірнеше даму кезеңінен өтті.
Бірінше «демоннұсқасы» 1987 жылы жұмыс істеді және 1988 жылы ACM-
SIGMOD конферециясында көрсетілді. ston90a сипатталған 1 нұсқа сыртқы
пайдаланушылар үшін 1989 жылдың маусамында шығарылды [15]. Бірінші
ережелер жүйе (ston89) сынына жауап ретінде ол қайта жасалды (ston90b)
және 1990 жылдың маусымында щыққан 2 нұсқада жаңа ережелер жүйесі
болды [13,14]. 1991 3 нұсқа шықты, онда әртүрлі қойма менеджерлерінің
қолдауы пайда болды, жақсартылған сұраныс орындаушы және қайта
жазылған ережелер жүйесі. Postgres95 дейін келесі басылымдар негізінде
сенімділік пен ұтқырлығын арттыруға бағытталған.
POSTGRES көптеген зерттеулік және өндірісітік тапсырыстардың іске
асуына қолданылған.
Олардың ішінде: қаржы мәліметтерін талдау жүйесі, реактивті
қозғалтқыштар жұмысының мониторинг пакеті, астериодттарды бақылау
деректер қоры, медициналық мәліметер деректер қоры, бірнеше
георграфиялық информациялық жүйелер. Сондай-ақ POSTGRES бірнеше
университеттерде оқытуға қолданылды. Соңында, Illustra Information
Technologies компаниясы (кейін Informix, қазір IBM тиесілі ) кодты қолданып
және оған коммерциялық қолданыс тапты. 1992 жылдың соңында POSTGRES
Sequoia 2000 ғылыми есептеу жобасының негізгі ДҚБЖ болды.
1993 жылы сыртқы пайдаланушылар саны екі есе артты. Код қызмет етуі
мен қолдауы көп уақыт алатыны айқын болды, және ол уақыт зерттеуге
жетпейді. Осы жүктемені түсіру үшін Берклидегі POSTGRES жобасы ресми
түрде 4.2 нұсқасында жабылды.
1.2.2 Postgres95
1994 жылы Эндри Ю және Джолли Чен POSTGRES-ке SQL тілінің
аудармашысын қосты. Жаңа атаумен Postgres95 Интернетте жарияланды және
өзінің жолын ашық кодты Берклиде жасалған Postgres ұрпағы ретінде бастады.
Postgres95 коды ANSI C кодымен толық сәйкестендіруге келтірілді және 25%
кішірейді. Көптеген ішкі өзгерістер арқасында ол жылдамырақ және ыңғайлы
болды. Postgres95 нұсқасы 1.0.х POSTGRES нұсқа 4.2 қарағанда шамалы 30-
50% тезірек жұмыс істеді (Wisconsin Benchmark тесті бойынша). Қателіктерді
түзегеннен басқа келесі өзгерістер енгізілді:
- PostQUEL сұраныстар тілінің орнына SQL келді (серверде іске асқан).
(libpq интерфейс кітапханасы өзінің атын PostQUEL мұрагерлік етті).
Сұраныстар(подзапрос)
PostgreSQL
шыққанға
дейін
қолдау
көрсетілмеді, алайда оларды Postgres95 SQL пайдаланушы функциялары
арқылы балама жасауға болды. Агрегаттық функциялар қайта іске асырылды.
Сонымен қатар GROUP BY сөйлемінің қолдауы пайда болды.
- Интерактивті SQL-сұраныстар үшін GNU Readline қолданған жаңа
бағдарлама (psql) жасалды. Ескі бағдарлама monitor керектігі жоғалды.
17
- Tcl-клиенттерді қолдайтын жаңа libpgtcl клиенттік библиотека пайда
болды. Tcl жаңа командалары рgtclsh қабығының мысалы ретінде Tcl
бағдарламаларының Postgres95 серверымен қарым-қатынасын айтуға болады.
- Үлкен
объектілермен жұмыс үшін интерфейс жақсартылды.
Мәліметтерді сақтау механизмі ретінде тек инверсионды объектілер қалды.
(Инверсионды файлдық жүйе жойылды.)
- Дана деңгейіндегі ережелер жүйесі жойылды; қайта жазатын ережедер
сақталды.
- Баптапқы кодпен бірге стандартты SQL мүмкіншіліктері мен
Postgres95 өзі қысқаша сипаттамалармен тарала бастады.
- Жинауға GNU make қолданылды (BSD make орнына). Сонымен қатар,
Postgres95 GCC түрлендірілмеген нұсқасымен (мәліметтерді түзеу жөнделді)
құрастыру мүмкін болды.
1.3 PostgreSQL
1996 жылы «Postgres95» атауы уақыт сынағынан өтпейтіні анық болды.
Олар түрнұсқалық POSTGRES пен кейінгі SQL қолдауы бар нұсқасы
арасандағы байланысты көрсететін «PostgreSQL» жаңа атауын таңдады. Осы
уақытта әзірлеушілер POSTGRES Беркли жобасында басталған нұсқауды
нөмірлеуді 6.0 жалғастырды
Көпшілік PostgreSQL-ді дәстүрлі немесе қарапайымдылық үшін
«POSTGRES» атымен атауды жалғастыра берді (енді бас әріптермен сирек
айтады). Осы атау лақап ат немесе ресми емес белгілеу ретінде тұр.
Postgres95 құру барысында негізгі тапсырыстар іздеу мен серверлық
кодта бар мәселелерді шешу болды. PostgreSQL көшу кезінде жаңа
мүмкіншіліктер мен функциялар іске асыруға баса назар аударылды, алайда
жұмыс барлық бағытта жүрді.
18
2
Бастау
2.1 Орнату
PostgreSQL қолдану алдында, әрине, алдын ала орнату керек.
PostgreSQL
кез
келген
қарапайым
пайдаланушы
орната
алады;
суперқолданушы (root) құқығы қажет емес.
2.2 Архитектура негіздері
Жалғастырмас бұрын PostgreSQL жүйесінің архитектура негіздерін
талдау керек. PostgreSQL бөлшектерінің қарым-қатынас суретін жасау керек.
Техникалық
тілмен
айтқанда
PostgreSQL
клиент-сервер
архитектурасында негізделген. PostgreSQL жұмыс сессиясы келесі процесстер
(бағдарламалар) қарым-қатынастарын қамтиды:
- деректер қорының файлдарын басқаратын басты серверлік процесс,
клиенттік қосымшаларын жалғайтын қабылдаушы және деректер қорына
қатысты әртүрлі клиенттер тапсырысын орындаушы. Деректер қоры
серверінің бұл бағдармаласы postgres деп аталады;
- деректер қорына қатысты операциялар орындайтын пайдаланушының
клиенттік қосымшасы. Клиенттік қосымшалар әртүрлі болуы мүмкін: ол
мәтіндік утилита болуы мүмкін, графикалық қосымша, веб-беттерді көрсету
үшін деректер қорын пайдаланатын веб-сервер, немесе деректер қорына
қызмет көрсететін мамандырылған құрал. Кейбір клиенттік құрылымдар
PostgreSQL дистрибутив бөлігінде жабдықталады, алайда көпшілігін бөтен
әзірлеушілер жасайды.
Басқа қарапайым клиент-серверлік қосымшалар сияқты, клиент пен
сервер әр түрлі жеке компьютерлерде орналаса алады. Бұл жағдайда олар
TCP/IP желісі арқылы қатынасады. Маңызды нәрсе: клиенттік компьютерде
бар файлдарға рұқсат етілгенімен, сервер компьютерінде рұқсат етілмеуі
мүмкін (немесе басқа атпен рұқсат етілуі мүмкін).
PostgreSQL сервері бірнеше қосылған клиенттерге қызмет көрсете
алады. Амалды жүзеге асыру үшін ол әр қосылуға жеке процессті бастайды
(«тудырады»). Негізгі процесс рostgres-ке әсер етпей, клиент пен серверлік
процесс сөйлеседі десек болады. Осылайша негізгі серверлік процесс әрқашан
жұмыс жасайды және клиенттік қосылымдарды күтеді; оларды қабылдап, ол
клиент пен жеке серверлік процесстің байланысын ұйымдастырады (әрине,
бұның бәрі пайдаланушыға білінбей өтеді).