Sql

Postgresql база данных: Создание базы данных PostgreSQL и подключение к ней с помощью Amazon RDS

Создание базы данных PostgreSQL и подключение к ней с помощью Amazon RDS

Демонстрационная база данных

Представляем вам демонстрационную базу данных для СУБД PostgreSQL. В качестве предметной области выбраны авиаперевозки по России.

База данных может использоваться, например,

  • для самостоятельного изучения языка запросов SQL,
  • для подготовки книг, пособий и учебных курсов по языку SQL,
  • для демонстрации возможностей PostgreSQL в статьях и заметках.

При разработке демонстрационной базы данных мы преследовали несколько целей:

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

Демонстрационная база данных распространяется под лицензией PostgreSQL.
Свои замечания и пожелания направляйте нам по адресу [email protected].

 

Последняя версия (15.08.2017)

Файлы

  • demo-small.zip (21 МБ) — данные по полетам за один месяц (размер БД примерно 300 МБ),
  • demo-medium.zip (62 МБ) — данные по полетам за три месяца (размер БД примерно 700 МБ),
  • demo-big.zip (232 МБ) — данные по полетам за год (размер БД примерно 2,5 ГБ).

Описание

  • Установка
  • Диаграмма схемы данных
  • Описание схемы
  • Объекты схемы
  • Использование

Отличия от предыдущей версии

  • Таблица airports заменена на одноименное представление над таблицей airports_data, в которой поля airport_name и city содержат значения как на русском, так и на английском языках. Представление показывает данные на языке, установленном в конфигурационном параметре bookings.lang (по умолчанию — русский).
  • Аналогично таблица aircrafts заменена на одноименное представление над таблицей aircrafts_data. Переведено поле model.
  • Материализованное представление routes заменено на обычное, чтобы не требовалось обновление при изменении параметра bookings.lang.
  • В представлении airports и таблице airports_data поля longitude и latitude заменены на одно поле coordinates типа point.
  • При подключении к демонстрационной базе данных правильное значение параметра search_path устанавливается автоматически.

Версия 13.10.2016

Файлы

  • demo-small-20161013.zip (21 МБ) — данные по полетам за один месяц (размер БД примерно 300 МБ),
  • demo-medium-20161013.zip (62 МБ) — данные по полетам за три месяца (размер БД примерно 700 МБ),
  • demo-big-20161013.zip (232 МБ) — данные по полетам за год (размер БД примерно 2,5 ГБ).

Описание

  • Установка
  • Диаграмма схемы данных
  • Описание схемы
  • Объекты схемы
  • Использование

То же самое одним PDF-файлом.

PostgreSQL: О

Что такое PostgreSQL?

PostgreSQL — это мощная система объектно-реляционных баз данных с открытым исходным кодом, которая использует и расширяет язык SQL в сочетании со многими функциями, позволяющими безопасно хранить и масштабировать самые сложные рабочие нагрузки данных. Истоки PostgreSQL восходят к 1986 году в рамках проекта POSTGRES в Калифорнийском университете в Беркли и уже более 35 лет активно развиваются на основной платформе.

PostgreSQL заработал прочную репутацию благодаря своей проверенной архитектуре, надежности, целостности данных, надежному набору функций, расширяемости и приверженности сообщества открытого исходного кода, стоящего за программным обеспечением, для последовательного предоставления производительных и инновационных решений. PostgreSQL работает во всех основных операционных системах, с 2001 года совместим с ACID и имеет мощные надстройки, такие как популярный расширитель геопространственных баз данных PostGIS. Неудивительно, что PostgreSQL стал предпочтительной реляционной базой данных с открытым исходным кодом для многих людей и организаций.

Начать работу с PostgreSQL еще никогда не было так просто — выберите проект, который хотите создать, и пусть PostgreSQL безопасно и надежно сохранит ваши данные.

Зачем использовать PostgreSQL?

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

PostgreSQL пытается соответствовать стандарту SQL, если такое соответствие не противоречит традиционным функциям или может привести к неправильным архитектурным решениям. Поддерживаются многие функции, требуемые стандартом SQL, хотя иногда с немного отличающимся синтаксисом или функциями. Со временем можно ожидать дальнейших шагов в направлении соответствия. Начиная с версии 15, выпущенной в октябре 2022 года, PostgreSQL соответствует как минимум 170 из 179 обязательных функций для соответствия SQL:2016 Core. На момент написания этой статьи ни одна реляционная база данных не соответствовала этому стандарту в полной мере.

Ниже приведен неполный список различных функций PostgreSQL, которые добавляются в каждом основном выпуске:

  • Типы данных
    • Примитивы: целые, числовые, строковые, логические
    • Структурировано: дата/время, массив, диапазон/несколько диапазонов, UUID
    • Документ: JSON/JSONB, XML, ключ-значение (Hstore)
    • Геометрия: точка, линия, окружность, многоугольник
    • Настройки: Составные, Пользовательские типы
  • Целостность данных
    • УНИКАЛЬНЫЙ, НЕ ПУСТОЙ
    • Первичные ключи
    • Внешние ключи
    • Ограничения исключения
    • Явные блокировки, рекомендательные блокировки
  • Параллелизм, Производительность
    • Индексирование: B-tree, Multicolumn, Expressions, Partial
    • Расширенное индексирование: GiST, SP-Gist, KNN Gist, GIN, BRIN, индексы покрытия, фильтры Блума
    • Сложный планировщик/оптимизатор запросов, сканирование только индекса, многостолбцовая статистика
    • Транзакции, Вложенные транзакции (через точки сохранения)
    • Управление параллельным доступом к нескольким версиям (MVCC)
    • Распараллеливание запросов на чтение и построение индексов B-tree
    • Разделение таблицы
    • Все уровни изоляции транзакций, определенные в стандарте SQL, включая Serializable
    • JIT-компиляция выражений
  • Надежность, аварийное восстановление
    • Ведение журнала упреждающей записи (WAL)
    • Репликация: асинхронная, синхронная, логическая
    • Восстановление на момент времени (PITR), активные резервы
    • Табличные пространства
  • Безопасность
    • Аутентификация: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, сертификат и др.
    • Надежная система контроля доступа
    • Безопасность на уровне столбцов и строк
    • Многофакторная аутентификация с сертификатами и дополнительным методом
  • Расширяемость
    • Сохраненные функции и процедуры
    • Процедурные языки: PL/pgSQL, Perl, Python и Tcl. Есть другие языки, доступные через расширения, например. Java, JavaScript (V8), R, Lua и Rust
    • Выражения пути SQL/JSON
    • Оболочки внешних данных: подключение к другим базам данных или потокам со стандартным интерфейсом SQL
    • Настраиваемый интерфейс хранения для таблиц
    • Многие расширения, обеспечивающие дополнительную функциональность, включая PostGIS
  • Интернационализация, текстовый поиск
    • Поддержка международных наборов символов, например. через сопоставления ICU
    • Сопоставления без учета регистра и диакритических знаков
    • Полнотекстовый поиск

Есть много других функций, которые вы можете найти в документации PostgreSQL. Кроме того, PostgreSQL обладает высокой расширяемостью: многие функции, такие как индексы, имеют определенные API, так что вы можете использовать PostgreSQL для решения своих задач.

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

Есть вопросы?

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

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

Наши пользователи сша

Здесь, в банке CAIXA, мы используем Postgresql в критически важных финансовых средах, потому что, помимо того, что он является стратегическим для нашего бизнеса и Бразилии, он обладает качеством, необходимым для поддержки наших операций.

Кларис Коппетти, вице-президент по ИТ, банк CAIXA, Бразилия

С нашим предыдущим решением нам было трудно поддерживать базы данных размером более 50 ГБ. Теперь, благодаря PostgreSQL, мы легко работаем с базами данных с более чем 400 ГБ данных и сотнями миллионов записей… Это привлекло к нам внимание на нашем рынке и сыграло основную роль в нашем постоянном росте доходов.

Джошуа Марш, Listfusion

Zalando полагается на стабильность и производительность сотен серверов баз данных PostgreSQL для непрерывного обслуживания миллионов клиентов по всей Европе.

Валентин Гогичашвили, Zalando Technologies

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

Марк Балмер, основатель Micro systems

PostgreSQL хорошо подходит для создания и запуска приложений в облаке.

Чарльз Фэн, старший вице-президент по исследованиям и разработкам, VMware

Что такое проект базы данных без статистики?

35+ Years Development

700+ Contributors

54,000+ Commits

55+ Local User Groups

1,600,000+ Lines of C

675+ Events

Millions of Счастливые пользователи

∞ Сохраненные данные

PostgreSQL: Документация: 15: 1.3. Создание базы данных

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

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

Чтобы создать новую базу данных, в этом примере с именем mydb , используйте следующую команду:

 $   createdb mydb  
 

Если ответ не получен, значит, этот шаг выполнен успешно, и вы можете пропустить оставшуюся часть этого раздела.

Если вы видите сообщение, похожее на:

createdb: команда не найдена
 

значит PostgreSQL не был установлен должным образом. Либо он вообще не был установлен, либо путь поиска вашей оболочки не включал его. Попробуйте вместо этого вызвать команду с абсолютным путем:

 $   /usr/local/pgsql/bin/createdb mydb  
 

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

Другой ответ может быть таким:

createdb: ошибка: не удалось подключиться к серверу через сокет "/tmp/.s.PGSQL.5432": нет такого файла или каталога
        Сервер работает локально и принимает соединения через этот сокет?
 

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

Другой ответ может быть таким:

createdb: ошибка: не удалось подключиться к серверу через сокет "/tmp/.s.PGSQL.5432": FATAL: роль "joe" не существует
 

, где указано ваше имя для входа. Это произойдет, если администратор не создал для вас учетную запись пользователя PostgreSQL. (Учетные записи пользователей PostgreSQL отличаются от учетных записей пользователей операционной системы.) Если вы являетесь администратором, см. главу 22, чтобы получить помощь в создании учетных записей. Вам нужно будет стать пользователем операционной системы, под которой был установлен PostgreSQL (обычно postgres ), чтобы создать первую учетную запись пользователя. Также может быть, что вам было назначено имя пользователя PostgreSQL, отличное от имени пользователя вашей операционной системы; в этом случае вам нужно использовать 9Переключатель 0217 -U или установите переменную среды PGUSER , чтобы указать ваше имя пользователя PostgreSQL.

Если у вас есть учетная запись пользователя, но у нее нет прав, необходимых для создания базы данных, вы увидите следующее:

createdb: ошибка: сбой при создании базы данных: ОШИБКА: отказано в разрешении на создание базы данных
 

Не каждый пользователь имеет право создавать новые базы данных. Если PostgreSQL отказывается создавать для вас базы данных, администратор сайта должен предоставить вам разрешение на создание баз данных. Обратитесь к администратору сайта, если это произойдет. Если вы установили PostgreSQL самостоятельно, вам следует войти в систему для целей этого руководства под учетной записью пользователя, под которой вы запустили сервер. [1]

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

 $   createdb  
 

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

 $   dropdb mydb  
 

(Для этой команды имя базы данных по умолчанию не совпадает с именем учетной записи пользователя.

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

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