- Введение в PostgreSQL на Fedora
- Шаг 1: Обновление системы Fedora
- Шаг 2: Добавьте Yum-репозиторий PostgreSQL
- Шаг 3: Установка PostgreSQL в Fedora 35
- Шаг 4: Инициализация базы данных и включение автоматического запуска
- Шаг 5: Включить удаленный доступ к PostgreSQL на Fedora
- Шаг 6: Установка пароля пользователя PostgreSQL
Здравствуйте в этой статье подробно описывается как установить PostgreSQL на Fedora 35.
Введение в PostgreSQL на Fedora
PostgreSQL — это объектно-реляционная, высокомасштабируемая, SQL-совместимая система управления базами данных с открытым исходным кодом. Она разработана факультетом компьютерных наук Калифорнийского университета в Беркли.
На момент написания этой статьи PostgreSQL 14.1 является последней стабильной версией, доступной для производственных серверов.
Итак данное руководство предназначено для установки PostgreSQL 14.1 на Fedora 35. PostgreSQL — это мощная система реляционных баз данных с открытым исходным кодом, имеющая хорошую репутацию благодаря надежности, функциональности и производительности.
Используйте приведенные ниже шаги чтоб выполнить установку PostgreSQL 14.1 на Fedora 35.
Шаг 1: Обновление системы Fedora
Убедитесь что системные пакеты обновлены.
sudo dnf install -y bash-completion vim
sudo dnf update -y
Так как у вас могут быть обновления ядра, рекомендуется перезагрузить систему после обновления. Этот шаг не требуется, если вы используете последнюю версию Fedora 35.
sudo reboot
Шаг 2: Добавьте Yum-репозиторий PostgreSQL
Перед установкой PostgreSQL на Fedora 35 вам необходимо добавить Yum — репозиторий PostgreSQL в вашу систему Fedora. Для этого выполните следующую команду.
sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/F-35-x86_64/pgdg-fedora-repo-latest.noarch.rpm
Когда появится запрос на подтверждение установки, нажмите клавишу Y.
Шаг 3: Установка PostgreSQL в Fedora 35
После добавления репозитория PostgreSQL Yum Repository установите PostgreSQL в Fedora. Для этого выполните команду.
$ sudo dnf install postgresql11-server postgresql11
Далее проверьте установленный пакет.
$ rpm -qi postgresql11-server
Шаг 4: Инициализация базы данных и включение автоматического запуска
Теперь когда пакеты базы данных установлены, инициализируйте базу данных, выполнив следующую команду.
$ sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
Initializing database … OK
Далее запустите и включите службу, чтобы она включалась при загрузке системы.
sudo systemctl start postgresql-11
sudo systemctl enable postgresql-11
Проверьте статус PostgreSQL.
$ systemctl status postgresql-11
Конфигурационный файл PostgreSQL 11 -/var/lib/pgsql/11/data/postgresql.conf
Итак, если у вас работает служба Firewall и удаленные клиенты должны подключиться к вашему серверу баз данных, разрешите службу PostgreSQL.
sudo firewall-cmd --add-service=postgresql --permanent
sudo firewall-cmd --reload
Шаг 5: Включить удаленный доступ к PostgreSQL на Fedora
Для включения отредактируйте файл /var/lib/pgsql/11/data/postgresql.conf и установите Listen address на IP-адрес вашего сервера или «*» для всех интерфейсов.
$ sudo vi /var/lib/pgsql/11/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 192.168.18.0/24 md5
Затем требуется перезапустить службу.
sudo systemctl restart postgresql-11
Шаг 6: Установка пароля пользователя PostgreSQL
Установите пользователя PostgreSQL admin
$ sudo su - postgres
[postgres@fed29 ~]$ psql -c «alter user postgres with password ‘StrongPassword'»
ALTER ROLE
Создайте тестового пользователя и базу данных
[postgres@fed ~]$ createuser test_user
[postgres@fed ~]$ createdb test_db -O test_user
[postgres@fed ~]$ grant all privileges on database test_db to test_user;
Теперь войдите в систему как пользователь test_user и попробуйте создать таблицу в базе данных.
Удачи и не забудьте оставить комментарий, если у вас возникнут проблемы, и я обязательно свяжусь с вами как можно скорее.