Linux postgresql install: PostgreSQL: Linux downloads (Ubuntu)
Содержание
Установка и настройка PostgreSQL на Kali Linux
Содержание
- 1 Что такое PostgreSQL на Kali Linux
- 2 Установка PostgreSQL на Kali Linux
- 2.1 Обновление пакетов Kali Linux
- 2.2 Установка PostgreSQL на Kali Linux
- 2.3 Проверка установки PostgreSQL на Kali Linux
- 2.4 Настройка удаленного доступа к PostgreSQL
В этой статье мы рассмотрим установку и настройку PostgreSQL 15 на Kali Linux 2022.x.
Еще по теме: Просмотр настройка и изменение Iptables Kali Linux
Что такое PostgreSQL на Kali Linux
PostgreSQL — это объектно-реляционная система управления базами данных (ORDBMS), самая развитая из всех открытых СУБД.
Некоторые из важных функций PostgreSQL включают в себя:
- Гибкий доступ к базам данных, их организация и хранение.
- Управление записями в базах данных: создание, редактирование и удаление, обновление версий и так далее.
- Просмотр нужной информации из базы по запросу, например для ее отправки на сайт или в интерфейс приложения.
- Отправка транзакций, последовательных запросов, собранных в подобие скрипта.
- Настройка и контроль доступа к той или иной информации, группировка пользователей по уровню прав.
- Контроль версий и организация одновременного доступа к базе из разных источников так, чтобы предотвратить сбои.
- Контроль состояния базы в целом.
Установка PostgreSQL на Kali Linux
Следующие шаги помогут нам установить PostgreSQL на Kali Linux и протестировать создание базы данных. Kali Linux — это дистрибутив на основе Debian, поэтому мы будем использовать диспетчер пакетов «apt».
Обновление пакетов Kali Linux
Первое, что рекомендуется делать перед установкой — это убедиться, что система работает с обновленными пакетами.
sudo apt update && sudo apt upgrade -y sudo reboot |
После обновления перезагрузите систему.
Установка PostgreSQL на Kali Linux
Postgresql 15 установлен в Kali Linux по умолчанию. Проверьте доступность PostgreSQL в Kali Linux, выполнив команду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $ sudo apt show postgresql Package: postgresql Version: 15+246 Priority: optional Section: database Source: postgresql-common (246) Maintainer: Debian PostgreSQL Maintainers <[email protected]> Installed-Size: 15.4 kB Depends: postgresql-15 Suggests: postgresql-doc Tag: devel::lang:sql, interface::daemon, network::server, network::service, role::metapackage, role::program, suite::postgresql, works-with::db Download-Size: 9,836 B APT-Sources: http://http. kali.org/kali kali-rolling/main amd64 Packages Description: object-relational SQL database (supported version) This metapackage always depends on the currently supported PostgreSQL database server version. …. |
Для установки, выполните команду:
sudo apt install postgresql -y |
Для запуская postgresql на Kali Linux, выполните следующие команды:
sudo systemctl start postgresql |
Проверьте работу postgresql на Kali Linux:
1 2 3 4 5 6 7 8 9 10 | $ systemctl status postgresql ● postgresql.service — PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; preset: disabled) Active: active (exited) since Mon 2022-11-28 14:53:17 EST; 11s ago Process: 2436 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 2436 (code=exited, status=0/SUCCESS) CPU: 1ms
Nov 28 14:53:17 kali systemd[1]: Starting PostgreSQL RDBMS. .. Nov 28 14:53:17 kali systemd[1]: Finished PostgreSQL RDBMS. |
Проверка установки PostgreSQL на Kali Linux
Проверьте, возможность подключения к PostgreSQL для создания тестовой базы данных. После установки PostgreSQL, создается пользователь по умолчанию с именем postgres:
sudo su — postgres |
Для создания сложного пароля и защиты пользователя postgres, выполните команду (см. Генерация паролей в терминале Linux):
psql -c «alter user postgres with password ‘MyStrongPassword'» |
Для запуска команд Postgresql, войдите в командную строку PostgreSQL:
$ psql psql (15.1 (Debian 15.1-1)) Type «help» for help.
postgres=# |
Для отображения списка доступных баз данных:
1 2 3 4 5 6 7 8 9 10 | $ \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges ————+———-+———-+————-+————-+———————— postgres | postgres | UTF8 | en_US. UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows) |
Чтобы создать базу данных, выполните команду:
CREATE DATABASE testdb; |
Убедитесь, что создана новая база данных, еще раз выполнив команду:
1 2 3 4 5 6 7 8 9 10 11 | # \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges ————+———-+———-+————-+————-+———————— postgres | postgres | UTF8 | en_US. UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres testdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (4 rows) |
Чтобы создать пользователя и предоставить ему права доступа к базе данных, которую мы создали ранее, выполните команды:
postgres=# CREATE USER testuser WITH ENCRYPTED PASSWORD ‘MyPassword’; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE testdb to testuser; GRANT |
Для подключения к созданной базе данных:
# \c testdb You are now connected to database «testdb» as user «postgres». testdb=# |
Настройка удаленного доступа к PostgreSQL
PostgreSQL имеет файл конфигурации, в который можете, при необходимости, вносить изменения . Я покажу вам, как редактировать адреса прослушивания и включать удаленный доступ.
Откройте файл конфигурации:
sudo vim /etc/postgresql/15/main/postgresql.conf |
В разделе Connection and Authentication (Подключение и аутентификация), раскомментируйте строку:
59; #listen_addresses=’localhost’ |
и отредактируйте строку, чтобы разрешить прослушивание на любом интерфейсе (To listen on all interfaces) или на определенных интерфейсах (To enable only specified private IP address):
# To listen on all interfaces listen_addresses = ‘*’
# To enable only specified private IP address listen_addresses = ‘192. 168.50.2′ |
Чтобы включить удаленное подключение, отредактируйте файл:
sudo vim /etc/postgresql/15/main/pg_hba.conf |
Внесите следующие изменения:
# To accept connections from anywhere host all all 0.0.0.0/0 md5
# To accept only from trusted subnet host all all 10.10.10.0/24 md5 |
После внесения вышеуказанных изменений необходимо перезапустить postgresql:
sudo systemctl restart postgresql |
Чтобы отключить удаленный доступ к базе данных Postgresql, откройте вышеуказанные файлы конфигурации и добавьте «
#» в начале строк.
Например, чтобы отключить удаленный доступ из любого места, отредактируйте строку и не забудьте перезапустить postgresql, когда закончите:
#host all all 0. 0.0.0/0 md5 |
Как видите. Запустить и использовать базу данных Postgresql довольно просто, в любом дистрибутиве Linux, в том числе Kali Linux.
РЕКОМЕНДУЕМ:
- Интересные уязвимости PostgreSQL
- Установка и использование сканера Nessus на Kali Linux
Установка PostgreSQL на Red Hat Enterprise Linux
C Red Hat Enterprise Linux (RHEL) столкнулся совсем недавно, так как появилась необходимость развернуть специализированное ПО именно на этой версии операционной системе. Ранее работал с CentOS, которая основана на RHEL, поэтому проблем с RHEL не возникло. В данной статье будет описан процесс установки PostgreSQL на Red Hat Enterprise Linux 8.
PostgreSQL 10 включён в репозитории RHEL 8, для его установки выполним команду:
dnf install @postgresql
Если установку производите не под учётной записью администратора, то в терминале вначале всех команд прописываем команду sudo. Пример: sudo dnf install @postgresql
Можно переключиться на учётную запись root, устанавливаем под ним всё необходимое и выходим из учётной записи root.
Инициализируем базу данных:
postgresql-setup --initdb
Запустим сервис PostgreSQL, включим его автоматический запуск при загрузке системы и проверим его состояние:
systemctl start postgresql systemctl enable postgresql systemctl status postgresql
Защитим учётную запись пользователя Postgres и учётную запись администратора. Создадим пароль для учётной записи postgres:
passwd postgres
Переключаемся на учётную запись postgres:
su - postgres
Защитим учётную запись пользователя администратора базы данных PostgreSQL задав надёжный пароль:
psql -c "ALTER USER postgres WITH PASSWORD 'tut_slojni_parol';"
Выходим из-под пользователя postgres:
exit
По умолчанию PostgreSQL принимает соединения только с локальных служб и слушает интерфейс localhost. Мы будем подключаться к нему удалённо, поэтому нам надо разрешить удалённое подключение. Открываем основной файл настроек /var/lib/pgsql/data/postgresql.conf и раскомментируем строку:
listen_addresses = 'localhost'
listen_addresses — задаёт адреса TCP/IP, через которые сервер будет принимать подключения клиентских приложений. Это значение принимает форму списка, разделённого запятыми, из имён и/или числовых IP-адресов компьютеров. * — обозначает все имеющиеся IP-интерфейсы. 0.0.0.0 — обозначает все имеющиеся адреса IPv4. :: — обозначает все имеющиеся адреса IPv6.
Добавим IP адрес сетевого интерфейса, с которого надо принимать сетевые подключения:
listen_addresses = 'localhost,192.168.56.112'
Или разрешим принимать подключения клиентских приложений через все имеющиеся IP-интерфейсы сервера:
listen_addresses = '*'
Разрешим подключение из локальной сети с любых хостов и к любым БД, для этого файле /var/lib/pgsql/data/pg_hba. conf после строки:
# IPv4 local connections: host all all 127.0.0.1/32 peer
Добавим строку:
host all all 192.168.56.0/24 md5
где 192.168.56.0/24 — это наша локальная сеть (у вас будет другая).
Если требуется, чтобы PostgreSQL принимал подключение со всех без исключения IP-адресов, то прописываем следующее:
# IPv4 local connections: host all all 0.0.0.0/0 md5 # IPv6 local connections: host all all ::/0 md5
Перезапускаем PostgreSQL:
systemctl restart postgresql
Теперь мы можем подключиться к PostgreSQL c локального сервера и из нашей локальной сети.
По умолчанию в RHEL многие порты закрыты брандмауэром. Откроем в брандмауэре доступ для PostgreSQL на подключение выполнив следующие команды:
firewall-cmd --zone=public --permanent --add-service=postgresql firewall-cmd --reload
Теперь мы можем подключиться к PostgreSQL.
Как установить и настроить PostgreSQL в Redhat Linux
Если вы хотите установить PostgreSQL в Redhat Linux, это руководство для вас. Он охватывает установку, настройку и включение удаленного подключения.
Установка PostgreSQL на RedHat Linux
Выполните шаги, указанные ниже, чтобы установить последнюю версию PostgreSQL на RedHat Linux
Шаг 1: Добавьте репозиторий PostgreSQL Yum
Выполните следующую команду, чтобы добавить репозиторий PostgreSQL yum.
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Шаг 2: Установить последняя версия PostgreSQL Server
На момент написания этого руководства последней версией была PostgreSQL 15. Вы можете проверить последнюю версию, доступную для Rehat, на этой странице.
sudo yum install -y postgresql15-server
Шаг 3: Инициализация базы данных и включение автоматического запуска
Выполните следующие команды, чтобы инициализировать базу данных PostgreSQL и добавить службы к запуску сервера.
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb sudo systemctl включить postgresql-15 sudo systemctl start postgresql-15
Включить удаленное подключение к PostgreSQL
По умолчанию удаленное подключение к PostgreSQL отключено. Однако вы можете подключиться к базе данных локально. Если вы попытаетесь подключиться с удаленного компьютера, вы получите сообщение об ошибке, подобное следующему.
psql: ошибка: подключение к серверу по адресу «34.221.35.108», порт 5432 не удалось: подключение отклонено Сервер работает на этом хосте и принимает соединения TCP/IP?
Первый вход в базу данных с помощью следующей команды.
sudo -u postgres psql
Установите пароль для пользователя Postgres, чтобы мы могли использовать его для удаленного входа в систему. Замените myPassword
на требуемый пароль.
ALTER USER postgres PASSWORD 'myPassword';
Чтобы включить удаленное подключение PostgreSQL в Redhat, вам нужно открыть следующий файл.
sudo vi /var/lib/pgsql/15/data/postgresql.conf
В разделе ПОДКЛЮЧЕНИЯ И АУТЕНТИФИКАЦИЯ
вы найдете следующий закомментированный параметр.
#listen_addresses = 'localhost'
Замените его следующим и сохраните файл. В этой конфигурации мы разрешаем подключениям к серверу PostgreSQL принимать подключения со всех IP-адресов.
listen_addresses = '*'
Чтобы применить изменение, перезапустите службу PostgreSQL с помощью следующей команды. Если вы используете любую версию, кроме 15, замените 15 соответствующим номером версии в команде.
sudo systemctl перезапустить postgresql-15
Мы разрешили соединения на всех интерфейсах. Однако если вы попытаетесь подключиться к серверу PostgreSQL RedHat с удаленного компьютера, вы получите следующую ошибку, поскольку вам необходимо разрешить клиентские подключения ко всем базам данных и пользователям.
psql: ошибка: подключение к серверу по адресу «34.221. 35.108», порт 5432 не удалось: FATAL: нет записи pg_hba.conf для хоста «49.205.132.96», пользователь «postgres», база данных «postgres», без шифрования
Чтобы разрешить клиентам подключения ко всем базам данных, вам необходимо отредактировать файл pg_hba.conf .
Откройте файл pg_hba.conf .
sudo vi /var/lib/pgsql/15/data/pg_hba.conf
Добавьте следующую строку в конец файла .
host all all 0.0.0.0/0 md5
Перезапустите сервер PostgreSQL, чтобы изменения вступили в силу.
sudo systemctl restart postgresql-15
Теперь проверьте удаленное подключение, подключившись к серверу PostgreSQL с помощью следующей команды. Замените IP на IP вашего сервера.
psql -h 34.221.35.108 -U postgres
При запросе пароля используйте пароль, установленный с помощью команды ALTER.
Если у вас не установлен пароль для пользователя Postgres, вы получите следующую ошибку.
Пароль пользователя postgres: psql: ошибка: не удалось подключиться к серверу по адресу «34.221.35.108», порт 5432: FATAL: ошибка аутентификации по паролю для пользователя «postgres»
Важные конфигурации сервера PostgreSQL на Redhat
В следующей таблице приведены важные конфигурации PostgreSQL на сервере Redhat. Замените 15 версией PostgreSQL, которую вы используете.
Конфигурация | Детали |
---|---|
Порт PostgreSQL по умолчанию | 5432 |
Пользователь по умолчанию | postgres |
Расположение файлов конфигурации ( postgresql.conf и pg_hba.conf ) | /var/lib/pgsql/15/data/pg_hba.conf /var/lib/pgsql/15/data/postgresql.conf |
База данных по умолчанию | postgres |
Каталог данных по умолчанию | /var/lib/pgsql/15/data |
Заключение
Инженеру DevOps необходимо знать основные конфигурации, связанные с базой данных. в этом руководстве мы рассмотрели шаги по установке PostgreSQL на сервер Redhat.
Для сервера Ubuntu: проверьте установку PostgreSQL на Ubuntu.
Для сервера Amazon Linux: ознакомьтесь с установкой PostgreSQL на Amazon Linux
Кроме того, если вы используете Kubernetes, ознакомьтесь с руководством по настройке PostgreSQL statefulset в Kubernetes 9.0003
Если вы только начинаете свой путь инженера DevOps, ознакомьтесь с моим подробным руководством по тому, как стать инженером DevOps.
Как установить и использовать PostgreSQL в Arch Linux
PostgreSQL — это бесплатная объектно-реляционная система управления базами данных с открытым исходным кодом, используемая для создания отказоустойчивых и сложных приложений. Он очень популярен среди разработчиков благодаря своей надежности, надежности функций и производительности. PostgreSQL — одна из самых популярных систем баз данных, доступная для большинства операционных систем, включая Arch Linux.
В этом посте мы покажем вам, как установить и использовать PostgreSQL в Arch Linux.
Предпосылки
- Новый сервер Arch Linux на облачной платформе Atlantic.Net
- Пароль root, настроенный на вашем сервере
Шаг 1. Создайте облачный сервер Atlantic.Net
Сначала войдите на свой облачный сервер Atlantic.Net. Создайте новый сервер, выбрав Arch Linux в качестве операционной системы с оперативной памятью не менее 2 ГБ. Подключитесь к вашему облачному серверу через SSH и войдите в систему, используя учетные данные, выделенные вверху страницы.
Шаг 2. Настройка репозитория
По умолчанию репозиторий по умолчанию устарел в Arch Linux, поэтому вам потребуется изменить список зеркал по умолчанию. Вы можете сделать это, отредактировав файл конфигурации зеркала:
nano /etc/pacman.d/mirrorlist
Удалите все строки и добавьте следующие строки:
## Оценка: 0,7, США Сервер = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch ## Оценка: 0,8, США Сервер = http://lug.mtu.edu/archlinux/$repo/os/$arch Сервер = http://mirror. nl.leaseweb.net/archlinux/$repo/os/$arch ## Оценка: 0,9, Великобритания Сервер = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch ## Оценка: 1,5, Великобритания Сервер = http://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch Сервер = http://archlinux.dcc.fc.up.pt/$repo/os/$arch ## Оценка: 6,6, США Сервер = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch ## Оценка: 6,7, США Сервер = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch ## Оценка: 6,8, США Сервер = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch ## Оценка: 7,1, Индия Сервер = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch ## Оценка: 10,1, США Сервер = http://mirrors.xmission.com/archlinux/$repo/os/$arch
Сохраните и закройте файл, затем обновите все индексы пакетов с помощью следующей команды:
pacman -Syu
Шаг 3. Установите PostgreSQL в Arch Linux
По умолчанию пакет PostgreSQL включен в основной репозиторий Arch Linux. . Вы можете установить его с помощью следующей команды:
pacman -S postgresql
После установки PostgreSQL вы можете проверить версию PostgreSQL с помощью следующей команды:
postgres --version
Вы получите следующий вывод:
postgres (PostgreSQL) 14. 5
Затем инициализируйте базу данных PostgreSQL с помощью следующей команды:
sudo -u postgres initdb --locale en_US.UTF-8 -D /var/lib/postgres/data
Шаг 4. Управление службой PostgreSQL
По умолчанию , служба PostgreSQL управляется systemd. Вы можете запустить службу PostgreSQL с помощью следующей команды:
systemctl start postgresql
Чтобы разрешить запуск службы PostgreSQL после перезагрузки системы, выполните следующую команду:
systemctl enable postgresql
Чтобы проверить состояние службы PostgreSQL, выполните следующую команду:
systemctl status postgresql
Вы должны увидеть следующий вывод:
● postgresql.service — сервер базы данных PostgreSQL Загружено: загружено (/usr/lib/systemd/system/postgresql.service; отключено; по умолчанию: отключено) Активен: активен (работает) с пт 2022-10-28 07:35:27 UTC; 5 с назад Процесс: 83878 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=0/SUCCESS) Основной PID: 83880 (постгрес) Заданий: 7 (лимит: 2362) Память: 15,7 Мб CGroup: /system. slice/postgresql.service ├─83880 /usr/bin/postgres -D /var/lib/postgres/data ├─83883 "postgres: контрольная точка " ├─83884 "postgres: фоновый писатель " ├─83885 "postgres: walwriter " ├─83886 "postgres: автовакуумный лаунчер" ├─83887 "postgres: сборщик статистики" └─83888 "postgres: средство запуска логической репликации"
Шаг 5. Как использовать PostgreSQL
По умолчанию пароль для пользователя Postgres отсутствует.
Чтобы установить его, войдите в систему с пользователем Postgres и установите пароль с помощью следующей команды:
su - postgres psql -c "изменить пользователя postgres с паролем "пароль""
Чтобы создать новую базу данных, выполните следующую команду: psql
CREATE DATABASE mydb;
Чтобы получить список всех баз данных, выполните следующую команду:
\l
Вы должны увидеть следующий список:
Список баз данных Имя | Владелец | Кодирование | Разобрать | Тип | Права доступа -----------+----------+-----------+-------------+-- --------------------------+----------------------- база данных | постгрес | UTF8 | en_US. UTF-8 | en_US.UTF-8 | постгрес | постгрес | UTF8 | en_US.UTF-8 | en_US.UTF-8 | шаблон0 | постгрес | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =с/постгрес + | | | | | postgres=CTc/postgres шаблон1 | постгрес | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =с/постгрес + | | | | | postgres=CTc/postgres (4 ряда)
Чтобы создать нового пользователя и установить пароль, выполните следующую команду:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ user1 С ЗАШИФРОВАННЫМ ПАРОЛЕМ 'пароль';
Затем предоставьте все привилегии базе данных mydb с помощью следующей команды:
ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ НА БАЗУ ДАННЫХ mydb пользователю1;
Чтобы переключить базу данных на mydb, выполните следующую команду:
\c mydb
Чтобы выйти из оболочки PostgreSQL, выполните следующую команду:
\q выход
Шаг 6. Настройка PostgreSQL для удаленного доступа
По умолчанию PostgreSQL настроен только для локального доступа. Если ваш сервер приложений и серверы баз данных размещены на другом сервере, вам потребуется настроить PostgreSQL для удаленного доступа.
Сначала отредактируйте основной файл конфигурации PostgreSQL:
nano /var/lib/postgres/data/postgresql.conf
Измените следующую строку с IP-адресом вашего сервера:
listen_addresses = 'your-server-ip'
Сохраните и закройте файл, затем отредактируйте файл pg_hba.conf:
nano /var/lib/postgres/data/pg_hba.conf
Найдите следующую строку:
host all all 127.0.0.1/32 trust
И замените его следующей строкой:
host all all all trust
Сохраните и закройте файл, затем перезапустите службу PostgreSQL, чтобы применить изменения:
systemctl перезапустить postgresql
Затем попробуйте подключить вашу базу данных PostgreSQL, используя IP-адрес:
psql -U user1 -h server-ip -p 5432 mydb
Если все настроено правильно, вы попадете в следующую оболочку:
psql ( 14.5) Введите "помощь" для помощи. моя БД =>
Заключение
В этом посте мы объяснили, как установить и использовать PostgreSQL в Arch Linux.