Настройка postgresql: Настройка PostgreSQL под Linux / Хабр

Настройка PostgreSQL для работы с pgAdmin (когда админка на виндовом хосте)

Главная
|
Все статьи
|
Дневник студента

Время чтения статьи
~1 минута

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции

Доброго времени суток, читающий. Решил накидать для себя заметку. Надеюсь, пригодится не только мне.

После одной из тем про PostgreSQL было сказано, что надо бы самостоятельно pgAdmin установить. Как оказалось, настройка имеет пару мелких подводных камушков. В моем случае хост у меня крутится на win10 (по зависящим от крутящемся ПО на оном (аналогов под лин нет)), а в вагранте крутится Убунту 16 версии. Я запускал и linux subsystem (или как там это чудо зовется, когда из коробки линукс под окнами), но мне не понравилось. Какая-то пошлость:)

Поднастроим Vagrant:

Смотрим какой айпи хоста используется в связке хост-вагрант и из той же подсетки выбирем другой адрес (в моем случае — у хоста был 192. 168.56.50, поэтому я выбрал 192.168.56.10). Если, уважаемый читающий, ты не в курсе про подсетки или про то, как узнать свой ip, то лучше просто закрой вкладку и не обижайся:).

Прописываем проброс в Vagrantfile опциями (в файле присутствует закомментированный образец — можно вставить строки следующими за закомментированными):

config.vm.network «forwarded_port», guest: 5432, host: 5432
config.vm.network «private_network», ip: «192.168.56.10»

Собсно, все понятно. Из вагранта пробрасываем порт 5432, по которому pgAdmin собирается работать, в сетку хосту и настраиваем гостю адрес.

Далее, чуток шаманаства под гостем. Запускаем вагрант, логинемся в гостя. Подразумевается, что PostgreSQL установлен и работоспособен.

  • Авторизация под админом сервера невозможна, когда для оного не установлен пароль (что совершенно логично). Поэтому легким движением запускаем коносль psql для роли postgres:

$ sudo -u postgres psql

и меняем пароль

  • Разрешим серверу БД слушать не только локальные подключения. У нас же база для эксперементов и разработки, да?

Правим любимым редактором

/etc/postgresql/9.5/main/postgresql.conf

И изменяем строку

listen_addresses = 'localhost'
на
listen_addresses = '*'

Думаю, тут все понятно.

А в файлике
/etc/postgresql/9.5/main/pg_hba.conf

допишем в конец разрешение подключаться с нашего адреса к серверу.

host all all 192.168.56.10/24 md5

Далее можно ребутнуть сервер и возрадоваться.

$sudo /etc/init.d/postgresql restart

Ах, да, нужно скачать pgAdmin, установить на хост и войти в базу под posggres:супермегаПароль. Думаю, затруднений это не вызовет.

Андрей Бирюков
13 апреля 2020

Рекомендуемые программы

профессия


от 6 300 ₽ в месяц

Фронтенд-разработчик

Разработка фронтенд-компонентов для веб-приложений

10 месяцев

с нуля

Старт
8 июня

профессия


от 5 025 ₽ в месяц

Аналитик данных

Сбор, анализ и интерпретация данных

9 месяцев

с нуля

Старт
8 июня

профессия


от 6 300 ₽ в месяц

Python-разработчик

Разработка веб-приложений на Django

10 месяцев

с нуля

Старт
8 июня

профессия


от 6 300 ₽ в месяц

Java-разработчик

Разработка приложений на языке Java

10 месяцев

с нуля

Старт
8 июня

профессия


от 6 300 ₽ в месяц

PHP-разработчик

Разработка веб-приложений на Laravel

10 месяцев

с нуля

Старт
8 июня

профессия


от 6 183 ₽ в месяц

Инженер по тестированию

Ручное тестирование веб-приложений

4 месяца

с нуля

Старт
8 июня

профессия


от 6 300 ₽ в месяц

Node. js-разработчик

Разработка бэкенд-компонентов для веб-приложений

10 месяцев

с нуля

Старт
8 июня

профессия


от 10 080 ₽ в месяц

Fullstack-разработчик

Разработка фронтенд- и бэкенд-компонентов для веб-приложений

16 месяцев

с нуля

Старт
8 июня

профессия


от 5 840 ₽ в месяц

Разработчик на Ruby on Rails

Создание веб-приложений со скоростью света

5 месяцев

c опытом

Старт
8 июня

профессия

Верстальщик

Верстка с использованием последних стандартов CSS

5 месяцев

с нуля

Старт
в любое время

профессия


от 6 300 ₽ в месяц

Инженер по автоматизированному тестированию на JavaScript

Автоматизированное тестирование веб-приложений на JavaScript

10 месяцев

с нуля

в разработке

дата определяется

Please enable JavaScript to view the
comments powered by Disqus.

PostgreSQL в Fedora, Установка и Настройка

Содержание

  1. Введение в PostgreSQL на Fedora
  2. Шаг 1: Обновление системы Fedora
  3. Шаг 2: Добавьте Yum-репозиторий PostgreSQL
  4. Шаг 3: Установка PostgreSQL в Fedora 35
  5. Шаг 4: Инициализация базы данных и включение автоматического запуска
  6. Шаг 5: Включить удаленный доступ к PostgreSQL на Fedora
  7. Шаг 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.

Добавление репозитория PostgreSQL в Fedora 35

Шаг 3: Установка PostgreSQL в Fedora 35

После добавления репозитория PostgreSQL Yum Repository установите PostgreSQL в Fedora. Для этого выполните команду.

$ sudo dnf install postgresql11-server postgresql11

Далее проверьте установленный пакет.

$ rpm -qi postgresql11-server

Проверка PostgreSQL в Fedora 35

Шаг 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

Конфигурационный файл 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 и попробуйте создать таблицу в базе данных.

Удачи и не забудьте оставить комментарий, если у вас возникнут проблемы, и я обязательно свяжусь с вами как можно скорее.

Как установить PostgreSQL на Mac

PostgreSQL — это мощная система управления объектно-реляционными базами данных с открытым исходным кодом, зарекомендовавшая себя как надежная, отказоустойчивая и производительная. Но как установить PostgreSQL на свой Mac?

Установка PostgreSQL на Mac может быть пугающей для новичков на этой платформе. Но не волнуйтесь. В этом руководстве представлен всесторонний обзор процесса установки, включая все, что вам нужно для начала работы с PostgreSQL на вашем Mac.

Прочтите и сделайте первые шаги в мире PostgreSQL!

Предварительные требования

Прежде чем углубляться в процесс установки, убедитесь, что у вас установлена ​​macOS (OS X) версии 10.6 или новее.

Установка PostgreSQL на Mac с помощью установщика пакетов DMG

Из всех способов установки PostgreSQL на Mac самым простым является использование установщика пакетов DMG. Где взять? Разработчик PostgreSQL предоставляет официальный пакет DMG, содержащий необходимые файлы и ресурсы для установки PostgreSQL.

Чтобы установить PostgreSQL на Mac с помощью установщика пакетов DMG

1. Откройте свой любимый веб-браузер и перейдите на веб-сайт загрузки PostgreSQL.

2. Затем щелкните значок загрузки под столбцом Mac OS X рядом с версией, которую вы хотите установить. Это руководство идет с 15.1 , последней версией, доступной на момент написания.

Загрузка установщика пакета PostgreSQL DMG для Mac

    3. После завершения загрузки дважды щелкните файл DMG, чтобы открыть его. При этом монтируется пакет DMG, и появляется окно с Файл PostgreSQL.pkg .

    Дважды щелкните файл PostgreSQL.pkg, чтобы начать процесс установки.

    Открытие файла PostgreSQL.pkg для установки PostgreSQL на Mac

    4. Теперь нажмите Open во всплывающем окне, чтобы подтвердить установку. Это приглашение является мерой безопасности, реализованной macOS для защиты вашего компьютера от потенциально вредоносного программного обеспечения.

    Подтверждение установки

    5. При появлении запроса введите пароль для своей учетной записи администратора и нажмите 9.0021 OK , чтобы разрешить PostgreSQL вносить изменения.

    Авторизация PostgreSQL для внесения изменений

    6. Нажмите Далее , когда появится мастер установки PostgreSQL, чтобы продолжить установку.

    Продолжение установки

    7. На следующем экране выберите каталог установки и нажмите Next .

    Рекомендуется оставить каталог установки по умолчанию, если у вас нет особых причин для его изменения.

    Выбор каталога установки

    8. Затем выберите все доступные компоненты, чтобы обеспечить полную функциональность PostgreSQL, и нажмите Next . Ниже перечислены компоненты, доступные для PostgreSQL:

    • PostgreSQL Server — сам сервер PostgreSQL.
    • pgAdmin 4 — позволяет управлять базами данных PostgreSQL и работать с SQL через графический интерфейс.
    • Stack Builder — позволяет управлять дополнительными компонентами и устанавливать их.
    • Инструменты командной строки — позволяет получить доступ к PostgreSQL через терминал.

    Выбор компонентов для установки

    9. После установки выберите каталог, в котором PostgreSQL будет хранить свои данные, и нажмите Next .

    Выбор каталога данных

    10. Введите безопасный пароль для учетной записи суперпользователя ( postgres ) и нажмите Далее .

    Суперпользователь postgres имеет полный доступ ко всем базам данных в системе, поэтому убедитесь, что вы выбрали надежный и уникальный пароль.

    Укажите безопасный пароль

    11. Теперь выберите порт для сервера PostgreSQL и нажмите Далее .

    Порт по умолчанию — 5432 , но вы можете выбрать другой. Имейте в виду, однако, что некоторые номера портов зарезервированы для определенных служб.

    Выбор порта для сервера PostgreSQL

    12. Оставьте выбранным Языковой стандарт по умолчанию и нажмите Далее , чтобы продолжить.

    Локаль — это набор региональных и языковых настроек, которые определяют, как текст и другие данные отображаются и сохраняются в базе данных.

    Выбор локали по умолчанию

    13. Просмотрите выбранные настройки и нажмите Назад для изменения любого или Далее для продолжения.

    Просмотр выбранных параметров установки PostgreSQL

    14. После просмотра нажмите Далее , чтобы продолжить установку.

    Завершение установки

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

    Просмотр хода установки

    15. После завершения установки нажмите Готово , чтобы закрыть мастер.

    Закрытие мастера установки

    16. Наконец, найдите и запустите pgAdmin , чтобы изучить новую установку PostgreSQL с панели запуска.

    Запуск графического интерфейса pgAdmin

    Установка PostgreSQL через интерфейс командной строки

    Несмотря на то, что установка PostgreSQL с помощью установщика пакетов DMG выглядит достаточно просто, щелкать мышью в мастере установки может быть утомительно. Есть ли более быстрый способ? Да!

    Вы можете установить PostgreSQL на Mac через CLI с помощью нескольких команд Homebrew. Homebrew — это менеджер пакетов для macOS, который позволяет устанавливать и управлять различными программными пакетами с терминала.

    Чтобы установить PostgreSQL через интерфейс командной строки, выполните следующие действия:

    1. Откройте терминал и выполните следующую команду brew , чтобы обновить список пакетов Homebrew. brew update

     brew update 

    Обновление списка пакетов Homebrew

    2. Затем выполните приведенную ниже команду для установить postgresql . brew install postgresql

     brew install postgresql 

    Можно также выполнить приведенную ниже команду, чтобы установить определенную версию PostgreSQL. Замените ВЕРСИЯ предпочитаемой версией PostgreSQL для установки. Но в этом примере устанавливается версия 11 PostgreSQL.

    💡 Homebrew позволяет устанавливать различные версии PostgreSQL и переключаться между ними. Вы также имеете полный контроль над запуском, остановкой и перезапуском сервера PostgreSQL.

     brew install [email protected] 

    На этом этапе ваш сервер PostgreSQL будет установлен на вашем Mac. postgresql ).

     Службы brew запускают postgresql 

    Запуск сервера PostgreSQL

    Но когда вы не используете сервер PostgreSQL, выполните приведенную ниже команду, чтобы остановить сервер и сохранить системные ресурсы. Службы brew останавливаются postgresql

     Службы brew останавливаются postgresql 

    Остановка сервера PostgreSQL

    Создание базы данных на PostgreSQL

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

    1. Выполните следующую команду psql , чтобы войти в оболочку Postgres.

     psql postgres 

    Ваше приглашение изменится на postgres=# , как показано ниже, что означает, что вы вошли в систему как суперпользователь.

    Вход в оболочку Postgres

    2. Затем выполните приведенный ниже запрос, чтобы СОЗДАТЬ БАЗУ ДАННЫХ в вашем экземпляре PostgreSQL. Вы можете назвать базу данных по-разному, но в этом руководстве используется my_database .

     СОЗДАТЬ БАЗУ ДАННЫХ my_database; 

    Создание базы данных

    3. После создания выполните приведенную ниже команду, чтобы \\ перечислить все базы данных в системе. \\list

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

    Список всех доступных баз данных в системе

    4. Теперь выполните следующую команду для \подключить к вашей новой базе данных ( my_database ).

     \connect my_database 

    В случае успеха ваше приглашение изменится на my_database=# , что означает, что вы подключены к своей базе данных.

    Подключение к новой базе данных

    5. Наконец, выполните одну из следующих команд, чтобы выйти из оболочки PostgreSQL.

    Если вы подключены к базе данных при выходе из оболочки PostgreSQL, вы будете отключены от этой базы данных. Любые изменения, внесенные вами в базу данных, будут сохранены.

     -- Выход из оболочки PostgreSQL
    \q
    -- Выход из оболочки PostgreSQL
    -- Закрывает окно терминала и завершает все запущенные процессы в терминале.
    exit 

    Выход из оболочки PostgreSQL

    Заключение

    Базы данных важны и необходимы для запуска современных приложений, а PostgreSQL — одна из самых мощных доступных систем управления базами данных. В этом руководстве вы узнали, как установить PostgreSQL на свой Mac с помощью графического интерфейса и командной строки (Homebrew).

    Вы уже создали базу данных с помощью оболочки Postgres. Так что, немного попрактиковавшись, вы сможете начать создавать базы данных и работать с данными в кратчайшие сроки.

    Почему бы не развивать свои навыки дальше? Возможно, попробуйте загрузить образец базы данных PostgreSQL и поэкспериментировать с ней.

    centos - postgresql-setup --initdb с пользовательским каталогом данных

    Я пытаюсь настроить Postgres 12 на Centos 8.
    Postgres должен быть установлен в каталоге по умолчанию, то есть /var/lib/pgsql , однако я хочу, чтобы каталог данных находился в /data/pgsql

    . Я хочу использовать postgresql-setup как root, так как я считаю, что это будет создавать вместе с ним служебные файлы systemd, а не использовать pg_ctl или запускать initdb от имени пользователя postgres.

    Однако, если я попробую

     $ postgresql-setup --initdb --pgdata=/data/pgsql/
     

    Я получу следующую ошибку.

     postgresql-setup: нераспознанный параметр '--pgdata=/data/pgsql'
    FATAL: невозможно разобрать аргументы
     

    Как лучше всего это сделать?

    • postgresql
    • centos

    Если вы хотите поместить свои данные в пользовательский каталог /pgdata/14/data , создайте каталог с правильными разрешениями :

     mkdir -p /pgdata/14/данные
    sudo chown postgres:postgres /pgdata/14/data
     

    Затем получите systemctl для создания файла службы :

     sudo systemctl edit postgresql-14.service
     

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

     [Service]
    Среда=PGDATA=/pgdata/14/данные
     

    Это создаст файл /etc/systemd/system/postgresql-14.service.d/override.conf . Он будет объединен с исходным файлом службы.

    Чтобы проверить его содержимое:

     # cat /etc/systemd/system/postgresql-14.service.d/override. conf
    [Услуга]
    Среда=PGDATA=/pgdata/14/данные
     

    Перезагрузить systemd:

     # systemctl демон-перезагрузка
     

    Инициализировать каталог данных PostgreSQL:

     sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
     

    Запустите и включите службу:

     sudo systemctl enable postgresql-14
    sudo systemctl запустить postgresql-14
     

    1

    /usr/pgsql-12/bin/initdb —pgdata=/данные/pgsql

    postgresql-setup не создает служебный файл systemd.

    Вы должны создать его с нуля /lib/systemd/system/postgresql-14.service или создать файл конфигурации для файла службы systemd по умолчанию.

    Например, /lib/systemd/system/db-test.service, который содержит путь к нужной базе данных

     # Расположение каталога базы данных
    Среда=PGDATA=/данные/pgsql/db_test
     

    затем запустите

     # systemctl daemon-reload
    # systemctl db-test.service
    # /usr/bin/postgresql-14-setup initdb db-test
    Инициализация базы данных.