По большей части это пособие для тех, кто убегает переходит с mysql на postgre.
Начинаем с установки необходимых пакетов:
postgresql-client - клиент
pgadmin3 - GUI админка
postgresql - сам сервер
postgresql-contrib - дополнительные расширения (hstore, pgcrypt)
Для ruby on rails хорошо бы добавить -dev пакеты, чтобы гемы собирались
postgresql-server-dev-9.1 - поставил на всякий случай, если будут дополнительные сборки из исходников.
libpq-dev - важно, если будет сборка тулзов (типа гемов)
Для php поставить
php5-pgsql - коннектор к базе
Установили.
Самое важное что нужно знать опытному mysqlнику - база постгре установлена таким образом, что все действия надо производить с ней из под юзера postgres.
Т.е. чтобы зайти в консольный клиент мы пишем:
sudo -u postgres psql
И вот мы в консоли. Консольные команды я рассматривать здесь не буду. Лучше я расскажу как нам подключить базы для разработки, нам же нужно прописывать логин и пароль в конфигах.
Используем Ctrl-D (или команду \q) для выхода из консоли базы и возвращаемся в консоль линукса. Или можно вводить команды из консоли базы, но без sudo -u postgres
(!) Если вы не хотите добавлять новых юзеров, то можно сделать
ALTER USER postgres WITH PASSWORD '<password>';
и использовать юзера postgres с паролем для работы с базой
Итак. Добавляем юзера, под которым будем девелопить проект:
sudo -u postgres createuser megacoder - создаем юзера
sudo -u postgres psql - снова заходим в консоль постгре
\PASSWORD megacoder - устанавливаем наш новый пароль для созданного юзера
Или можно одной командой
sudo -u postgres createuser -P -s -e megacoder - через параметры. Укажем, что он будет с паролем, суперюзером и выведем на экран исполняемую команду.
Теперь должно заработать. Цепляемся к базе с помощью pgadmin3 и создаём базу для проекта. Если есть скрипты, то прописываем эти данные в конфигах и запускаем скрипты на создание баз и миграции. Проблем быть не должно, но если они возникли - надо разбираться в чем именно.
Примечания:
Важно! В рельсах нужно раскомментить строку в config/database.yml
host: localhost
Если у вас есть дамп базы, то чтобы его залить нужно набрать
sudo -u postgres psql %database_name% < %my_dump.sql%
Также можете дополнительно через pgAdmin раздать разрешения на доступ к базам и прочее прочее.
Если вы привыкли к phpmyadmin, то существует аналог - phppgmyadmin
Если sudo не установлен, то можно войти в юзера базы данных через su postgres и также выполнять команды напрямую
Список баз данных:
psql -l
UPDATE 2015-03
Можно просто открыть /etc/postgresql/9.4/main/pg_hba.conf и исправить доступ на trust вместо md5
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Так в Gentoo по умолчанию было выставлено. Удобство в том что можете использовать пользователя postgres с любым паролем для доступа. Локально в разработке получается удобнее.
Начинаем с установки необходимых пакетов:
postgresql-client - клиент
pgadmin3 - GUI админка
postgresql - сам сервер
postgresql-contrib - дополнительные расширения (hstore, pgcrypt)
Для ruby on rails хорошо бы добавить -dev пакеты, чтобы гемы собирались
postgresql-server-dev-9.1 - поставил на всякий случай, если будут дополнительные сборки из исходников.
libpq-dev - важно, если будет сборка тулзов (типа гемов)
Для php поставить
php5-pgsql - коннектор к базе
Установили.
Самое важное что нужно знать опытному mysqlнику - база постгре установлена таким образом, что все действия надо производить с ней из под юзера postgres.
Т.е. чтобы зайти в консольный клиент мы пишем:
sudo -u postgres psql
И вот мы в консоли. Консольные команды я рассматривать здесь не буду. Лучше я расскажу как нам подключить базы для разработки, нам же нужно прописывать логин и пароль в конфигах.
Используем Ctrl-D (или команду \q) для выхода из консоли базы и возвращаемся в консоль линукса. Или можно вводить команды из консоли базы, но без sudo -u postgres
(!) Если вы не хотите добавлять новых юзеров, то можно сделать
ALTER USER postgres WITH PASSWORD '<password>';
и использовать юзера postgres с паролем для работы с базой
Итак. Добавляем юзера, под которым будем девелопить проект:
sudo -u postgres createuser megacoder - создаем юзера
sudo -u postgres psql - снова заходим в консоль постгре
\PASSWORD megacoder - устанавливаем наш новый пароль для созданного юзера
Или можно одной командой
sudo -u postgres createuser -P -s -e megacoder - через параметры. Укажем, что он будет с паролем, суперюзером и выведем на экран исполняемую команду.
Теперь должно заработать. Цепляемся к базе с помощью pgadmin3 и создаём базу для проекта. Если есть скрипты, то прописываем эти данные в конфигах и запускаем скрипты на создание баз и миграции. Проблем быть не должно, но если они возникли - надо разбираться в чем именно.
Примечания:
Важно! В рельсах нужно раскомментить строку в config/database.yml
host: localhost
Если у вас есть дамп базы, то чтобы его залить нужно набрать
sudo -u postgres psql %database_name% < %my_dump.sql%
Также можете дополнительно через pgAdmin раздать разрешения на доступ к базам и прочее прочее.
Если вы привыкли к phpmyadmin, то существует аналог - phppgmyadmin
Если sudo не установлен, то можно войти в юзера базы данных через su postgres и также выполнять команды напрямую
Список баз данных:
psql -l
UPDATE 2015-03
Можно просто открыть /etc/postgresql/9.4/main/pg_hba.conf и исправить доступ на trust вместо md5
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Так в Gentoo по умолчанию было выставлено. Удобство в том что можете использовать пользователя postgres с любым паролем для доступа. Локально в разработке получается удобнее.
Комментариев нет:
Отправить комментарий