PostgreSQL в RHEL 8

Thank you for reading this post, don't forget to subscribe!

PostgreSQL, так­же извест­ный как Postgres, пред­став­ля­ет собой мощ­ную систе­му управ­ле­ния объ­ект­но-реля­ци­он­ны­ми база­ми дан­ных с откры­тым исход­ным кодом, кото­рая исполь­зу­ет и рас­ши­ря­ет язык SQL в соче­та­нии с мно­го­чис­лен­ны­ми функ­ци­я­ми, поз­во­ля­ю­щи­ми без­опас­но сохра­нять и мас­шта­би­ро­вать самые слож­ные рабо­чие нагруз­ки данных.

PostgreSQL постав­ля­ет­ся с рядом функ­ций, пред­на­зна­чен­ных для того, что­бы помочь про­грам­ми­стам раз­ра­ба­ты­вать при­ло­же­ния, адми­ни­стра­то­рам — обес­пе­чи­вать целост­ность дан­ных и созда­вать отка­зо­устой­чи­вые сре­ды, а так­же помо­гать вам управ­лять ваши­ми дан­ны­ми неза­ви­си­мо от раз­ме­ра или раз­ме­ра набо­ра данных.

Поми­мо того, что PostgreSQL явля­ет­ся бес­плат­ным и откры­тым исход­ным кодом, он чрез­вы­чай­но расширяем.

Напри­мер, вы може­те добав­лять свои соб­ствен­ные типы дан­ных, раз­ра­ба­ты­вать поль­зо­ва­тель­ские функ­ции, даже писать код на раз­ных язы­ках про­грам­ми­ро­ва­ния без пере­ком­пи­ля­ции базы данных!

Установка пакетов PostgreSQL

1. PostgreSQL вклю­чен в стан­дарт­ные репо­зи­то­рии RHEL 8 и может быть уста­нов­лен с помо­щью сле­ду­ю­щей коман­ды dnf, кото­рая уста­но­вит сер­вер PostgreSQL 10, биб­лио­те­ки и дво­ич­ные фай­лы клиента.

При­ме­ча­ние. Что­бы уста­но­вить паке­ты PostgreSQL 11 в вашей систе­ме RHEL 8, вам необ­хо­ди­мо уста­но­вить RPM-репо­зи­то­рий PostgreSQL, кото­рый содер­жит мно­же­ство раз­лич­ных паке­тов, таких как сер­вер PostgreSQL, дво­ич­ные фай­лы кли­ен­та и сто­рон­ние надстройки.

Инициализируйте базу данных PostgreSQL

2. После уста­нов­ки паке­тов PostgreSQL сле­ду­ю­щим шагом будет ини­ци­а­ли­за­ция ново­го кла­сте­ра базы дан­ных PostgreSQL с помо­щью ути­ли­ты /usr/bin/postgresql-setup сле­ду­ю­щим образом.

3. Теперь, когда кла­стер PostgreSQL ини­ци­а­ли­зи­ро­ван, вам необ­хо­ди­мо запу­стить сер­вис PostgreSQL, а затем вклю­чить его авто­ма­ти­че­ский запуск при загруз­ке систе­мы и про­ве­рить его состо­я­ние с помо­щью коман­ды systemctl.

Защитите и настройте базу данных PostgreSQL

В этом раз­де­ле мы пока­жем, как защи­тить учет­ную запись поль­зо­ва­те­ля Postgres и учет­ную запись администратора.

Затем мы рас­ска­жем, как настро­ить PostgreSQL, осо­бен­но как настро­ить аутен­ти­фи­ка­цию клиента.

4. Создай­те пароль для учет­ной запи­си поль­зо­ва­те­ля систе­мы postgres с помо­щью ути­ли­ты passwd сле­ду­ю­щим образом.

5. Затем пере­клю­чи­тесь на учет­ную запись поль­зо­ва­те­ля систе­мы postgres и защи­ти­те учет­ную запись поль­зо­ва­те­ля адми­ни­стра­тив­ной базы дан­ных PostgreSQL, создав для нее пароль (не забудь­те уста­но­вить надеж­ный и без­опас­ный пароль).

6. Раз­лич­ные фай­лы кон­фи­гу­ра­ции PostgreSQL мож­но най­ти в ката­ло­ге /var/lib/pgsql/data/.

Что­бы про­смот­реть струк­ту­ру ката­ло­гов, вы може­те исполь­зо­вать коман­ду дере­ва (уста­но­вить ее с помо­щью дере­ва уста­нов­ки dnf).

Основ­ной файл кон­фи­гу­ра­ции сер­ве­ра — /var/lib/pgsql/data/postgresql.conf.

А аутен­ти­фи­ка­цию кли­ен­та мож­но настро­ить с помо­щью /var/lib/pgsql/data/pg_hba.conf.

7. Далее, давай­те посмот­рим, как настро­ить аутен­ти­фи­ка­цию клиента.

Систе­ма баз дан­ных PostgreSQL под­дер­жи­ва­ет раз­лич­ные типы аутен­ти­фи­ка­ции, вклю­чая аутен­ти­фи­ка­цию на осно­ве пароля.

При про­вер­ке под­лин­но­сти на осно­ве паро­ля вы може­те исполь­зо­вать один из сле­ду­ю­щих мето­дов: md5, crypt или password (отправ­ля­ет пароль откры­тым текстом).

Хотя выше­упо­мя­ну­тые мето­ды аутен­ти­фи­ка­ции по паро­лю рабо­та­ют ана­ло­гич­ным обра­зом, основ­ное раз­ли­чие меж­ду ними заклю­ча­ет­ся в сле­ду­ю­щем: каким обра­зом пароль поль­зо­ва­те­ля хра­нит­ся (на сер­ве­ре) и отправ­ля­ет­ся по соеди­не­нию при вво­де пользователем.

Что­бы предот­вра­тить пере­хват паро­лей со сто­ро­ны зло­умыш­лен­ни­ков и избе­жать хра­не­ния паро­лей на сер­ве­ре в виде про­сто­го тек­ста, реко­мен­ду­ет­ся исполь­зо­вать md5, как пока­за­но далее.

Теперь открой­те файл кон­фи­гу­ра­ции аутен­ти­фи­ка­ции клиента.

Ищи­те сле­ду­ю­щие стро­ки и изме­ни­те метод аутен­ти­фи­ка­ции на md5.

8. Теперь пере­за­пу­сти­те служ­бу Postgres, что­бы при­ме­нить послед­ние изме­не­ния в конфигурации.

9. На этом эта­пе уста­нов­ка ваше­го сер­ве­ра баз дан­ных PostgreSQL теперь без­опас­на. Вы може­те пере­клю­чить­ся на учет­ную запись postgres и начать рабо­тать с PostgreSQL.

Вы може­те про­чи­тать офи­ци­аль­ную доку­мен­та­цию PostgreSQL (не забудь­те выбрать доку­мен­ты для уста­нов­лен­ной вер­сии), что­бы понять, как рабо­та­ет PostgreSQL и как исполь­зо­вать его для раз­ра­бот­ки приложений.