В Debian Lenny в основном репозитории (lenny) храниться версия 8.3.11, а в backports версия 8.4.4. Мы как видите установили 8.3.11aptitude install postgresql
Пакет postgresql имеет зависимости с:
postgresql-8.3 postgresql-client-8.3
postgresql-client-common postgresql-common
postgresql-client-8.3 - Это клиентский набор, который предоставит нам например терминальный клиент psql, с которого и начнётся наше изучение Постгрес в дальнейшем.
postgresql-common - пакет позволяющий одновременную установку нескольких версий PostgreSQL и/или кластеров
Соответственно postgresql-client-common предостовляет возможность управлять несколькими программами PostgreSQL.
Установка в Debian начинается как и все другие пакеты с apt или aptitude:
apt-get install postgresql
После установки в системе установлен новый системный пользователь postgres (uid 108). А одноимённый пользователь в нашей БД является супер-администратором.
Предварительная настройка:
Конфигурационные файлы:
/etc/postgresql/8.4/main/postgresql.conf - Основные настройки
/etc/postgresql/8.4/main/pg_hba.conf - Правила для аутентификации соединений.
По умолчанию отключёна работа с сетью. Вы не сможите подключиться к БД по удаленному соединению через TCP\IP. По этому требуется редактирование конфигурационного файла /etc/postgresql/8.4/main/postgresql.conf в нем найдите параметр:
#listen_addresses = 'localhost'
Расскоментируйте его и вставьте значение *, т.е. получиться:
listen_addresses = '*'
Ниже имеется параметр #password_encryption = on, раскоментируйте его.
Прим: Далее будет рассказано о настройках более подробно, в частности о настройках аутентификации.
Теперь попробуем, зайти и выполнить запросы:
// Получаем роль root
su
// Меняем пароль пользователя postgres в нашей ОС:
passwd postgres
// Меняем пользователя на postgressu postgres
Теперь мы запустим терминальный клиент PostgreSQL (psql) от имени пользователя postgres:
postgres@dhcppc0: psql
И поменяем пароль пользователя postgres в БД:
ALTER USER postgres WITH PASSWORD 'новый_пароль';
Прим: Не забывайте указывать точку с запятой в конце строки.
Создадим пользователя:
Консольной командой:
createuser my_user
Или SQL запрос в psql:CREATE USER имя_пользователя WITH PASSWORD 'пароль' CREATEDB;
CREATEDB - Это привилегии пользователя на создание БД. О настройки рассказано будет ниже.
CREATE DATABASE my_db_1;
Можно добавить информацию о владельце БД и кодировке, тогда запрос будет таким:
CREATE DATABASE my_db_1 WITH OWNER = postgres ENCODING = 'UTF8';
Для начала выходим из psql командой - \q. Потом набираем:
createdb -h localhost -U my_user -W web
Важные опции psql:
psql [OPTION]... [DBNAME [USERNAME]]
-h - имя хота
-U - имя пользователя БД
-d - название БД
-W - Имеется пароль
Теперь подключимся к созданной ранее базе данных:
psql -U postgres -d my_db_1
Теперь несколько sql запросов:
Создаем таблицу.
CREATE TABLE weather(
city varchar(80),
temp_lo int, -- low temperature
temp_hi int, -- high temperature
prcp real, -- precipitation
date date
);
Теперь вставим значения в таблицу:
INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');
VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');
И посмотрим результат:
SELECT * FROM weather;
Результат будет таким:
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 43 | 57 | 0 | 1994-11-29
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 43 | 57 | 0 | 1994-11-29
Комментариев нет:
Отправить комментарий