У овом ћемо чланку инсталирати ДБМС ПостгреСКЛ 11 на Линуку ЦентОС 7, извршићемо основну конфигурацију сервера и ДБМС-а, размотрити главне параметре конфигурационе датотеке, као и начине подешавања перформанси. ПостгреСКЛ је популаран бесплатни систем управљања објектно-релацијским базама података. Иако није толико распрострањен као МиСКЛ / МариДБ, ипак је најпрофесионалнији.
Снаге ПостгреСКЛ-а:
- Потпуно усаглашавање са СКЛ стандардима;
- Високе перформансе кроз мултиваријантно управљање паралелношћу (МВЦЦ);
- Скалабилност (широко коришћена у високо оптерећеним окружењима);
- Подршка за многе програмске језике;
- Поуздани механизми трансакција и репликација;
- Подршка за ЈСОН податке.
Садржај:
- Инсталирајте ПостгреСКЛ на ЦентОС / РХЕЛ
- Повежите се на ПостгреСКЛ, направите базу података, корисника
- Основне опције конфигурационе датотеке ПостгреСКЛ
- Израда сигурносне копије и враћање базе података у ПостгреСКЛ
- ПостгреСКЛ оптимизација и подешавање
Инсталирајте ПостгреСКЛ на ЦентОС / РХЕЛ
Иако се ПостгреСКЛ може инсталирати из основног спремишта ЦентОС, ми ћемо инсталирати спремиште од програмера, јер увек има најновију верзију пакета.
Први корак је инсталација ПосгреСКЛ спремишта (тренутно је инсталирано на следећи начин):
иум инсталл -и хттпс://довнлоад.постгрескл.орг/пуб/репос/иум/репорпмс/ЕЛ-7-к86_64/пгдг-редхат-репо-латест.ноарцх.рпм
Ово спремиште садржи и најновије верзије ПостгреСКЛ-а и старије верзије. Информације о спремишту су следеће:
Инсталирајте најновију доступну верзију (ПостргеСКЛ 11) користећи иум.
иум инсталирати постгрескл11-сервер -и
Током инсталације инсталиран је сам ПостгреСКЛ сервер и потребне библиотеке:
Инсталација: либицу-50.2-3.ел7.к86_64 1/4 Инсталација: постгрескл11-либс-11.5-1ПГДГ.рхел7.к86_64 2/4 Инсталација: постгрескл11-11.5-1ПГДГ.рхел7.к86_64 3/4 Инсталација: постгрескл11-сервер- 11.5-1ПГДГ.рхел7.к86_64 4/4
Након инсталирања пакета, морате иницијализирати базу података:
/ уср / пгскл-11 / бин / постгрескл-11-сетуп инитдб
Такође, одмах додајте сервер базе података да бисте га покренули и покренули га:
системцтл омогућују постгрескл-11
системцтл старт постгрескл-11
Да бисте били сигурни да се сервер покренуо и да нема проблема, проверите његов статус:
[роот @ сервер ~] # системцтл статус постгрескл-11
● постгрескл-11.сервице - ПостгреСКЛ 11 сервер базе података Оптерећен: учитаван (/уср/либ/системд/систем/постгрескл-11.сервице; омогућен; подешавање добављача: онемогућено) Активно: активно (покреће се) од Сре 2019-09-18 13:01:56 +06; Пре 26 сати Документи: хттпс://ввв.постгрескл.орг/доцс/11/статиц/ Процес: 6614 ЕкецСтартПре = / уср / пгскл-11 / бин / постгрескл-11-цхецк-дб-дир $ ПГДАТА (цоде = изашао, статус = 0 / УСПЕХ) Главни ПИД: 6619 (поштарски директор) ЦГроуп: /систем.слице/постгрескл-11.сервице ├─6619 / уср / пгскл-11 / бин / постмастер -Д / вар / либ / пгскл / 11 / дата / ├─6621 постгрес: дрвосјеча 66─6623 постгрес: цхецкпоинтер ├─6624 постгрес: позадински писац ├─6625 постгрес: валвритер ├─6626 постгрес: аутовацуум лаунцхер ├─6627 постгрес: статистиц цоллецтор └─6628 постгрес: логички репликатор 18. септембра 13:01:56 сервер.1.цом системд [1]: Покретање ПостгреСКЛ 11 сервера базе података ... 18. септембра 13:01:56 сервер.1.цом постмастер [6619]: 2019-09-18 13: 01: 56.399 +06 [6619] ЛОГ: слушање на ИПв6 адреси ":: 1", порт 5432, септембар 13:01:56 сервер.1.цом постмастер [6619]: 2019-09-18 13: 01: 56.399 +06 [6619 ] ЛОГ: слушање на ИПв4 адреси "127.0.0.1", порт 5432, септембар 13 13:01:56 сервер.1.цом постмастер [6619]: 2019-09-18 13: 01: 56.401 +06 [6619] ЛОГ: слушање на Уник соцкет "/вар/рун/постгрескл/.с.ПГСКЛ.5432" 18. септембар 13:01:56 сервер.1.цом поштарски уредник [6619]: 2019-09-18 13: 01: 56.409 +06 [6619] ЛОГ: слушање на Уник соцкет "/тмп/.с.ПГСКЛ.5432" 18. септембра 13:01:56 сервер.1.цом постмастер [6619]: 2019-09-18 13: 01: 56.427 +06 [ 6619] ЛОГ: преусмеравање излазног дневника на процес сакупљања записа дневника 18. септембра 13:01:56 сервер.1.цом постмастер [6619]: 2019-09-18 13: 01: 56.427 +06 [6619] НАПОМЕНА: Будући излаз дневника ће се појавити у директорију "лог". 18. септембра 13:01:56 сервер.1.цом системд [1]: Покренут ПостгреСКЛ 11 сервер базе података.
Ако вам је потребан приступ ПостгреСКЛ споља, морате да отворите ТЦП / 5432 порт у стандардном заштитном зиду у Центос 7:
# фиревалл-цмд --гет-ацтиве-зоне
јавна сучеља: етх0
# фиревалл-цмд --зоне = публиц --адд-порт = 5432 / тцп - стални
# фиревалл-цмд - поновно учитавање
Или путем иптабле-а:
# иптаблес-А ИНПУТ -м стање --стате НОВО -м тцп -п тцп --портпорт 5432 -ј АЦЦЕПТ
#сервице иптаблес поново покренути
Ако је омогућен СЕЛинук, урадите:
сетсебоол -П хттпд_цан_нетворк_цоннецт_дб 1
Повежите се на ПостгреСКЛ, направите базу података, корисника
Приликом инсталације ПостгреСКЛ-а подразумевано је један систем -група корисника на систему.
Не препоручујем да га користите за рад са базама података, боље је креирати кориснике за сваку базу података посебно.
Да бисте се повезали са постгрес сервером, морате да унесете команду:
[роот @ сервер /] # судо -у постгрес пскл
пскл (11.5) Упишите "хелп" за помоћ.
постгрес = #
Конзола ПостгреСКЛ се отворила. Покажимо неколико једноставних примера ПостгреСКЛ контроле са пскл конзоле.
Јер било који корисник система може се пријавити у постргескл, прво морате променити лозинку за постгрес.
АЛТЕР РОЛЕ постгрес с ПАССВОРД 'супер_стр0нг_па $$ ворд';
Одмах направите нову базу података, корисника и дајте му пуна права на ову базу података:
постгрес = # СТВАРИ ПОДАТКЕ мидбтест;
постгрес = # УСПОРЕДИ КОРИСНИКА мидбусер СА лозинком '123456789';
постгрес = # ПОДЕЛИТЕ СВЕ ПРИВИЛЕГЕ НА БАЗИ ПОДАЦИ мидбтест ТО мидбусер;
Повежите се са базом података:
постгрес = # \ ц име базе података
Листа табела:
постгрес = # \ дт
Наведи упите у базу података:
постгрес = # селецт * од пг_стат_ацтивити где је датнаме = "дбнаме"
Ресетујте све везе базе података:
постгрес = # одаберите пг_терминате_бацкенд (пид) од пг_стат_ацтивити где је име = 'дбнаме'
Информације о тренутној сесији могу се добити на следећи начин:
постгрес = # \ цоннинфо
Да бисте довршили пскл конзолу, покрените:
постгрес = # \ к
Као што сте већ приметили, синтакса се не разликује од исте МариаДБ или МиСКЛ, и зато се нећемо задржавати на командама истог типа.
Имајте на уму да се за лакше управљање ПостгреСКЛ базама података с веб интерфејса препоручује коришћење пгАдмин4 (написано у Питхон и Јавасцрипт / јКуери). Ово је аналогно уобичајеним програмерима веб страница ПхпМиАдмин.
Основне опције конфигурационе датотеке ПостгреСКЛ
Конфигурацијске датотеке постгрескл налазе се у директорију / вар / либ / пгскл / 11 / дата:
- постгрескл.цонф - Сама конфигурациона датотека постгрескл
- пг_хба.цонф - датотека са подешавањима приступа. У овој датотеци можете поставити различита ограничења за кориснике, поставити политику повезивања са базом података;
- пг_идент.цонф - ова се датотека користи када идентифицира клијенте помоћу протокола идентитета.
Да бисте локалним корисницима онемогућили да се пријављују у постгрес без ауторизације, наведите у датотеци пг_хба.цонф:
лоцал алл алл мд5 хост алл алл 127.0.0.1/32 мд5
Размотрите најважније параметре у конфигурацијској датотеци постгрескл.цонф:
- листе_аддрессес - означава које ИП адресе сервер ће прихватити везе клијента. Подразумевано је специфициран лоцалхост, што значи да је могућа само локална веза. Да бисте то учинили на свим ИПв4 интерфејсима, одредите 0.0.0.0
- мак_цоннецтионс - као у осталим ДБМС-овима, ово је максимални број истодобних веза са сервером базе података;
- темп_буфферс - максимална величина привремених пуфера;
- схаред_буфферс - Количина заједничке меморије коју користи сервер базе података. Обично се поставља на 25% меморије инсталиране на серверу;
- ефективна_цела_размер - Параметар који помаже планеру постгрес-а да одреди количину доступне меморије за кеширање на диск. Обично се за параметар поставља 50-75% укупне РАМ-а на серверу;
- ворк_мем - количину меморије коју ће користити интерне операције сортирања ДБМС - НАРУЧИТЕ ПО, ДИСТИНЦТ и спајате;
- одржавање_ворк_мем - количина меморије која ће се користити унутрашњим операцијама - ВАЦУУМ, ЦРЕАТЕ ИНДЕКС и АЛТЕР ТАБЛЕ АДД ФОРЕИГН КЕИ;
- фсинц - ако је ова опција омогућена, ДБМС ће чекати да се физички подаци упишу на тврди диск. Ако је омогућена фсинц, биће вам лакше вратити базу података након квара система или хардвера. Наравно, укључивање овог параметра значајно смањује перформансе ДБМС-а, али повећава поузданост складиштења. Када онемогућите овај параметар, вриједно је онемогућити фулл_паге_вритес;
- мак_стацк_дептх - максимална величина скупа (2 МБ по дефаулту);
- мак_фсм_пагес - помоћу овог параметра можете управљати слободним простором диска на серверу. На примјер, након брисања података из табеле, претходно заузети простор се не ослобађа на диску, већ се на мапи слободног простора означава с натписом „фрее“ и затим користи за нове уносе у табели. Ако сервер активно снима / брише податке у табелама, повећање овог параметра ће позитивно утицати на перформансе;
- вал_буфферс - количину заједничке меморије (схаред_буфферс) која се користи за чување ВАЛ података;
- вал_вритер_делаи - време између периода писања ВАЛ-а на диск;
- цоммит_делаи - кашњење између уписивања трансакције у ВАЛ бафер и стављања на диск;
- синцхроноус_цоммит - параметар одређује да ће се резултат успешног завршетка трансакције послати када се ВАЛ подаци физички упишу на диск.
Израда сигурносне копије и враћање базе података у ПостгреСКЛ
Постоји неколико начина за израду сигурносне копије ПостгреСКЛ базе података. Размотримо најједноставнију опцију..
Прво проверите које се базе података покрећу на серверу:
постгрес = # \ листа
Имамо 4 базе података, од којих су 3 системске (постгрес и шаблон).
Раније смо направили базу података са називом „мидбтест“, користећи њен пример и направили сигурносну копију.
Један од начина да направите резервну копију је извршити је помоћу услужног програма пг_думп:
судо -у постгрес пг_думп мидбтест> /роот/дупм.скл
- извршавамо захтев од корисника постгрес-а, специфицирамо жељену базу података и пут до датотеке у коју желите да сачувате сметиште базе података. Ваш резервни систем може да преузме депоније базе података, или ако користите веб сервер, можете да га пошаљете у складиште у облаку.
Да бисте вратили наведени думп у жељену базу података, можете користити услужни програм пскл:
судо -у постгрес пскл мидбтест < /root/dupm.sql
Такође можете да направите резервну копију у посебном думп формату и компресовате је помоћу гзип:
судо -у постгрес пг_думп -Фц мидбтест> /роот/думптест.скл
Таква депонија се обнавља помоћу услужног програма пг_ресторе:
судо -у постгрес пг_ресторе -д мидбтест /роот/думптест.скл
Напреднија подешавања могу се наћи у помоћи за ове услужне програме:
ман пскл
ман пг_думп
ман пг_ресторе
ПостгреСКЛ оптимизација и подешавање
У претходном чланку о МариаДБ-у показали смо како се параметри конфигурационе датотеке ми.цнф могу свести на идеал помоћу тунера. За ПостгреСКЛ постоји, мада је тачније било рећи да је такав услужни програм као што је ПгТун постојао, али нажалост није дуго ажуриран. У исто време, постоји много мрежних сервиса са којима можете конфигурисати оптималну конфигурацију за ПостгреСКЛ. Свиђа ми се услуга пгтуне.леопард.ин.уа.
Интерфејс је врло једноставан. Требате навести параметре вашег сервера (профил, процесоре, меморију, врсту дискова) и кликнути на дугме „Генерирај“. Као резултат тога, биће вам понуђена варијанта конфигурационе датотеке постгрескл.цонф са препорученим вредностима главних ДБМС параметара.
На пример, за ВПС ССД сервер са 2 ГБ РАМ-а, 2 ЦПУ-а препоручују се следећа подешавања у постгрескл.цонф за покретање неколико локација:
# ДБ верзија: 11 # Тип ОС: линук # ДБ Тип: веб # Укупна меморија (РАМ): 2 ГБ # Број ЦПУ-а: 2 # Број веза: 20 # Похрана података: ссд мак_цоннецтионс = 20 схаред_буфферс = 512МБ ефективна_цацхе_сизе = 1536МБ одржавање_ворк_мем = 128МБ цхецкпоинт_цомплетион_таргет = 0,7 вал_буфферс = 16МБ дефаулт_статистицс_таргет = 100 рандом_паге_цост = 1,1 ефективна_ио_конзорција = 200 ворк_мем = 26214кБ мин_вал_сизе = 1ГБ мак_вал_сизе = 2ГБ мак_воркер_процесс = 2 мак_параллел_воркерс_ 2
А ово заправо није једини ресурс, у време писања књиге биле су доступне сличне услуге:
- Цибертец ПостгреСКЛ конфигуратор
- Алат за конфигурацију ПостгреСКЛ
Помоћу ових услуга можете брзо конфигурирати почетне ДБМС параметре за своју опрему и задатке. У будућности ћете се морати ослањати не само на ресурсе сервера, већ и анализирати базу података у целини, њену величину, број веза и на основу тога извршити даље фино подешавање ПостгреСКЛ параметара.