Программирование

PostgreSQL

Что такое PostgreSQL?

Основа PostgreSQL — работа POSTGRES Майкла Стоунбрейкера в Беркли. Открытый вид, который говорит на SQL, получил имя PostgreSQL в 1996 году. Короткое имя — Postgres. Программа работает сама, порт обычно 5432. Ты подключаешься, открываешь таблицу, пишешь строку и читаешь по условию. Данные остаются на диске. Когда машина выключается и включается, записанная строка не пропадает. Он не отдаёт это тебе одним файлом .db. Резервную копию снимают отдельной командой.

Для чего нужен PostgreSQL?

PostgreSQL нужен для данных, которые много людей пишут одновременно. Заказ, пользователь и счёт — его место.

  • Хранить список пользователей сайта
  • Писать заказ строка за строкой
  • Дать нескольким программам читать одну таблицу
  • Писать условный запрос для отчёта

Что можно делать с PostgreSQL?

В PostgreSQL создают таблицу, добавляют строку и выбирают. Страницу он не рисует и Python не запускает. Программа шлёт ему запрос, он возвращает ответ. Когда пишут многие, он держит очередь, чтобы двое не испортили одну строку. Без пароля его не оставляют. Из сети всем подряд тоже не открывают.

Сложно ли освоить PostgreSQL?

Открыть одну таблицу легко. Трудность в соединении и в запросе. Если пользователь или порт неверны, программа вообще не подключается. Вставка текста пользователя в запрос открывает инъекцию. Чтение большой таблицы без условия становится медленным. Если копию не снять, ошибка диска уносит строки. Запрос, написанный для MySQL, здесь может не сработать каждым словом.

Плюсы и ограничения

Плюс: много людей могут писать, данные остаются на диске, запрос сильный. Ограничение: сервер нужно поставить и беречь. PostgreSQL — не MySQL и не SQLite.

Основные понятия

Таблица — имена столбцов. Строка — одна запись. Сервер — программа, которая держит эту таблицу открытой.

  • Работает своим процессом
  • Порт обычно 5432
  • Запрос SQL выбирает строки
  • Копия сама не снимается

Короткий пример

Этот запрос открывает одну таблицу. Сервер уже должен работать. Файл руками не создают.

CREATE TABLE reader (
  id integer PRIMARY KEY,
  name text
);

Частые вопросы

  • PostgreSQL и MySQL — одно и то же? Нет. Оба — серверы SQL. Программа другая, и каждое слово запроса может работать не так.
  • PostgreSQL и SQLite — одно и то же? Нет. SQLite — один файл и отдельный сервер не открывает. PostgreSQL работает в своём процессе.
  • Postgres — другая база? Нет. Postgres — короткое имя PostgreSQL.