Установка 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' => '',
Источники
- Как установить и начать использовать PostgreSQL в Ubuntu 16.04
- Connecting to PostgreSQL on Linux for the first time