Как установить 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
Когда будет предложено подтвердить установку, нажмите клавишу y .
....
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.
Наслаждайтесь работой PostgreSQL 13 в системе Linux Fedora 33/32/31/30.