База данных постгрес: Создание базы данных 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: Документация: 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, отличное от имени пользователя вашей операционной системы; в этом случае вам нужно использовать переключатель -U или установить переменную среды PGUSER , чтобы указать ваше имя пользователя PostgreSQL.

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

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

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

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

 $   созданоb  
 

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

 $   dropdb mydb  
 

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

Подробнее о createdb и dropdb можно найти в createdb и dropdb соответственно.


[1] В качестве объяснения того, почему это работает: Имена пользователей PostgreSQL отделены от учетных записей пользователей операционной системы. Когда вы подключаетесь к базе данных, вы можете выбрать имя пользователя PostgreSQL для подключения; если вы этого не сделаете, по умолчанию оно будет иметь то же имя, что и ваша текущая учетная запись операционной системы. Как это бывает, всегда будет учетная запись пользователя PostgreSQL с тем же именем, что и у пользователя операционной системы, запустившего сервер, и также бывает, что у этого пользователя всегда есть разрешение на создание баз данных. Вместо того, чтобы войти в систему как этот пользователь, вы также можете указать -U параметр везде, чтобы выбрать имя пользователя PostgreSQL для подключения.

Учебник по PostgreSQL — Подробное руководство по PostgreSQL

Добро пожаловать на сайт PostgreSQLTutorial.com! Это руководство PostgreSQL поможет вам быстро понять PostgreSQL. Вы очень быстро освоите PostgreSQL на множестве практических примеров и примените полученные знания при разработке приложений с использованием PostgreSQL.

Если вы…

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

На этом веб-сайте вы найдете все, что вам нужно знать, чтобы быстро и эффективно начать работу с PostgreSQL.

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

Начало работы с PostgreSQL

Этот раздел поможет вам начать работу с PostgreSQL, показывая, как установить PostgreSQL в Windows, Linux и macOS. Вы также узнаете, как подключиться к PostgreSQL с помощью инструмента psql, а также как загрузить образец базы данных в PostgreSQL для практики.

Базовое руководство по PostgreSQL

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

Раздел 1. Запрос данных

  • Выберите – показано, как запрашивать данные из одной таблицы.
  • Псевдонимы столбцов — узнайте, как назначать временные имена столбцам или выражениям в запросе.
  • Упорядочить по — руководство по сортировке набора результатов, возвращаемого запросом.
  • Select Distinct  – предоставить вам предложение, которое удаляет повторяющиеся строки в наборе результатов.

Раздел 2. Фильтрация данных

  • Где – фильтровать строки по заданному условию.
  • Ограничение — получить подмножество строк, сгенерированных запросом.
  • Выборка — ограничение количества строк, возвращаемых запросом.
  • В – выберите данные, соответствующие любому значению в списке значений.
  • Между – выберите данные, представляющие собой диапазон значений.
  • Нравится – фильтрация данных на основе сопоставления с образцом.
  • Is Null — проверить, является ли значение нулевым или нет.

Раздел 3. Объединение нескольких таблиц

  • Соединения — краткий обзор объединений в PostgreSQL.
  • Псевдонимы таблиц — описывает, как использовать псевдонимы таблиц в запросе.
  • Внутреннее соединение — выбор строк из одной таблицы, которым соответствуют строки в других таблицах.
  • Левое соединение — выберите строки из одной таблицы, которые могут иметь или не иметь соответствующие строки в других таблицах.
  • Самосоединение — соединение таблицы с самой собой путем сравнения таблицы с самой собой.
  • Полное внешнее соединение — используйте полное соединение, чтобы найти строку в таблице, которой нет соответствующей строки в другой таблице.
  • Cross Join – производит декартово произведение строк в двух или более таблицах.
  • Естественное соединение — объединение двух или более таблиц с использованием неявных условий соединения на основе общих имен столбцов в соединяемых таблицах.

Раздел 4.

Группировка данных

  • Группировать по – разделить строки на группы и применить к каждой агрегатную функцию.
  • Наличие — применить условия к группам.

Раздел 5. Операции над множествами

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

Раздел 6. Наборы группировки, куб и сводка

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

Раздел 7. Подзапрос

  • Подзапрос – написать запрос, вложенный в другой запрос.
  • ЛЮБОЙ — получение данных путем сравнения значения с набором значений, возвращаемых подзапросом.
  • ВСЕ – запрос данных путем сравнения значения со списком значений, возвращаемых подзапросом.
  • EXISTS — проверка существования строк, возвращаемых подзапросом.

Раздел 8. Общие табличные выражения

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

Раздел 9. Изменение данных

В этом разделе вы узнаете, как вставлять данные в таблицу с помощью оператора INSERT , изменять существующие данные с помощью оператора UPDATE и удалять данные с помощью оператора DELETE . . Кроме того, вы узнаете, как использовать оператор upsert для слияния данных.

  • Вставка — подскажет, как вставить одну строку в таблицу.
  • Вставить несколько строк — показать вам, как вставить несколько строк в таблицу.
  • Обновить — обновить существующие данные в таблице.
  • Обновить объединение — обновить значения в таблице на основе значений в другой таблице.
  • Удалить – удалить данные в таблице.
  • Upsert — вставка или обновление данных, если новая строка уже существует в таблице.

Раздел 10. Сделки

  • Транзакции PostgreSQL — покажет вам, как обрабатывать транзакции в PostgreSQL с помощью операторов BEGIN, COMMIT и ROLLBACK.

Раздел 11. Импорт и экспорт данных

Вы узнаете, как импортировать и экспортировать данные PostgreSQL из файла формата CSV и в него с помощью команды копирования.

  • Импорт файла CSV в таблицу — покажет вам, как импортировать файл CSV в таблицу.
  • Экспорт таблицы PostgreSQL в файл CSV — покажет вам, как экспортировать таблицы в файл CSV.

Раздел 12. Управление таблицами

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

  • Типы данных — охватывают наиболее часто используемые типы данных PostgreSQL.
  • Создать таблицу — руководство по созданию новой таблицы в базе данных.
  • Выберите «В» и «Создать таблицу как» — показано, как создать новую таблицу из набора результатов запроса.
  • Автоинкрементный столбец с SERIAL — использует SERIAL для добавления автоинкрементного столбца в таблицу.
  • Последовательности — познакомить вас с последовательностями и описать, как использовать последовательность для создания последовательности чисел.
  • Столбец идентификаторов — показывает, как использовать столбец идентификаторов.
  • Изменить таблицу – изменить структуру существующей таблицы.
  • Переименовать таблицу – изменить имя таблицы на новое.
  • Добавить столбец – показать, как добавить один или несколько столбцов в существующую таблицу.
  • Удаление столбца — продемонстрируйте, как удалить столбец таблицы.
  • Изменить тип данных столбца — показать вам, как изменить данные столбца.
  • Переименовать столбец — показано, как переименовать один или несколько столбцов таблицы.
  • Удалить таблицу — удалить существующую таблицу и все зависимые от нее объекты.
  • Усечение таблицы — быстрое и эффективное удаление всех данных в большой таблице.
  • Временная таблица — показать вам, как использовать временную таблицу.
  • Копировать таблицу — показать вам, как скопировать таблицу в новую.

Раздел 13. Понимание ограничений PostgreSQL

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

  • CHECK — добавить логику для проверки значения на основе логического выражения.
  • Ограничение UNIQUE

  • — убедитесь, что значения в столбце или группе столбцов уникальны в таблице.
  • Ограничение NOT NULL — убедитесь, что значения в столбце не равны NULL .

Раздел 14. Подробное описание типов данных PostgreSQL

  • Boolean — храните значения TRUE и FALSE с типом данных Boolean.
  • CHAR, VARCHAR и TEXT – узнайте, как использовать различные типы символов, включая CHAR , VARCHAR и TEXT .
  • NUMERIC – покажет вам, как использовать тип NUMERIC для хранения значений, требующих точности.
  • Integer — познакомит вас с различными целочисленными типами в PostgreSQL, включая SMALLINT , INT и BIGINT .
  • ДАТА                              ДАТА для хранения значений даты.
  • Отметка времени – быстрое понимание типов данных меток времени.
  • Интервал — показывает, как использовать интервальный тип данных для эффективной обработки периода времени.
  • TIME — используйте тип данных TIME для управления значениями времени суток.
  • UUID — расскажет, как использовать тип данных UUID и как генерировать значения UUID с помощью поставляемых модулей.
  • Массив — показывает, как работать с массивом, и знакомит с некоторыми удобными функциями для работы с массивом.
  • hstore — познакомьте вас с типом данных, который представляет собой набор пар ключ/значение, хранящихся в одном значении в PostgreSQL.
  • JSON — иллюстрирует, как работать с типом данных JSON, и показывает, как использовать некоторые из наиболее важных операторов и функций JSON.
  • Пользовательские типы данных — показано, как использовать операторы CREATE DOMAIN и CREATE TYPE для создания пользовательских типов данных.

Раздел 15. Условные выражения и операторы.

  • COALESCE  – вернуть первый ненулевой аргумент. Вы можете использовать его для замены NULL значением по умолчанию.
  • NULLIF — вернуть NULL , если первый аргумент равен второму.
  • CAST  – преобразование из одного типа данных в другой, например, из строки в целое число, из строки в дату.
  • Раздел 16. Утилиты PostgreSQL

    • Команды psql — показывают наиболее распространенные команды psql, которые помогают быстрее и эффективнее взаимодействовать с psql.

    Раздел 17. Рецепты PostgreSQL

    • Как сравнить две таблицы — опишите, как сравнивать данные в двух таблицах в базе данных.
    • Как удалить повторяющиеся строки в PostgreSQL — показать вам различные способы удаления повторяющихся строк из таблицы.
    • Как сгенерировать случайное число в диапазоне – проиллюстрируйте, как сгенерировать случайное число в определенном диапазоне. Оператор
    • EXPLAIN — руководство по использованию оператора EXPLAIN для возврата плана выполнения запроса.
    • PostgreSQL и MySQL — сравните PostgreSQL и MySQL с точки зрения функциональных возможностей.

    Расширенное руководство по PostgreSQL

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

    PostgreSQL PL/pgSQL

    В этом разделе хранимых процедур PostgreSQL показано, как шаг за шагом разрабатывать пользовательские функции PostgreSQL с использованием процедурного языка PL/pgSQL.

    Триггеры PostgreSQL

    В этом разделе представлена ​​концепция триггеров PostgreSQL и показано, как управлять триггерами в PostgreSQL.

    Представления PostgreSQL

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

    Индексы PostgreSQL

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

    This entry was posted in Популярное