Postgresql установить ubuntu: Установка PostgreSQL в Ubuntu 20.04, настройка и инструкция по работе с аккаунтом
Содержание
Как установить и настроить PostgreSQL в Ubuntu
Системы управления реляционными базами данных (СУБД) оказались важным компонентом многих веб-сайтов и приложений, поскольку они обеспечивают организованный способ хранения, упорядочивания и доступа к информации.
В этой статье мы подробно обсудим PostgreSQL, а также пошаговое руководство по установке и настройке PostgreSQL в Ubuntu.
Что такое PostgreSQL?
PostgreSQL — это система управления реляционными базами данных с открытым исходным кодом, которая поддерживает SQL. С PostgreSQL разработчики могут создавать защищенные от мошенничества приложения, поскольку он предоставляет администратору базы данных отличные ресурсы управления данными.
Эта платформа дает вам возможность выбирать наборы данных, разрабатывать собственные шрифты и интегрировать код, написанный на разных языках программирования. PostgreSQL хорошо масштабируется с точки зрения объемов данных и количества одновременных пользователей в проекте.
PostgreSQL имеет функции, которые очень важны для личных программных проектов и крупных корпоративных программных проектов, наиболее важными из которых являются:
- Огромная абсорбционная способность: Поскольку нет ограничений на размер его баз данных.
- целостность данных: Эта система помогает сделать целостность данных приоритетом.
- Высокая растяжимостьИспользуется система, известная как Multiversion Concurrency Control (MVCC), при которой каждый процесс видит только изображение (или копию) данных, над которыми он работает, изолируя их от изменений исходных данных другими пользователями.
- Функции завершены: Основные объекты базы данных, такие как ограничения, внешний ключ, триггер и представления, поддерживаются в течение многих лет, и поддерживаются не широко распространенные свойства, такие как настраиваемые агрегаты, области, настраиваемые операторы и правила. Кроме того, поддержка PostgreSQL для подзапросов является первой. в его поле, разрешающее подзапросы в предложениях SELECT, FROM и WHERE любого запроса.
- РасширениеPostgreSQL не только является открытым исходным кодом, но и упрощает установку плагинов в базе данных с настраиваемыми сборками, типами данных, областями действия и операторами.
- Поддержка платформPostgreSQL поддерживается на многих платформах.
- Гибкие варианты безопасностиPostgreSQL поддерживает множество протоколов безопасности, множество параметров конфигурации и функций в базе данных, чтобы помочь вам контролировать, кто и как может получать доступ к данным в базе данных.
- Бесплатное лицензирование: PostgreSQL находится под лицензией, полученной на основе лицензии BSD, что означает, что его можно бесплатно использовать в приложениях с открытым исходным кодом и коммерческих приложениях.
PostgreSQL также поддерживает множество языков программирования, таких как C, SQL, PL / pgSQL, PL / Perl, PL / PHP, PL / Tcl и PL / Ruby. Время (PITR), точки сохранения (операции ветвления) и табличные пространства.
Давайте посмотрим на процесс установки PostgreSQL на Ubuntu 21.04.
Шаг 1. Установите PostgreSQL в Ubuntu
Некоторые пакеты PostgreSQL находятся в репозитории Ubuntu по умолчанию. Чтобы установить PostgreSQL через командную строку, введите:
sudo apt install postgresql postgresql-contrib
Проверить установку
Вы можете найти расположение файла конфигурации с помощью команды ls. Это этап проверки, который подтверждает, был ли PostgreSQL успешно установлен в вашей системе.
ls /etc/postgresql/12/main/
Число 12 указывает версию PostgreSQL. Для вас это может быть разным в зависимости от пакета, который вы загрузили в свою систему.
Проверить статус PostgreSQL
После установки проверьте статус PostgreSQL с помощью следующей команды:
service postgresql status
Результат будет выглядеть так:
Если на выходе отображается статус Активные PostgreSQL работает в вашей системе. С другой стороны, если статус неактивен, вам нужно запустить службу, набрав:
service postgresql start
Помимо состояния и запуска, вы можете использовать множество других команд PostgreSQL:
Stop Restart Reload Force-reload
Шаг 2. Войдите как суперпользователь
Прежде чем мы продолжим, вам необходимо войти как суперпользователь в базу данных на сервере PostgreSQL. Один из простейших способов подключения в качестве пользователя PostgreSQL — это изменить имя вашего хоста на пользователя postgres Unix.
Установить права root
Войдите в интерактивную программу запуска PostgreSQL с помощью команды:
sudo -u postgres psql
Установите учетные данные пользователя root, используя следующий запрос:
ALTER USER postgres PASSWORD ‘newpassword’;
Обязательно замените новый пароль С надежным паролем по вашему выбору. Введите exit, чтобы выйти из интерактивного триггера.
Войдите в psql с помощью следующей команды:
psql -U postgres -h localhost
Когда появится запрос, введите новый пароль пользователя root.
Шаг 3: подключитесь к серверу PostgreSQL
Когда вы устанавливаете PostgreSQL, платформа создает postgres по умолчанию для пользователя и системную учетную запись с тем же именем. Вам необходимо войти в систему с именем postgres, используемым для подключения к серверу PostgreSQL.
Используйте следующую команду для входа на сервер PostgreSQL:
sudo su postgres
После того, как вы запустите эту команду, вы заметите изменение в способе отображения системой вашего имени хоста. Приглашение bash будет выглядеть так:
[email protected]: /home/winibhalla/Desktop$
Это означает, что вы успешно вошли в систему как пользователь PostgresSQL.
Как управлять пользователями PostgreSQL
Теперь, когда вы подключены к серверу, пора создавать новых пользователей. записывать PSQL Для запуска команд на сервере PostgreSQL.
Создать нового пользователя
Если в рамках проекта на разных уровнях работают несколько членов команды, вам нужно будет создать разные роли для разных сотрудников и назначить каждому из них необходимый доступ. Используйте команду СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ Чтобы создать новый профиль пользователя:
CREATE USER user1 WITH PASSWORD ‘test123’;
В приведенной выше команде user1 это имя пользователя, которое вы хотите для нового пользователя, за которым следует test123 , который является паролем для этого пользователя.
Чтобы проверить список новых пользователей, добавленных в базу данных, используйте команду \ du.
Как видно из вышеприведенного вывода, для нового пользователя пока нет никаких привилегий.
Предоставление привилегий суперпользователя новым пользователям
Чтобы добавить набор привилегий новому пользователю, выполните следующую команду:
ALTER USER user1 WITH SUPERUSER;
дать команду ALTER Административные привилегии для нового участника. Запустите команду / du Еще раз, чтобы проверить, есть ли у нового пользователя необходимый набор привилегий суперпользователя.
Удалить пользователя из списка пользователей
Чтобы удалить пользователя из списка авторизованных пользователей, используйте следующую команду:
DROP USER user1;
Проверьте изменение, перечислив пользователей с помощью команды / du.
Как управлять базами данных PostgreSQL
PostgreSQL предоставляет своим пользователям несколько команд для создания и удаления баз данных.
Добавить или удалить базу данных
Чтобы создать новую базу данных с помощью PostgreSQL:
CREATE DATABASE db1;
… куда db1 Имя базы данных, которую вы хотите создать. Используйте команду \l Список всех доступных баз данных.
выход:
Если вы хотите удалить базу данных, используйте команду DROP:
DROP DATABASE db1;
Предоставить доступ к базе данных пользователям
Вы можете предоставить доступ к базе данных пользователю с помощью команды. ГРАНТ:
GRANT ALL PRIVILEGES ON DATABASE db1 TO user1;
Получить справку по командной строке PostgreSQL
Чтобы узнать больше о PostgreSQL и о том, как использовать его различные команды, вы можете открыть страницу справки, набрав следующую команду в Терминале:
man psql
Рекомендуемый шаг: установите pgAdmin
Еще один рекомендуемый шаг — установить pgAdmin. PgAdmin — один из самых популярных и многофункциональных инструментов администрирования с открытым исходным кодом, доступных для PostgreSQL. Хотя установка pgAdmin является необязательным шагом, вам следует установить его, чтобы лучше управлять пользователями и базами данных.
Для начала добавьте официальный репозиторий pgAdmin и его ключ в вашу систему:
curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
sudo sh -c ‘echo “deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main” > /etc/apt/sources.list.d/pgadmin4.list && apt update’
выход:
Теперь, чтобы установить настольную версию:
sudo apt install pgadmin4-desktop
Чтобы установить веб-версию, введите:
sudo apt install pgadmin4-web
Чтобы настроить веб-режим, запустите сценарий setup-web.sh, предоставленный pgAdmin:
sudo /usr/pgadmin4/bin/setup-web.sh
Следуйте инструкциям на экране, чтобы завершить процесс. Будьте уверены, это всего лишь одноразовый шаг, поэтому вам не придется снова и снова беспокоиться о командах установки и процессе настройки.
Управление базами данных в Ubuntu с помощью PostgreSQL
PostgreSQL — мощная система для создания приложений для управления базами данных. Возможность обрабатывать любой объем данных на платформе — одна из ее важнейших функций. Процесс установки сводится к первоначальной загрузке, установке и, наконец, авторизации в базе данных.
С помощью нескольких простых команд вы можете освоить процесс добавления новых пользователей, создания баз данных, а также добавления пользователей в существующие базы данных. Не уверены, нравится ли вам PostgreSQL? пытаться Установите Microsoft SQL Server на свое устройство.
Источник
Установка Django с PostgreSQL, Nginx и Gunicorn на Ubuntu 18.04
В инструкции описано, как установить и настроить некоторые компоненты в Ubuntu 18.04 для поддержки и обслуживания приложений Django, как настроить базу данных PostgreSQL вместо использования базы данных SQLite по умолчанию, как настроить сервер приложений Gunicorn для взаимодействия с приложениями. Затем в инструкции описана конфигурация Nginx для обращения прокси к Gunicorn.
Что такое Django?
Django — это мощный фреймворк, который позволяет запустить приложение или веб-сайт на Python. Django включает в себя упрощенный сервер разработки для локального тестирования кода.
Загрузка и установка пакетов
Для начала обновите локальную базу пакетов:
sudo apt update
sudo apt upgrade
Примечание: по умолчанию на серверах Ubuntu 18.04 используется Python 3.
Для установки необходимого набора пакетов и зависимостей выполните следующую команду:
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl
В результате у вас будут установлены средства разработки Python, необходимые для сборки Gunicorn, pip, система баз данных Postgres и библиотеки, необходимые для взаимодействия с ней, а также веб-сервер Nginx.
Создание базы данных и пользователя PostgreSQL
Во время установки Postgres был создан пользователь с именем postgres — администратор СУБД PostgreSQL. Более подробно про работу с PostgreSQL можно ознакомиться в нашей инструкции.
Подключитесь к СУБД с помощью следующей команды:
sudo -u postgres psql
Создайте базу данных для вашего проекта:
CREATE DATABASE cloudproject;
Далее создайте пользователя для созданной БД, указав безопасный пароль:
CREATE USER clouduser WITH PASSWORD 'password';
Для корректной работы Django кодировку необходимо установить в стандарт UTF-8:
ALTER ROLE clouduser SET client_encoding TO 'utf8';
Далее установите схему изоляции транзакции по умолчанию в «зафиксированное чтение», при котором блокируется чтение из незафиксированных транзакций:
ALTER ROLE clouduser SET default_transaction_isolation TO 'read committed';
Установите рекомендуемый стандарт времени UTC:
ALTER ROLE clouduser SET timezone TO 'UTC';
В конце предоставьте новому пользователю доступ для управления созданной базой данных:
GRANT ALL PRIVILEGES ON DATABASE cloudproject TO clouduser;
Выйдите из командной строки PostgreSQL, набрав:
\q
Создание виртуальной среды Python для проекта
Сначала необходимо настроить доступ к команде virtualenv, которую можно установить с помощью pip:
sudo -H pip3 install --upgrade pip
sudo -H pip3 install virtualenv
Флаг -H гарантирует, что политика безопасности устанавливает переменные окружения в домашний каталог целевого пользователя.
Создайте и перейдите в каталог, где вы собираетесь хранить файлы вашего проекта. В нашем примере используется название каталога 1cloud:
mkdir ~/cloudproject
cd ~/cloudproject
В каталоге проекта создайте виртуальную среду Python. Выберете название среды, которое имеет отношение к вашему проекту, в нашем примере мы используем название cloudenv:
virtualenv cloudenv
В результате этих действий будет создано откружение в вашем каталоге, внутри будет установлена локальная версия Python и локальная версия pip. Это позволяет настроить изолированную среду Python для Jupyter.
Перед установкой Jupyter нам нужно активировать виртуальную среду, указав вместо 1cloud название вашей среды:
source cloudenv/bin/activate
Когда виртуальная среда активирована, установите Django, Gunicorn и адаптер psycopg2 PostgreSQL с помощью локального экземпляра pip:
pip install django gunicorn psycopg2-binary
Создание и настройка проекта Django
СОЗДАНИЕ ПРОЕКТА
Создадим проект в настроенной виртуальной среде, явно задав название проекта и путь:
django-admin. py startproject cloudproject ~/cloudproject
НАСТРОЙКА ПАРАМЕТРОВ ПРОЕКТА
Для запуска созданного проекта необходимо настроить его параметры. Откройте файл настроек в текстовом редакторе, например nano:
nano ~/cloudproject/cloudproject/settings.py
Найдите директиву ALLOWED_HOSTS и в качестве ее значения укажите IP-адрес или доменное имя сервера:
ALLOWED_HOSTS = ['your_server_domain_or_IP']
Например:
ALLOWED_HOSTS = ['111.111.111.111']
Затем найдите раздел, который настраивает доступ к базе данных. Он начинается с ключевого слова DATABASES. Укажите собственные значения переменных NAME,USER,PASSWORD ранее созданных в PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'cloudproject',
'USER': 'clouduser',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '',
}
}
Затем переместитесь в конец файла и добавьте параметр, указывающий, где должны быть размещены статические файлы. Это необходимо для того, чтобы Nginx мог правильно обрабатывать запросы к этим элементам:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
ЗАВЕРШЕНИЕ НАЧАЛЬНОЙ НАСТРОЙКИ ПРОЕКТА
Перенесите исходную схему базы данных в базу данных PostgreSQL, используя скрипт управления:
~/cloudproject/manage.py makemigrations
~/cloudproject/manage.py migrate
Создайте административного пользователя для проекта, набрав:
~/cloudproject/manage.py createsuperuser
На этом шаге будет необходимо выбрать имя пользователя проекта, указать адрес электронной почты, а также выбрать и подтвердить пароль.
Соберите весь статический контент в каталог, который был настроен:
~/cloudproject/manage.py collectstatic
С помощью ufw откройте порт 8000 на котором по умолчанию будет запущен Django:
sudo ufw allow 8000
Наконец, вы можете протестировать проект, запустив сервер Django с помощью этой команды:
~/cloudproject/manage. py runserver 0.0.0.0:8000
В любом удобном веб-браузере перейдите на ваше доменное имя или IP-адрес с указанием порта 8000:
http://server_domain_or_IP:8000
Например:
http://111.111.111.111:8000
Тестирование работы Gunicorn
Перед тем, как покинуть виртуальную среду, необходимо протестировать Gunicorn, чтобы убедиться, что программа может обслуживать приложение. Это можно сделать, перейдя в каталог проекта и используя gunicorn для загрузки модуля WSGI:
cd ~/cloudproject
gunicorn --bind 0.0.0.0:8000 cloudproject.wsgi
В результате Gunicorn будет запущен на том же интерфейсе, на котором работал сервер разработки Django. Вы можете вернуться в браузер и снова протестировать приложение.
Теперь настройка приложения Django завершена. Необходимо выйти из виртуальной среды, набрав:
deactivate
Создание systemd Socket и Service Files для Gunicorn
Проверка показала, что Gunicorn может взаимодействовать с приложением Django, но необходимо реализовать более надежный способ запуска и остановки сервера приложений. Для этого нужно использовать файл службы systemd.
Создайте и откройте служебный файл systemd для Gunicorn в текстовом редакторе, например nano:
sudo nano /etc/systemd/system/gunicorn.service
Вставьте следующие строки:
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/root/cloudproject
ExecStart=/root/cloudproject/cloudenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/root/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
Раздел [Unit] используется для указания метаданных и зависимостей. Здесь находится описание сервиса и информация для системы инициализации. В разделе [Service] определяется пользователь и группа, от имени которых необходимо выполнять работу. Группа www-data используется не случайно, чтобы Nginx мог легко общаться с Gunicorn. Затем в WorkingDirectory указывается рабочий каталог и в ExecStart команда для запуска сервиса. Наконец, раздел [Install] указывает, чтобы служба стартовала, когда обычная многопользовательская система запущена:
Теперь можно запустить созданную службу Gunicorn и включить ее так, чтобы она запускалась при загрузке:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
Проверка Gunicorn Socket File
Для начала необходимо проверить состояние процесса, чтобы узнать, удалось ли его запустить:
sudo systemctl status gunicorn
Затем проверьте наличие файла cloudproject.sock в каталоге вашего проекта:
ls /root/cloudproject
Output: manage.py cloudproject cloudenv cloudproject.sock static
Если вы не нашли файл cloudproject.sock в каталоге, это означает, что Gunicorn не смог правильно запуститься. Проверьте журналы процесса Gunicorn, набрав:
sudo journalctl -u gunicorn
Настройка Nginx
Теперь, когда Gunicorn настроен, нужно настроить Nginx для передачи трафика процессу. Создайте и откройте новый файл в каталоге сайтов Nginx:
sudo nano /etc/nginx/sites-available/cloudproject
Внутри создайте блок сервера, вставив следующие строки:
server {
listen 80;
server_name ;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /root/cloudproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/root/cloudproject/cloudproject.sock;
}
}
В блоке указано, что nginx должен прослушивать порт 80 и отвечать на доменное имя или IP-адрес сервера. Далее указано игнорировать любые проблемы с поиском значка и путь до статических ресурсов. Последний блок location / {} соответствует всем другим запросам.
Сохраните и закройте файл после внесения изменений. Теперь мы можем включить файл, связав его с каталогом сайтов:
sudo ln -s /etc/nginx/sites-available/cloudproject /etc/nginx/sites-enabled
Далее необходимо проверить конфигурацию Nginx на наличие синтаксических ошибок, набрав:
sudo nginx -t
Если ошибки не найдены, перезапустите Nginx, набрав:
sudo systemctl restart nginx
Наконец, нужно открыть брандмауэр для нормального трафика через порт 80. Поскольку доступ к серверу разработки больше не нужен, нужно удалить правило, которое открывает порт 8000:
sudo ufw delete allow 8000
sudo ufw allow 'Nginx Full'
В этом руководстве создается проект Django в собственной виртуальной среде. Мы настроили Gunicorn для перевода клиентских запросов, чтобы Django мог их обработать. После этого мы настроили Nginx в качестве обратного прокси-сервера для обработки клиентских подключений и предоставления правильного проекта в зависимости от запроса клиента.
На этом установка Django с PostgreSQL, Nginx и Gunicorn на Ubuntu 18.04 окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Linux, а если вы ищете надежный виртуальный сервер под управлением Linux, обратите внимания на нашу услугу — Аренда виртуального сервера на базе Linux.
Заказать сервер на Linux
Установите PostgreSQL 14.7 в вашей системе Ubuntu — Dataquest
В этом руководстве вы узнаете, как установить PostgreSQL 14. 7 в вашей системе Ubuntu. Процесс прост и состоит из следующих шагов:
- Обновите системные пакеты
- Установить PostgreSQL
- Настроить суперпользователя
- Загрузите SQL-файл Northwind PostgreSQL
- Создать новую базу данных
- Импорт SQL-файла Northwind
- Проверка установки базы данных Northwind
- Подключение к базе данных с помощью Jupyter Notebook
Предварительные требования
Чтобы следовать этому руководству, вы должны использовать Ubuntu 20.04 LTS или более позднюю версию.
Шаг 1. Обновление системных пакетов
Сначала необходимо обновить системные пакеты. Откройте приложение «Терминал» («Ctrl + Alt + T») и введите следующую команду:
sudo apt update && sudo apt upgrade -y
При появлении запроса введите пароль администратора. Эта команда обновит списки пакетов для обновлений для пакетов, нуждающихся в обновлении, а также новых пакетов, только что поступивших в репозитории, а затем обновит установленные в данный момент пакеты. -y
будет автоматически отвечать «да» на все запросы, делая процесс неинтерактивным.
Примечание. sudo
— это префикс, который дает вам права суперпользователя для команды, что часто необходимо при внесении общесистемных изменений, таких как установка или обновление программного обеспечения. Будьте осторожны при использовании sudo
, так как он обеспечивает полный контроль над вашей системой, включая возможность сломать ее в случае неправильного использования.
Шаг 2. Установите PostgreSQL
После обновления системных пакетов вы готовы к установке PostgreSQL.
Чтобы установить пакет PostgreSQL, используйте менеджер пакетов apt
:
sudo apt install postgresql-14
Вам может быть предложено подтвердить объем места, который требуется для установки в вашей локальной системе. После завершения установки проверьте состояние службы PostgreSQL:
systemctl status postgresql
Когда вы запустите эту команду, она отобразит такую информацию, как активна или неактивна служба, когда она была запущена, идентификатор процесса, и последние записи журнала. Вы узнаете, что он был успешно установлен, если увидите строку, похожую на Загружено: загружено (/lib/systemd/system/postgresql.service; включено; предустановка поставщика: включена)
указывает, что система успешно прочитала служебный файл PostgreSQL.
После запуска systemctl status postgresql
вы должны снова оказаться в командной строке. Если нет, и вы застряли в представлении файлов журналов, возможно, вы находитесь в программе «меньше» или «больше», которая позволяет вам прокручивать журналы. Обычно вы можете выйти из этого представления и вернуться в командную строку, нажав д
. Если это не сработает, то «Ctrl+C» отправит сигнал прерывания текущему процессу и вернет вас в командную строку.
Шаг 3: Настройка пользователя
postgres
PostgreSQL автоматически создает пользователя (также называемого «роль») с именем postgres
. Чтобы убедиться, что вы сможете без проблем использовать PostgreSQL, давайте создадим пароль для этого пользователя с правами суперпользователя. Вы можете установить пароль для этого пользователя с помощью этой команды:
sudo -u postgres psql -c "ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЬ postgres ПАРОЛЬ 'ваш_пароль';"
Замените your_password
новым паролем и убедитесь, что он заключен в одинарные кавычки. Обратите внимание, что это не пароль вашей локальной учетной записи пользователя. Этот пароль будет использоваться для подключения к вашей базе данных PostgreSQL с правами суперпользователя, поэтому убедитесь, что он надежный и безопасный. Эта команда запустит команду psql
от имени пользователя postgres
и передаст ей команду SQL для изменения postgres
пароль пользователя на your_password
.
В PostgreSQL термины «ПОЛЬЗОВАТЕЛЬ» и «РОЛЬ» практически взаимозаменяемы. Команда ALTER USER
на самом деле является псевдонимом для ALTER ROLE
, поэтому вы видите ALTER ROLE
в качестве подтверждающего сообщения.
Итак, когда вы видите ALTER ROLE
, это просто означает, что изменение пароля прошло успешно и у роли postgres (или у пользователя, говоря обычным языком) новый пароль. Теперь вы можете использовать этот новый пароль для подключения к PostgreSQL в качестве пользователь postgres
.
Шаг 4. Загрузите SQL-файл Northwind PostgreSQL
Прежде всего необходимо загрузить версию базы данных Northwind, совместимую с PostgreSQL. Вы можете найти адаптированную версию на GitHub. Чтобы загрузить файл SQL, выполните следующие два шага:
В терминале создайте новый каталог для базы данных «Борей» и перейдите к нему:
мкдир северный ветер && cd северный ветер
Загрузите SQL-файл Northwind PostgreSQL, используя
wget
:wget
Это загрузит файл
Northwind.sql
в каталогNorthwind
, который вы создали выше.
Шаг 5. Создайте новую базу данных PostgreSQL
Перед импортом файла Northwind SQL необходимо создать новую базу данных PostgreSQL. Выполните следующие три шага:
Подключиться к серверу PostgreSQL как
постгрес
пользователь:sudo -u postgres psql
Эта команда указывает системе выполнить команду
psql
от имени пользователяpostgres
.psql
— это интерактивный терминал для PostgreSQL, и когда он запускается, он изменяет командную строку, чтобы вы знали, что вы взаимодействуете с командной строкой PostgreSQL, а не с системной командной строкой.После того, как вы запустите
sudo -u postgres psql
, приглашение вашего терминала изменится на что-то похожее наpostgres=#
, чтобы указать, что вы подключены к базе данныхpostgres
.Создайте новую базу данных с именем
Northwind
:postgres=# СОЗДАТЬ БАЗУ ДАННЫХ Northwind;
Вы увидите, что «CREATE DATABASE» возвращается, если команда выполнена успешно.
Выход из интерфейса командной строки
psql
:postgres=# \\q
Шаг 6.
Импорт файла SQL «Борей»
С помощью база данных Northwind
создана, вы можете импортировать SQL-файл Northwind, используя psql
. Выполните следующие действия:
- В терминале убедитесь, что вы находитесь в каталоге
Northwind
, куда вы загрузили файлNorthwind.sql
. Выполните следующую команду, чтобы импортировать SQL-файл Northwind в базу данных Northwind:
sudo -u postgres psql -d Northwind -f Northwind.sql
Эта команда подключается к серверу PostgreSQL как
postgres
, выбирает базу данныхNorthwind
и выполняет команды SQL в файлеNorthwind.sql
.
Шаг 7. Проверка установки базы данных «Борей»
Чтобы убедиться, что база данных «Борей» установлена правильно, выполните следующие четыре шага:
Подключиться к базе данных
Northwind
с помощьюpsql
:sudo -u postgres psql -d северный ветер
Список таблиц в базе данных Northwind:
северный ветер=# \\dt
Вы должны увидеть список таблиц Northwind:
категории
,клиенты
,сотрудники
,заказы
и многое другое.Запустите пример запроса, чтобы убедиться, что данные были импортированы правильно. Например, вы можете запросить таблицу
клиентов
:Northwind=# SELECT * FROM customers LIMIT 5;
Это должно вернуть первые пять строк из таблицы клиентов. Аналогично предыдущему, когда вы использовали
systemctl status postgresql
, возможно, вы находитесь в программе «меньше» или «больше», которая позволяет прокручивать результаты запроса. Нажмитеq
, чтобы вернуться к интерфейсу командной строкиpsql
.Выход из интерфейса командной строки
psql
:северный ветер=# \\q
Шаг 8. Подключение к базе данных с помощью Jupyter Notebook
По завершении установки мы представим Jupyter Notebook как один из инструментов, доступных для выполнения запросов SQL и анализа базы данных Northwind. Jupyter Notebook предлагает удобную и интерактивную платформу, которая упрощает визуализацию результатов запросов и обмен ими, но важно отметить, что это необязательный шаг. Вы также можете получить доступ к Postgres другими способами. Тем не менее, мы настоятельно рекомендуем использовать Jupyter Notebook из-за его многочисленных преимуществ и улучшенного пользовательского интерфейса.
Чтобы настроить необходимые инструменты и установить соединение с базой данных Northwind, вот обзор того, что будет делать каждый шаг:
-
!pip install ipython-sql
: Эта команда устанавливает пакетipython-sql
. . Этот пакет позволяет писать SQL-запросы непосредственно в блокноте Jupyter, что упрощает выполнение и визуализацию результатов ваших запросов в среде блокнота. -
%load_ext sql
: Эта волшебная команда загружаетрасширение sql
для IPython. Загрузив это расширение, вы можете использовать волшебные команды SQL, такие как%sql
и%%sql
, для выполнения запросов SQL непосредственно в ячейках Jupyter Notebook. %sql postgresql://[email protected]:5432/northwind
: эта команда устанавливает соединение с базой данных Northwind с помощью системы баз данных PostgreSQL. Строка подключения имеет следующий формат:.
postgresql://[электронная почта защищена]:порт/имя_базы_данных
- В этом случае
имя пользователя
— этоpostgres
,имя хоста
— этоlocalhost
,порт
— это5432
иимя_базы_данных
этосеверный ветер
. Волшебная команда%sql
позволяет выполнять однострочный SQL-запрос в Jupyter Notebook.
- В этом случае
Скопируйте следующий текст в ячейку кода в Jupyter Notebook:
!pip установить ipython-sql
%load_ext sql
%sql postgresql://[электронная почта защищена]:5432/северный ветер
Запустите ячейку одним из следующих способов:
- Нажатие кнопки «Выполнить» в строке меню.
- С помощью сочетания клавиш:
Shift + Enter
илиCtrl + Enter
.
При успешном подключении вы должны увидеть вывод, подобный следующему:
'Подключено: [электронная почта защищена]'
Эти выходные данные подтверждают, что вы теперь подключены к базе данных Northwind и можете продолжить управляемый проект в среде Jupyter Notebook.
После выполнения этих команд вы будете подключены к базе данных Northwind и сможете начать писать SQL-запросы в Jupyter Notebook, используя магические команды %sql
или %%sql
.
Следующие шаги
В зависимости от того, что вы сделали, вот несколько возможных следующих шагов для продолжения обучения:
- Углубите свои знания SQL:
- Попробуйте сформулировать более сложные запросы к базе данных «Борей», чтобы улучшить свои навыки работы с SQL. Это могут быть соединения, подзапросы и агрегации.
- Понять структуру базы данных Northwind: изучить таблицы, их взаимосвязи и структуру данных.
- Эксперимент с управлением базой данных:
- Узнайте, как создавать резервные копии и восстанавливать базы данных в PostgreSQL. Попробуйте создать резервную копию базы данных Northwind.
- Изучите различные способы оптимизации производительности базы данных PostgreSQL, такие как индексация и оптимизация запросов.
- Интеграция с Python:
- Узнайте, как использовать
psycopg2
, популярный адаптер PostgreSQL для Python, для программного взаимодействия с вашей базой данных. - Экспериментируйте с библиотеками ORM (Object-Relational Mapping), такими как
SQLAlchemy
, чтобы управлять своей базой данных с помощью Python.
- Узнайте, как использовать
Как установить PostgreSQL 15 в Ubuntu
Если вы попытаетесь запустить команду sudo apt install postgresql
в Ubuntu, она установит Postgresql версии 14 вместо версии 15. На момент написания репозиторий Ubuntu не включает версию 15.
Следуйте приведенному ниже руководству, чтобы получить подробное руководство по успешной установке PostgreSQL 15.
Пошаговые инструкции по настройке Postgresql 15 в Ubuntu
Следующие шаги были протестированы в Ubuntu 22.04 LTS. Если появятся новые версии Ubuntu, я снова проверю шаги и обновлю этот пост.
1.1 Добавьте репозиторий пакетов Postgresql в Ubuntu
Выполните приведенные ниже команды, чтобы добавить официальный репозиторий пакетов Postgresql в Ubuntu.
# Создать конфигурацию хранилища файлов $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' # Импортируем ключ подписи репозитория $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null # Обновить список доступных пакетов $ sudo подходящее обновление
1.2 Установка сервера и клиента PostgreSQL 15
Выполните приведенную ниже команду, чтобы установить сервер и клиент PostgreSQL 15.
$ sudo apt install postgresql-15 postgresql-client-15 -y
1.3 Проверка установленной версии PostgreSQL
Выполните приведенную ниже команду, чтобы проверить, была ли успешно установлена PostgreSQL и установлена ли версия PostgreSQL 15.
$ psql --version
Вывод
Установлен PostgreSQL версии
1.4 Проверка работы PostgreSQL
Выполните приведенную ниже команду, чтобы проверить состояние PostgreSQL.
$ sudo systemctl status postgresql
Вывод будет выглядеть так, если PostgreSQL запущен.
PostgreSQL запущен (активен)
Если PostgreSQL не запущен, вывод будет таким, как показано ниже.
PostgreSQL не запущен (неактивен)
Если PostgreSQL не запущен, то выполнение приведенной ниже команды запустит его.
$ sudo systemctl начать postgresql
У приведенной выше команды нет вывода, поэтому лучше проверить статус, выполнив команду sudo systemctl status postgresql
.
1.5 Автоматический запуск PostgreSQL после перезагрузки
Чтобы убедиться, что PostgreSQL запускается после перезагрузки или при включении сервера/компьютера Ubuntu, выполните приведенную ниже команду.
$ sudo systemctl enable postgresql
Вывод.
Чтобы проверить, запустится ли PostgreSQL при перезапуске, выполните следующую команду.
$ sudo systemctl is-enabled postgresql
Вывод.
Если вывод включен
, то база данных PostgreSQL запустится при перезагрузке.
Если отключить
, то он не будет запускаться автоматически. Вы должны запустить команду sudo systemctl enable postgresl
для автоматического запуска PostgreSQL при загрузке.
Примечание: По опыту, PostgreSQL уже запущен и запустится при запуске Ubuntu, как только я закончу его установку.
2.1 Изменить пользователя Ubuntu на администратора PostgreSQL
sudo -u postgres psql
2.
2 Обновить пароль пользователя администратора PostgreSQL
ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ postgres С ЗАШИФРОВАННЫМ ПАРОЛЕМ '[adminPassword]';
2.3 Создайте нового пользователя в PostgreSQL
Этот пользователь будет использоваться вашим приложением для доступа к базе данных.
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ [Имя пользователя] С ЗАШИФРОВАННЫМ ПАРОЛЕМ '[Пароль]';
2.4 Создать новую базу данных
CREATE DATABASE [DatabaseName];
2.5 Предоставить пользователю права доступа к базе данных
ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА БАЗУ ДАННЫХ [DatabaseName] КОМУ [Username];
2.5 Подключиться к базе данных
\connect [DatabaseName];
2.6 Создайте схему и разрешите пользователю ее использовать.
СОЗДАТЬ СХЕМУ [ИмяСхемы] АВТОРИЗАЦИЯ [Имя пользователя];
Примечание: До PostgreSQL 15 общедоступная схема
по умолчанию была доступна любому пользователю. Но, начиная с PostgreSQL 15, они запрещают доступ по умолчанию к общедоступная схема
из-за угроз безопасности.
Этот шаг для создания схемы и авторизации пользователя для ее использования необходим, так как мы используем PostgreSQL 15. d [DatbaseName] -h localhost
Вам будет предложено ввести пароль.
Если вы смогли войти в систему без ошибок, вы успешно создали базу данных PostgreSQL и пользователя.
3. Разрешение доступа к PostgreSQL из-за пределов компьютера с Ubuntu
Если вам нужен удаленный доступ к вашему PostgreSQL из-за пределов вашего компьютера с Ubuntu, вам придется выполнить следующие шаги.
По умолчанию PostgreSQL разрешает подключение только с локального хоста.
3.1 Разрешить PostgreSQL прослушивать подключения из любого места
Откройте файл конфигурации PostgreSQL в редакторе.
Ниже я буду использовать vim, но вы можете использовать то, что вам удобно, например, nano или что-то еще.
sudo vi /etc/postgresql/15/main/postgresql.conf
Раскомментируйте строку в разделе «Настройки подключения», в которой указано listen_address
, удалив знак числа ( #
).
Сохраните и выйдите, нажав :wq
затем введите
.
3.2 Разрешить вход в PostgreSQL через удаленное соединение IPv4 из любого места
Откройте файл PostgreSQL Host-Based Authentication (HBA).
sudo vi /etc/postgresql/15/main/pg_hba.conf
Перейти к строке Локальные подключения IPv4 и изменить 127.0.0.1/32
на 0.0.0.0/0
.
Сохраните и выйдите, нажав :wq
затем введите
.
Примечание: Разрешение доступа из любого места (0.0.0.0/0) не рекомендуется с точки зрения безопасности. Если вы хотите ограничить доступ из определенной подсети или диапазона адресов CIDR, укажите диапазон адресов, например 192.168.0.0/24, вместо 0.0.0.0/0.
Я разместил только 0.0.0.0/0, так как это только мой тестовый сервер, и мне лень проверять, какой диапазон IP-адресов принадлежит моей машине с Ubuntu.
3.3 Разрешить порт TCP 5432 в брандмауэре Ubuntu
Если брандмауэр Ubuntu включен, вам нужно будет разрешить порт PostgreSQL 5432 по умолчанию, чтобы разрешить TCP-соединение.