PostgreSQL

PostgreSQL свободная объектно-реляционная система управления базами данных .http://wiki.linuxformat.ru/wiki/LXF85:PostgreSQL

http://www.postgresql.org/

https://www.digitalocean.com/postgresql-django-application-on-ubuntu-14-04

SQL-PDF

PostgreSQL ---->>>>PDF

https://wiki.debian.org/ru/PostgreSql <-----------------

http://webhamster.ru/mytetrashare/

http://postgresql.ru.net/manual/sql.html <---------- Язык SQL

http://www.mysql.ru/docs/man/ <----------- MySQL Manual

MySQL и PostgreSQL. Сравнительный анализ

***********************************************************************************************

Реляционная база данных — база данных, основанная на реляционной модели данных.

Понятие «реляционный» основано на англ. relation («отношение», «зависимость», «связь»).

Было предложено доктором Коддом из компании IBM в 1970 году.

Для работы с реляционными БД применяют реляционные СУБД.

***********************************************************************************************

Новый пользователь в PostgreSQL

    • От Superuser

    • запуск phpPgAdmin

    • PostgreSQL

    • Creat role

$ sudo -u postgres createuser [пользователь]

(sudo -u postgres createuser --superuser [пользователь])

$ sudo -u postgres psql

postgres=# \password [пользователь]


Установка PostgreSQL

$ sudo apt-get install postgresql postgresql-contrib # Если из дефолтного репозитория

$ sudo apt-get install postgresql-9.4 # Или так , с добавлением в sourse list и ключей

Проверка SystemD (статуса и назначения в автозапуск):

$ systemctl status postgresql

● postgresql.service - PostgreSQL RDBMS

Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)

Active: active (exited) since Пт 2017-01-06 22:18:38 MSK; 5min ago

Main PID: 2689 (code=exited, status=0/SUCCESS)

CGroup: /system.slice/postgresql.service

$ systemctl is-enabled postgresql

enabled

$

C:\>telnet 192.168.X.X 5432

Установка и настройка phpPgAdmin

$ sudo apt-get install phppgadmin #доступно в дефолтном репозитории

Открыть файл : /etc/apache2/conf-available/phppgadmin.conf

Отредактировать файл, закоментировав строку Require local и добавив строку allow from all :


Перезапустить PostgreSQL:

$ sudo systemctl restart postgresql

Имя DBase (postgres), имя пользователя(superuser-postgres) ставятся по умолчанию, пароль устанавливается-изменяется при установке (ниже). Все команды запускаются под unix-пользователем postgres (postgresql-суперпользователь). Для переключения на пользователя postgres (подключиться к базе данных), используется команда:

$ su - postgres

$ psql

Для начала работы:

$ sudo -u postgres psql postgres

где:

    • postgres пользователь

    • postgres база

psql (9.4.10, сервер 9.2.19)

Введите "help", чтобы получить справку.

Для окончания работы:

postgres=# \q

$

Установка пароля для «postgres»:

$ sudo -u postgres psql postgres

postgres=# \password postgres

Enter new password:

Enter it again:

postgres=# \q

$

Установка PostgreSQL Adminpack:

$ sudo -u postgres psql postgres

postgres=# CREATE EXTENSION adminpack;

CREATE EXTENSION

postgres=# \q

$

Создание нового пользователя и базы данных:

$ sudo -u postgres createuser -D -A -P имя_пользователя

$ sudo -u postgres createdb -O [имя_пользователя] [имя_базы_данных]

$ sudo -u postgres psql postgres # от superuser

postgres=# \du # (\du - список всех пользователей и их привилегий.)

Список ролей

Имя роли | Атрибуты | Член ролей

-------------+-----------------------------------------------------------+---

postgre | Суперпользователь, Создаёт роли, Создаёт БД | {}

postgres | Суперпользователь, Создаёт роли, Создаёт БД, Репликация | {}

user | | {}

user1 | Суперпользователь, Создаёт роли, Создаёт БД + | {}

| Пароль действует до infinity |

postgres=#

Удаление пользователя и базы данных:

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

$ sudo -u postgres psql postgres # от superuser

$ drop database [база_данных]

postgres-# \l # (\l - список баз данных.)

Список баз данных

Имя | Владелец | Кодировка | LC_COLLATE | LC_CTYPE | Права доступа

----------------+----------------+----------------+----------------------+---------------------------+-----------------------

base1 | user | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 |

postgres | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 |

template0 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres +

| postgres=CTc/postgres

template1 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres +

postgres=CTc/postgres

(4 строки)

postgres-#

Настройка PostgreSQL-MD5 аутентификации

Аутентификация по методу MD5 требует, чтобы клиент предоставлял зашифрованный пароль.

Конфигурация представлена файлом: /etc/postgresql/9.4/main/pg_hba.conf:

Перезапустить PostgreSQL: $ sudo systemctl restart postgresql



Отредактировать файл добавив после 92-и строки еще одну с указанием адреса или адресов локальной сети : host all all 192.168.X.X/24 md5 ]

Настройка PostgreSQL-Configure TCP/IP

По умолчанию TCP/IP соединение выключено. Да бы включить, редактируется файл: /etc/postgresql/9.4/main/postgresql.conf.



59 и 63 строки должны быть раскоментированны

В 59-и строке, (в примере выше) поскольку сервер тестовый поставлена´*´, что дает право на подключение всех кто ¨хочет¨, на рабочем сервере следует явно указать (через запятую) сервер и клиентов.

Перезапустить PostgreSQL:

$ sudo systemctl restart postgresql

$ sudo reboot

192.168.X.X/phppgadmin/

Где:

¨postgres¨ - база по умолчанию с пользователем по умолчанию

¨base1¨ - вновь созданная новым пользователем