Django – среда обитания. Часть 5 – Настройка PostgreSQL

djangoСегодня я буду рассказывать о настройке сервера БД PostgreSQL для работы с Django.

В сети неоднократно видел мнение разных людей, что Django изначально «затачивалась» для работы именно с этой БД. Что – же, поверим :) .

Тем более, что при беглом знакомстве, PostgreSQL мне понравился больше чем  его более популярная сейчас альтернатива – MySQL.

Итак, начинаем…

Сначала поставим пакет python-psycopg2. Все остальное у нас уже установлено (если вы забыли это – посмотрите рис.13. из 2-й части).

$ sudo apt-get install python-psycopg2

рис.1. Установка пакета python-psycopg2

рис.1. Установка пакета python-psycopg2

рис.2. Установка пакета python-psycopg2

рис.2. Установка пакета python-psycopg2

Для тех, у кого все-таки нет установленного PostrgeSQL – выполните команду: «sudo apt-get install postgresql python-psycopg2». С ее помощью вы сразу установите все необходимое.

Затем надо переустановить пароль администратора «postgres» (т.к. сеть домашняя, то он у меня будет единственным пользователем, к чему усложнять)

$ sudo su postgres -c psql postgres

В ответ на приглашение:

postgres=#

Введем следующую команду: ALTER USER postgres WITH PASSWORD ‘0′;

(вы можете поставить свой пароль, если ноль – не устраивает :) )

рис.3. Смена пароля пользователю "postgres"

рис.3. Смена пароля пользователю "postgres"

Для выхода в систему нажмите «Ctrl+D»

Следующим шагом мы откроем интерфейс для подключения к нашей БД по локальной сети.

Вначале отредактируем файл «/etc/postgresql/8.4/main/postgresql.conf»

S sudo nano /etc/postgresql/8.4/main/postgresql.conf

в секции «CONNECTIONS AND AUTHENTICATION» замените строку:

#listen_addresses = 'localhost'

на

listen_addresses = '*'

рис.4. Изменение postgresql.conf

рис.4. Изменение postgresql.conf

И, чуть ниже …

#password_encryption = on

на

password_encryption = on

Т.е. просто «раскомментируем» ее

рис.5. Изменение postgresql.conf

рис.5. Изменение postgresql.conf

Сохраняемся, выходим…

И последнее, что надо будет сделать – исправить файл «/etc/postgresql/8.4/main/pg_hba.conf»

$ sudo nano /etc/postgresql/8.4/main/pg_hba.conf

В нем, в конце добавьте строку

host  all  all  10.10.10.0/24  md5

Она означает, что мы разрешаем доступ всем компьютерам с адресом, начинающимся с 10.10.10…

рис.6. Изменение pg_hba.conf

рис.6. Изменение pg_hba.conf

Сохраняемся, выходим…

Перезапускаем сервер…

$ sudo /etc/init.d/postgresql-8.4 restart

рис.7. PostgreSQL-restart

рис.7. PostgreSQL-restart

На этом настройка сервера, закончена.

Сейчас займемся клиентской частью под Windows.

Для администрирования удаленной БД  будем пользоваться программой pgAdmin.

Взять ее можно отсюда:

http://www.postgresql.org/ftp/pgadmin3/release/v1.8.4/win32/

Как видно – это версия 1.8.4, я скачал «zip» архив.

Распаковываем архив, получаем файл «pgadmin3.msi», инсталлируем…

Со всеми настройками по умолчанию, я согласился.

Запускаем, приятно удивляемся, что все на русском языке :)

Выбираем «Файл->Добавить сервер»

В поле «Имя» я ставлю имя своего ВК = ub43

В поле «Хост», соответственно IP = 10.10.10.43

«Порт» уже стоит =5432

«Обслуживание DB» и «Пользователь» так же уже == postgres

Вписываю свой пароль, и …

рис.8. pgAdmin - настройка подключения

рис.8. pgAdmin - настройка подключения

… жму «OK»

После предупреждения о каких-то «серьезных вещах», с которыми соглашаемся, нажав «ОК», – подключение к серверу установлено!

рис.9. Удаленный сервер подключен

рис.9. Удаленный сервер подключен

В принципе – все готово, можно уже пытаться создавать web-проекты на Django!

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

Итак, читайте далее…

Django – среда обитания. Часть 6 – Первое приложение

Комментарии

Есть 4 коммент. к “Django – среда обитания. Часть 5 – Настройка PostgreSQL”
  1. onlyfreedigits:

    $ sudo /etc/init.d/postgresql-8.4 restart
    у меня заработало
    $ sudo /etc/init.d/postgresql restart опечатка?

    • admin:

      нет, просто у Вас так значит.
      (см. рис.7 – там видно какую команду я использовал)
      ЗЫ по командам я делал копипасту из терминала, так что опечаток в приводимых командах – нет. Проверял…

  2. onlyfreedigits:

    оке. ну значит так) в целом, могу сказать, что на 19 января 2010 г. версии поменялись, но описание совершенно актуальное.
    Спасибо! Представляю какой был титанический труд.

Поделитесь своим мнением