Как установить PostgreSQL 13 в Fedora 33/32/31/30

Как установить PostgreSQL 13 в Fedora 33/32/31/30

 

 

PostgreSQL — это мощная, широко используемая система управления реляционными базами данных, разработанная для обеспечения отказоустойчивости и отказоустойчивости. База данных PostgreSQL основана на POSTGRES 4.2. На момент обновления этой статьи последний выпуск базы данных PostgreSQL — 13. Вы можете проверить новые функции, улучшения и исправления ошибок в PostgreSQL 13 на  странице официальных  примечаний к выпуску .

Некоторые изменения отмечены в выпуске PostgreSQL 13.

  • Улучшения за счет  исключения дублирования записей индекса B-дерева  — экономия места и повышение производительности за счет
  • Запросы, использующие агрегаты или секционированные таблицы, получают повышенную производительность.
  • Инкрементальная сортировка
  • Лучшее планирование запросов при использовании расширенной статистики
  • Параллельная очистка индексов

Команда PostgreSQL предоставляет готовые двоичные пакеты для установки систем Linux на основе YUM и Debian. Мы добавим необходимые репозитории перед установкой PostgreSQL 13 на Fedora.

Шаг 1. Обновите систему

Всегда работайте с последней версией Fedora.

sudo dnf update -y
sudo dnf install -y vim bash-completion wget

После успешного обновления выполните перезагрузку:

sudo reboot

Шаг 2. Добавьте репозиторий PostgreSQL Yum

Добавьте репозиторий PostgreSQL Yum в вашу систему Fedora, выполнив следующую команду:

Fedora 33:

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/F-33-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Fedora 32:

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/F-32-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Fedora 31:

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/F-31-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Fedora 30:

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/F-30-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Fedora 29:

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/F-29-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Когда будет предложено подтвердить установку, нажмите клавишу   .

....
Dependencies resolved.
==================================================================================================================================================================
 Package                                     Architecture                      Version                              Repository                               Size
==================================================================================================================================================================
Installing:
 pgdg-fedora-repo                            noarch                            42.0-13                              @commandline                             10 k

Transaction Summary
==================================================================================================================================================================
Install  1 Package

Total size: 10 k
Installed size: 11 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                          1/1
  Installing       : pgdg-fedora-repo-42.0-13.noarch                                                                                                          1/1
  Verifying        : pgdg-fedora-repo-42.0-13.noarch                                                                                                          1/1

Installed:
  pgdg-fedora-repo-42.0-13.noarch

Complete!

Шаг 3. Установите PostgreSQL 13 в Fedora 33/32/31/30

После добавления репозитория PostgreSQL в систему Fedora установите пакеты PostgreSQL 13 Server / Client:

sudo dnf install postgresql13-server postgresql13

Согласитесь с полученными приглашениями на установку.

Dependencies resolved.
==================================================================================================================================================================
 Package                                       Architecture                     Version                                    Repository                        Size
==================================================================================================================================================================
Installing:
 postgresql13-server                           x86_64                           13.1-3PGDG.f33                             pgdg13                           5.8 M
Installing dependencies:
 libicu                                        x86_64                           67.1-4.fc33                                fedora                           9.7 M
 postgresql13                                  x86_64                           13.1-3PGDG.f33                             pgdg13                           1.4 M
 postgresql13-libs                             x86_64                           13.1-3PGDG.f33                             pgdg13                           789 k

Transaction Summary
==================================================================================================================================================================
Install  4 Packages

Total download size: 18 M
Installed size: 65 M
Is this ok [y/N]: y

Это включает импорт ключей GPG:

Total                                                                                                                              13 MB/s |  18 MB     00:01
warning: /var/cache/dnf/pgdg13-5b69a3a370fb59a8/packages/postgresql13-13.1-3PGDG.f33.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
PostgreSQL 13 for Fedora 33 - x86_64                                                                                              1.6 MB/s | 1.7 kB     00:00
Importing GPG key 0x442DF0F8:
 Userid     : "PostgreSQL RPM Building Project <[email protected]>"
 Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y

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

Выполните следующие команды, чтобы инициализировать базу данных:

$ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Initializing database ... OK

Запустите и включите службу базы данных postgresql:

$ sudo systemctl enable --now postgresql-13
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-13.service → /usr/lib/systemd/system/postgresql-13.service.

Подтвердите статус услуги.

$ systemctl status postgresql-13
● postgresql-13.service - PostgreSQL 13 database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-02-08 21:25:49 UTC; 21s ago
       Docs: https://www.postgresql.org/docs/13/static/
    Process: 1076 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
   Main PID: 1081 (postmaster)
      Tasks: 8 (limit: 1125)
     Memory: 16.2M
        CPU: 59ms
     CGroup: /system.slice/postgresql-13.service
             ├─1081 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
             ├─1082 postgres: logger
             ├─1084 postgres: checkpointer
             ├─1085 postgres: background writer
             ├─1086 postgres: walwriter
             ├─1087 postgres: autovacuum launcher
             ├─1088 postgres: stats collector
             └─1089 postgres: logical replication launcher

Feb 08 21:25:49 fed33 systemd[1]: Starting PostgreSQL 13 database server...
Feb 08 21:25:49 fed33 postmaster[1081]: 2021-02-08 21:25:49.811 UTC [1081] LOG:  redirecting log output to logging collector process
Feb 08 21:25:49 fed33 postmaster[1081]: 2021-02-08 21:25:49.811 UTC [1081] HINT:  Future log output will appear in directory "log".
Feb 08 21:25:49 fed33 systemd[1]: Started PostgreSQL 13 database server.

Шаг 5. Включите удаленный доступ к PostgreSQL (необязательно)

Для подключения удаленных клиентов вам может потребоваться разрешить доступ в брандмауэре.

sudo firewall-cmd --add-service=postgresql --permanent
sudo firewall-cmd --reload

Затем отредактируйте файл /var/lib/pgsql/13/data/postgresql.conf и установите для параметра Listen address IP-адрес вашего сервера или « * » для всех интерфейсов или определенный IP-адрес / подсеть.

$ sudo vi /var/lib/pgsql/13/data/postgresql.conf 
listen_addresses = '*'

Также настройте PostgreSQL на прием удаленных подключений от разрешенных хостов.

$ sudo vim /var/lib/pgsql/11/data/pg_hba.conf

# Accept from anywhere
host all all 0.0.0.0/0 md5

# Accept from trusted subnet
host all all 10.10.10.0/24 md5

После внесения изменений перезапустите службу PostgreSQL 13.

sudo systemctl restart postgresql-13

Шаг 6. Установите пароль администратора PostgreSQL.

Установите пароль администратора PostgreSQL.

$ sudo su - postgres
$ psql -c "alter user postgres with password 'StrongDBPassword'"

Где  StrongDBPassword  — новый пароль для   пользователя postgres .

Шаг 7. Установите pgAdmin 4 Web Management

Если вам нужен простой способ управления сервером базы данных PostgreSQL (аналогичный phpMyAdmin для MySQL), подумайте об установке pgAdmin4.

Установите pgAdmin 4 в Fedora

Наслаждайтесь работой PostgreSQL 13 в системе Linux Fedora 33/32/31/30.