Как запустить postgresql windows
Перейти к содержимому

Как запустить postgresql windows

  • автор:

# IPv6 local connections:

image

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

Сохраняем, перезапускаем службу postgresql:

нажимаем комбинацию Win+R

Ищем службу и нажимаем «перезапустить»

image

После этого запускаем меню пуск — postgresql 11 — SQL bash (psql)

Все значения по-умолчанию, просто нажимаем enter, вводим пароль для пользователя postgres

image

Создаем базу данных:

create database demo_01;

Сразу создаем в базе схему stack

create schema stack;

image

Создаем пользователей db_owner и SA, необходимых для работы базы данных и даем им все необходимые права суперюзера

create role db_owner;

create role «SA» with password ‘12345678’;

alter role «SA» superuser;

alter role «SA» createdb;

alter role «SA» createrole;

alter role «SA» replication;

alter role «SA» login;

аналогично для db_owner (без login)

image

После этого даем всем пользователям права на созданную базу данных

grant all privileges on database demo_01 to «SA»;

grant all privileges on database demo_01 to db_owner;

image

Редактировать эту страницу

Установка и базовая настройка PostgreSQL в Windows 10

date

30.08.2022

user

itpro

directory

Windows 10, Windows Server 2016

comments

комментариев 14

PostgreSQL — это бесплатная объектно-реляционная СУБД с мощным функционалом, который позволяет конкурировать с платными базами данных, такими как Microsoft SQL, Oracle. PostgreSQL поддерживает пользовательские данные, функции, операции, домены и индексы. В данной статье мы рассмотрим установку и краткий обзор по управлению базой данных PostgreSQL. Мы установим СУБД PostgreSQL в Windows 10, создадим новую базу, добавим в неё таблицы и настроим доступа для пользователей. Также мы рассмотрим основы управления PostgreSQL с помощью SQL shell и визуальной системы управления PgAdmin. Надеюсь эта статья станет хорошей отправной точкой для обучения работы с PostgreSQL и использованию ее в разработке и тестовых проектах.

Установка PostgreSQL 11 в Windows 10

Для установки PostgreSQL перейдите на сайт https://www.postgresql.org и скачайте последнюю версию дистрибутива для Windows, на сегодняшний день это версия PostgreSQL 11 (в 11 версии PostgreSQL поддерживаются только 64-х битные редакции Windows). После загрузки запустите инсталлятор.

где скачать PostgreSQL 11 для windows 10 x64

В процессе установки установите галочки на пунктах:

  • PostgreSQL Server – сам сервер СУБД
  • PgAdmin 4 – визуальный редактор SQL
  • Stack Builder – дополнительные инструменты для разработки (возможно вам они понадобятся в будущем)
  • Command Line Tools – инструменты командной строки

установка PostgreSQL 11 и дополнительных компонентов

Установите пароль для пользователя postgres (он создается по умолчанию и имеет права суперпользователя).

PostgreSQL - задать пароль пользователю postgres

По умолчание СУБД слушает на порту 5432, который нужно будет добавить в исключения в правилах фаерволла.

5432 - порт PostgreSQL по-умолчанию

Нажимаете Далее, Далее, на этом установка PostgreSQL завершена.

Доступ к PostgreSQL по сети, правила файерволла

Чтобы разрешить сетевой доступ к вашему экземпляру PostgreSQL с других компьютеров, вам нужно создать правила в файерволе. Вы можете создать правило через командную строку или PowerShell.

Запустите командную строку от имени администратора. Введите команду:

netsh advfirewall firewall add rule name=»Postgre Port» dir=in action=allow protocol=TCP localport=5432

  • Где rule name – имя правила
  • Localport – разрешенный порт

Либо вы можете создать правило, разрешающее TCP/IP доступ к экземпляру PostgreSQL на порту 5432 с помощью PowerShell:

New-NetFirewallRule -Name ‘POSTGRESQL-In-TCP’ -DisplayName ‘PostgreSQL (TCP-In)’ -Direction Inbound -Enabled True -Protocol TCP -LocalPort 5432

После применения команды в брандмауэре Windows появится новое разрешающее правило для порта Postgres.

правила бранжмауэра для доступа к PostgreSQL по сети

Совет. Для изменения порта в установленной PostgreSQL отредактируйте файл postgresql.conf по пути C:\Program Files\PostgreSQL\11\data.

Измените значение в пункте port = 5432 . Перезапустите службу сервера postgresql-x64-11 после изменений. Можно перезапустить службу с помощью PowerShell:

Restart-Service -Name postgresql-x64-11

служба postgresql-x64-11

Более подробно о настройке параметров в конфигурационном файле postgresql.conf с помощью тюнеров смотрите в статье.

Утилиты управления PostgreSQL через командную строку

Рассмотрим управление и основные операции, которые можно выполнять с PostgreSQL через командную строку с помощью нескольких утилит. Основные инструменты управления PostgreSQL находятся в папке bin, потому все команды будем выполнять из данного каталога.

    Запустите командную строку.

Совет. Перед запуском СУБД, смените кодировку для нормального отображения в русской Windows 10. В командной строке выполните: chcp 1251

утилиты управления postgresql - C:\Program Files\PostgreSQL\11\bin

Основные команды PostgreSQL:

  • Проверка установленной версии СУБД: psql –V
  • Для создания новой базы данных воспользуйтесь утилитой createdb: createdb -U postgres testdb (где postgres суперпользователь, testdb новая база данных)Введите пароль суперпользователя. createdb -U postgres
  • Проверить список активных баз: Psql -U postgres –l (пароль) Psql -U postgres вывести список запушенных баз
  • С помощью инструмента createuser cоздадим нового пользователя: createuser –U postgres operator (где operator -имя нового пользователя) createuser –U postgres - создать пользователя
  • Предоставим пользователю привилегии суперпользователя (на практике этого делать не надо). Запустите интерактивную командную оболочку управления PostgreSQL (shell): psql –U postgres . С помощью SQL команды ALTER ROLE предоставим нужные права нашему пользователю: ALTER ROLE operator SUPERUSER CREATEROLE CREATEDB; . Мы предоставили пользователю права суперпользователя, права на создание ролей и баз данных.
  • Для выводы списка пользователей и ролей в СУБД выполните команду: \du

PostgreSQL (shell): psql командная строка

PgAdmin: Визуальный редактор для PostgresSQL

Редактор PgAdmin служит для упрощения управления базой данных PostgresSQL в понятном визуальном режиме.

  • Для запуска редактора запустите PgAdmin 4 в меню Пуск
  • Для доступа нужно ввести пароль суперпользователя postgres
  • В панели Servers вы можете раскрыть список активных БД.
    PgAdmin 4 в windows 10
  • В панели управления возможно быстро создать нового пользователя и группу, предоставить ему права. Для этого Откройте меню Object -> Create -> Create Login/Group.PgAdmin 4 создать пользователя
  • Для создания новой базы данных достаточно выбрать: Database в меню Object -> Create. В новом поле указать имя базы и владельца.
  • По умолчанию все созданные базы хранятся в каталоге base по пути C:\Program Files\PostgreSQL\11\data\base.

    Для каждой БД существует подкаталог внутри PGDATA/base, названный по OID базы данных в pg_database. Этот подкаталог по умолчанию является местом хранения файлов базы данных; в частности, там хранятся её системные каталоги. Каждая таблица и индекс хранятся в отдельном файле.

    Для резервного копирования и восстановления лучше использовать инструмент Backup в панели инструментов Tools. Для автоматизации бэкапа PostgreSQL из командной строки используйте утилиту pg_dump.exe.

    Query Tool: использование SQL запросов в PostgreSQL

    Для написания SQL запросов в удобном графическом редакторе используется встроенный в pgAdmin инструмент Query Tool. Например, вы хотите создать новую таблицу в базе данных через инструмент Query Tool.

    • Выберите базу данных, в панели Tools откройте Query Tool
    • Создадим таблицу сотрудников:

    CREATE TABLE employee
    (
    Id SERIAL PRIMARY KEY,
    FirstName CHARACTER VARYING(30),
    LastName CHARACTER VARYING(30),
    Email CHARACTER VARYING(30),
    Age INTEGER
    );

    Query Tool: использование SQL запросов в PostgreSQL

    Id — номер сотрудника, которому присвоен ключ SERIAL. Данная строка будет хранить числовое значение 1, 2, 3 и т.д., которое для каждой новой строки будет автоматически увеличиваться на единицу. В следующих строках записаны имя, фамилия сотрудника и его электронный адрес, которые имеют тип CHARACTER VARYING(30), то есть представляют строку длиной не более 30 символов. В строке — Age записан возраст, имеет тип INTEGER, т.к. хранит числа.

    После того, как написали код SQL запроса в Query Tool, нажмите клавишу F5 и в базе будет создана новая таблица employee.

    Для заполнения полей в свойствах таблицы выберите таблицу employee в разделе Schemas -> Tables. Откройте меню Object инструмент View/Edit Data.

    Здесь вы можете заполнить данные в таблице.

    редактор таблица в pgadmin

    После заполнения данных выполним инструментом Query простой запрос на выборку:
    select Age from employee;

    выполнить select в PostgreSQL с помощью PgAdmin

    Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

    Как запустить postgresql windows

    Чтобы кто-либо смог обратиться к базе данных, необходимо сначала запустить сервер баз данных. Программа сервера называется postgres . Для работы программа postgres должна знать, где найти данные, которые она будет использовать. Указать это местоположение позволяет параметр -D . Таким образом, проще всего запустить сервер, выполнив команду:

    $ postgres -D /usr/local/pgsql/data 

    в результате которой сервер продолжит работу в качестве процесса переднего плана. Запускать эту команду следует под именем учётной записи PostgreSQL . Без параметра -D сервер попытается использовать каталог данных, указанный в переменной окружения PGDATA . Если и эта переменная не определена, сервер не будет запущен.

    Однако обычно лучше запускать postgres в фоновом режиме. Для этого можно применить обычный синтаксис, принятый в оболочке Unix:

    $ postgres -D /usr/local/pgsql/data >logfile 2>&1 & 

    Важно где-либо сохранять информацию, которую выводит сервер в каналы stdout и stderr , как показано выше. Это полезно и для целей аудита, и для диагностики проблем. (Более глубоко работа с файлами журналов рассматривается в Разделе 24.3.)

    Программа postgres также принимает несколько других параметров командной строки. За дополнительными сведениями обратитесь к справочной странице postgres и к следующей Главе 19.

    Такой вариант запуска довольно быстро может оказаться неудобным. Поэтому для упрощения подобных задач предлагается вспомогательная программа pg_ctl . Например:

    pg_ctl start -l logfile

    запустит сервер в фоновом режиме и направит выводимые сообщения сервера в указанный файл журнала. Параметр -D для неё имеет то же значение, что и для программы postgres . С помощью pg_ctl также можно остановить сервер.

    Обычно возникает желание, чтобы сервер баз данных сам запускался при загрузке операционной системы. Скрипты автозапуска для разных систем разные, но в составе PostgreSQL предлагается несколько типовых скриптов в каталоге contrib/start-scripts . Для установки такого скрипта в систему требуются права root.

    В различных системах приняты разные соглашения о порядке запуска служб в процессе загрузки. Во многих системах для этого используется файл /etc/rc.local или /etc/rc.d/rc.local . В других применяются каталоги init.d или rc.d . Однако при любом варианте запускаться сервер должен от имени пользователя PostgreSQL , но не root или какого-либо другого пользователя. Поэтому команду запуска обычно следует записывать в форме su postgres -c ‘. ‘ . Например:

    su postgres -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog'

    Ниже приведены более конкретные предложения для нескольких основных ОС. (Вместо указанных нами шаблонных значений необходимо подставить правильный путь к каталогу данных и фактическое имя пользователя.)

    Для запуска во FreeBSD воспользуйтесь файлом contrib/start-scripts/freebsd в дереве исходного кода PostgreSQL .

    В OpenBSD , добавьте в файл /etc/rc.local следующие строки:

    if [ -x /usr/local/pgsql/bin/pg_ctl -a -x /usr/local/pgsql/bin/postgres ]; then su -l postgres -c '/usr/local/pgsql/bin/pg_ctl start -s -l /var/postgresql/log -D /usr/local/pgsql/data' echo -n ' postgresql' fi

    В системах Linux вы можете либо добавить

    /usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data

    в /etc/rc.d/rc.local или в /etc/rc.local , либо воспользоваться файлом contrib/start-scripts/linux в дереве исходного кода PostgreSQL .

    Используя systemd , вы можете применить следующий файл описания службы (например, /etc/systemd/system/postgresql.service ):

    [Unit] Description=PostgreSQL database server Documentation=man:postgres(1) After=network-online.target Wants=network-online.target [Service] Type=notify User=postgres ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data ExecReload=/bin/kill -HUP $MAINPID KillMode=mixed KillSignal=SIGINT TimeoutSec=infinity [Install] WantedBy=multi-user.target

    Для использования Type=notify требуется, чтобы сервер был скомпилирован с указанием configure —with-systemd .

    Особого внимания заслуживает значение тайм-аута. На момент написания этой документации по умолчанию в systemd принят тайм-аут 90 секунд, так что процесс, не сообщивший о своей готовности за это время, будет уничтожен. Но серверу PostgreSQL при запуске может потребоваться выполнить восстановление после сбоя, так что переход в состояние готовности может занять гораздо больше времени. Предлагаемое значение infinity отключает логику тайм-аута.

    В NetBSD можно использовать скрипт запуска для FreeBSD или для Linux , в зависимости от предпочтений.

    В Solaris , создайте файл с именем /etc/init.d/postgresql , содержащий следующую стоку:

    su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data"

    Когда сервер работает, идентификатор его процесса ( PID ) сохраняется в файле postmaster.pid в каталоге данных. Это позволяет исключить запуск нескольких экземпляров сервера с одним каталогом данных, а также может быть полезно для выключения сервера.

    18.3.1. Сбои при запуске сервера

    Есть несколько распространённых причин, по которым сервер может не запуститься. Чтобы понять, чем вызван сбой, просмотрите файл журнала сервера или запустите сервер вручную (не перенаправляя его потоки стандартного вывода и ошибок) и проанализируйте выводимые сообщения. Ниже мы рассмотрим некоторые из наиболее частых сообщений об ошибках более подробно.

    LOG: could not bind IPv4 address "127.0.0.1": Address already in use HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry. FATAL: could not create any TCP/IP sockets

    Это обычно означает именно то, что написано: вы пытаетесь запустить сервер на том же порту, на котором уже работает другой. Однако если сообщение ядра не Address already in use или подобное, возможна и другая проблема. Например, при попытке запустить сервер с номером зарезервированного порта будут выданы такие сообщения:

    $ postgres -p 666 LOG: could not bind IPv4 address "127.0.0.1": Permission denied HINT: Is another postmaster already running on port 666? If not, wait a few seconds and retry. FATAL: could not create any TCP/IP sockets
    FATAL: could not create shared memory segment: Invalid argument DETAIL: Failed system call was shmget(key=5440001, size=4011376640, 03600).

    может означать, что установленный для вашего ядра предельный размер разделяемой памяти слишком мал для рабочей области, которую пытается создать PostgreSQL (в данном примере 4011376640 байт). Возможно также, что в вашем ядре вообще отсутствует поддержка разделяемой памяти в стиле System-V. В качестве временного решения можно попытаться запустить сервер с меньшим числом буферов (shared_buffers), но в итоге вам, скорее всего, придётся переконфигурировать ядро и увеличить допустимый размер разделяемой памяти. Вы также можете увидеть это сообщение при попытке запустить несколько серверов на одном компьютере, если запрошенный ими объём разделяемой памяти в сумме превышает этот предел.

    FATAL: could not create semaphores: No space left on device DETAIL: Failed system call was semget(5440126, 17, 03600).

    не означает, что у вас закончилось место на диске. Это значит, что установленное в вашем ядре предельное число семафоров System V меньше, чем количество семафоров, которое пытается создать PostgreSQL . Как и в предыдущем случае можно попытаться обойти эту проблему, запустив сервер с меньшим числом допустимых подключений (max_connections), но в конце концов вам придётся увеличить этот предел в ядре.

    Если вы получаете ошибку « illegal system call » (неверный системный вызов), то, вероятнее всего, ваше ядро вовсе не поддерживает разделяемую память или семафоры. В этом случае вам остаётся только переконфигурировать ядро и включить их поддержку.

    Настройка средств IPC в стиле System V описывается в Подразделе 18.4.1.

    18.3.2. Проблемы с подключениями клиентов

    Хотя ошибки подключений, возможные на стороне клиента, довольно разнообразны и зависят от приложений, всё же несколько проблем могут быть связаны непосредственно с тем, как был запущен сервер. Описание ошибок, отличных от описанных ниже, следует искать в документации соответствующего клиентского приложения.

    psql: could not connect to server: Connection refused Is the server running on host "server.joe.com" and accepting TCP/IP connections on port 5432?

    Это общая проблема « я не могу найти сервер и начать взаимодействие с ним » . Показанное выше сообщение говорит о попытке установить подключение по TCP/IP. Очень часто объясняется это тем, что сервер просто забыли настроить для работы по протоколу TCP/IP.

    Кроме того, при попытке установить подключение к локальному серверу через Unix-сокет можно получить такое сообщение:

    psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

    Путь в последней строке помогает понять, к правильному ли адресу пытается подключиться клиент. Если сервер на самом деле не принимает подключения по этому адресу, обычно выдаётся сообщение ядра Connection refused (В соединении отказано) или No such file or directory (Нет такого файла или каталога), приведённое выше. (Важно понимать, что Connection refused в данном контексте не означает, что сервер получил запрос на подключение и отверг его. В этом случае были бы выданы другие сообщения, например, показанные в Разделе 20.4.) Другие сообщения об ошибках, например Connection timed out (Тайм-аут соединения) могут сигнализировать о более фундаментальных проблемах, например, о нарушениях сетевых соединений.

    Пред. Наверх След.
    18.2. Создание кластера баз данных Начало 18.4. Управление ресурсами ядра

    Как установить PostgreSQL

    Если вы запускаете новый сайт, приложение или веб-портал, нужно знать, как установить postgresql. Это одна из наиболее востребованных СУБД, которая обеспечивает защиту хранения информации и удобное управление данными. В этой статье мы рассмотрим, почему бизнес выбирает именно этот ИТ-продукт и как им пользоваться.

    PostgreSQL: как создать базу данных

    PostgreSQL – это система управления реляционными базами данных, которые предназначены для хранения и организации доступа к взаимосвязанным элементам информации.

    В качестве примера PostgreSQL для начинающих рассмотрим ее работу на упрощенных бизнес-процессах.

    Все сведения о бизнес-процессах, ресурсах и контрагентах компании хранятся в базах данных, представленных в виде таблиц. Так в одну из них сотрудники вносят информацию о клиентах: имя, контакты, платёжные данные и т.д. Любое такое значение расположено в отдельном столбце и называется атрибут. А каждой записи (строке) присваивается уникальный идентификатор – ключ.

    Во второй таблице вместо имени клиента указывают только его идентификатор. Он становится общим элементом двух таблиц, благодаря которому между ними устанавливается взаимосвязь. Когда поступает новый запрос на обработку заказа, система использует ключ для поиска актуальных сведений об оплате, адресе и т.д. Затем актуальная структурированная информация поступает на склад, где персонал компании собирает заказ и отправляет его покупателю.

    Таким образом, происходит разделение данных. В реляционных базах данных доступ к информации ограничен выбором строк, соответствующих конкретным критериям. Внесенные в процессе детальности изменения не влияют на содержание исходных таблиц, то есть данные не теряются, а структура их хранения не нарушается.

    Что такое модель клиент-сервер

    На основе использования реляционных БД создана модель клиент-сервер. Приложения разделены на множество задач и размещены на разных платформах. Соответственно, программа для предоставления данных установлена на компьютере пользователя, который называется клиент, а сами данные находятся на сервере.

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

    Преимущества PostgreSQL

    Существует множество СУБД, разработанных на языке SQL. В финансовом секторе, производстве, розничной торговле и логистике обычно предпочитают использовать PostgreSQL, ориентируясь на ключевые преимущества этого продукта.

    • Совместимость с популярными операционными системами. Например, актуальна установка PostgreSQL debian или других дистрибутивов Linux, Windows, Mac.
    • Доступ к мощным функциям, таким как вложенные транзакции, многовариантное управление параллелизмом и другим.
    • Соответствие строгим требованиям, в том числе поддержка Юникода, международных кодировок, многобайтовой кодировки символов.
    • Наличие лицензии на ПО с открытым кодом, что обеспечивает гибкость в процессе разработки.
    • Масштабируемость объема данных и количества пользователей.
    • Разнообразные типы индексирования.
    • Совместимость с внушительным числом языков программирования и протоколов.
    • Развитая экосистема поддержки.
    • Доступ к данным JSON.
    • Возможности расширения, в том числе за счет модификации таблиц.
    • Надежность, безопасность и расширяемость.
    • Поддержка текста, изображения, звука и видео.

    Установка на Windows

    Установка PostgreSQL на Windows – это стандартный процесс, предполагающий запуск установочного файла, который можно скачать с официального сайта разработчика. Однако стоит обратить внимание на некоторые нюансы.

    Так по умолчанию устанавливается несколько компонентов. Лучше оставить их все, если нет необходимости от них отказываться.

    По умолчанию назначается имя суперпользователя postgres. Для него нужно будет задать пароль (root). Кроме того, необходимо назначить порт, так как взаимодействие между клиентом и сервером осуществляется через Интернет. Обычно используется порт 5432, который указывается при первой установке. Если он уже занят, подойдет порт 5433.

    После завершения установки нажимаем «ОК» и можем начинать работу.

    PostgreSQL: установка и настройка на Linux

    В коммерческих организациях используют различные версии операционных систем, поэтому актуальна установка postgresql centos 7, а также на другие версии Linux. Мы рассмотрим процесс установки PostgreSQL ubuntu 20.04.

    Нам потребуется сервер с конфигурацией, соответствующей первоначальной настройке. Сервер будет иметь пользователя без прав root с разрешениями sudo и базовый брандмауэр.

    В нашем случае в репозиториях уже содержатся пакеты Postgres. Если их нет, введите следующие команды:

    # sudo apt update

    # sudo apt install postgresql postgresql-contrib

    Теперь запускаем и проверяем сервис:

    # sudo systemctl start postgresql.service

    # sudo systemctl status postgresql.service

    В работе с PostgreSQL используется термин «Роль». Это почти то же самое, что аккаунт в Ubuntu, поэтому через него можно зайти в СУБД.

    Этот аккаунт уже имеет права администратора. Добавим роль с функцией суперпользователя с помощью postgresql linux команды:

    # postgres@postgresdoc:~$ createuser —interactive

    Переключаться между аккаунтами нам не нужно, поэтому вводим следующую команду:

    # sudo -u postgres createuser —interactive

    Далее выполняется настройка PostgreSQL linux. Указываем имя пользователя и обозначаем права:

    Enter name of role to add: tester

    Shall the new role be a superuser? (y/n) y

    Теперь нужно создать базу данных. В примере ей присвоено имя tester.

    # postgres@postgresdoc:~$ createdb tester

    Затем нужно перейти в командную строку PostgreSQL с новой ролью:

    # sudo adduser tester

    Добавляем аккаунт tester, входим в него:

    # sudo -i -u tester # psql

    CREATE TABLE table_name (

    column_name1 col_type (field_length) column_constraints,

    column_name2 col_type (field_length),

    column_name3 col_type (field_length)

    В astra linux PostgreSQL установка происходит по тому же принципу.

    До того, как запустить postgresql, нужно установить оболочку (shell), с помощью которой происходит управление базой данных. Для этого вводим команду:

    # psql -U postgres

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

    # sudo systemctl start postgres

    Дополнительно можно подключить PostgreSQL к django – гибкому фреймворку для создания приложений Python . Для этого открываем файл settings.py. Заданные по умолчанию настройки нужно подкорректировать так:

    Устанавливаем модуль psycopg2 с помощью команды:

    # pip install psycopg2-binary

    Для Windows: # pip install psycopg2

    Наконец, выполняем миграцию:

    # python manage.py makemigrations

    # python manage.py migrate

    Мета-команды PostgreSQL

    В PostgreSQL используются не SQL запросы, а специальные команды. Все они обязательно следуют за символом «\» (слэш). Для начала разберемся, как узнать версию PostgreSQL.

    Для этого нужно ввести команду: \postgres —version

    Команда \ l выдаёт список всех баз данных на сервер. Выглядит это так:

    В этом примере новые базы еще не созданы. А те, что есть – пустые шаблоны.

    Команда \c или \connect выполняет подключение к базе данных.

    Когда мы находимся внутри базы, можно посмотреть полный перечень ее таблиц с помощью команды \dt .

    Команда \dg отображает перечень пользователей. Разницы между пользователями и ролями в данном случае практически нет, а роль суперпользователя задана по умолчанию.

    Для безопасности следует создавать разные роли, у которых меньше привилегий. Такой подход минимизирует ошибки вследствие человеческого фактора.

    Команды для работы с PostgreSQL

    Рассмотрим основные команды для администрирования. Отличительной их особенностью считается написание заглавными буквами. Это не обязательное требование, но так проще понять, где ключевые слова SQL, а где части оператора.

    В отличие от мета-команд нужно обязательно в конце команды ставить символ «;» (точка с запятой).

    CREATE DATABASE – основная команда для создания базы данных. Чтобы в ней работать, нужно подключиться с помощью мета-команды \c с указанием названия через пробел.

    CREATE TABLE – создание таблицы. В круглых скобках указан список столбцов и их типы данных, где INT обозначает целое число, а TEXT строку.

    INSERT INTO добавляет сведения в таблицу. Пример:

    В данном случае products — это название таблицы.

    (Id, name, quantity) — перечень столбцов. Достаточно выборочно указать их, остальные добавятся автоматически.

    VALUES (1, ‘first product’, 20) – фактические данные, соответствующие столбцам.

    Команда SELECT выполняет выборку данных. За ней нужно указать список интересующих вас столбцов. В той же строке указывается команда FROM для обозначения того, из какой таблицы брать сведения. Выглядит это так:

    SELECT id, name, quantity FROM products;

    Если нужно выбрать все столбцы, перечислять их не нужно, вместо этого можно поставить символ * (звёздочка).

    Команда UPDATE обновляет данные. В той же строке указываем SET и названия столбцов, знак «равно» и актуальное значение, WHERE и условие (например, столбец id, и его строку 1). Выглядит вся строка так:

    UPDATE products SET name=’new name’, quantity=49 WHERE

    Команда DELETE удаляет конкретные данные:

    DELETE FROM products WHERE

    Команда DROP TABLE удаляет таблицу целиком.

    Заключение

    СУБД PostgreSQL – популярный продукт для управления базами данных, совместимой с основными операционными системами. Но для работы в нем необходимы профильные знания. Например, установка, настройка и управление базами данных выполняется с помощью команд, поэтому важно понять их логику и последовательность.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *