Postgresql в VirtualBox

Установка Postgresql в Windows то ещё веселье, никогда не знаешь как себя то или иное ПО поведет в Windows, поэтому когда у меня с первого раза не получилось установить Postgres, разбираться в этом не было никакого желания, тем более что уже есть виртуалка с Ubuntu 18.04

Установка

Установка до банальности проста, как и все остальные пакеты ставим пакет postgresql postgresql-contrib

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

-contrib добавляет дополнительную функциональность

Пользователи (роли)

В процессе установки был создан аккаунт пользователя с именем postgres, который был ассоциирован с ролью Postgres по умолчанию. Для использования Postgres мы можем осуществить вход с этим аккаунтом.

Переключимся на использование postgres аккаунта на вашем сервере этой командой:

sudo -i -u postgres

Теперь вы можете получить доступ к командной строке Postgres напечатав команду:

psql

Для выхода из PostgreSQL напечатайте:

\q

Для создания новой роли можно использовать команду

createuser --interactive

доп информацию по теме создания можно посмотреть тут man createuser

Дальнейшее использование postresql похоже на использование любого SQL

Доступ извне

Можно использовать любой из вариантов подключения, можно через командную строку, можно через GUI, например через pgAdmin весьма гибкий инструмент, либо можно через HeidiSQL (под винду), выбор каждого. Но чтобы подключиться к виртуалке нужно настроить доступы. Считаю текущую сеть доверенной, и цель подобное настройки лишь иметь доступ к данным, а не обеспечить безопасность и т.п. На реальном сервере все настройки будут иными.

Настройка пользователя

Таким образом, установим пароль на пользователя, для этого запустим psql от postrgres

sudo -u postgres psql postgres

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

\password postgres

Закрываем

\q

Внешние доступы

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

от суперпользователя необходимо добавить строчку в файл /etc/postgresql/9.6/main/pg_hba.conf
в самом низу необходимо добавить строку

host    all             all             0.0.0.0/0               trust

сохраняем, теперь в той же директории открываем файл /etc/postgresql/9.6/main/postgresql.conf, в котором добавляем или меняем строчку listen_addresses = '*' (убедитесь, что она раскомментирована)

Перезагружаем сервис

sudo service postgresql restart

Теперь к postgresql можно подключиться через любой gui.

Yii2

Настройки доступа из Yii2 естественно должны измениться, кроме того не забудьте включить (раскомментировать) расширение extension=pdo_pgsql в php.ini

'dsn' => 'pgsql:host=192.168.1.126;port=5432;dbname=yii2database',
'username' => 'postgres',
'password' => '',

Источники

Leave a comment

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