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

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

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

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

Имейте в виду, что показанные здесь команды демонстрируются в macOS, но они будут работать без проблем в любой ОС.

После установки Postgres введите эту команду в свой терминал, чтобы убедиться, что все работает нормально:

postgres -V

Эта команда должна вернуть номер версии вашей установки Postgres:

Номер версии Postgres.

Как подключиться к серверу базы данных PostgreSQL

Итак, вы установили Postgres в свою систему и готовы создавать базы данных. Но как получить доступ к вашей базе данных? Именно здесь на помощь приходит интерактивный терминал Postgres, обычно называемый psql. Psql — это клиентский интерфейс Postgres на основе терминала, который позволяет отправлять запросы к Postgres и затем просматривать результаты запросов.

Во время установки Postgres создает в вашей операционной системе (ОС) суперпользователя по умолчанию, который имеет полный доступ к базе данных. Вы можете войти в терминал psql как суперпользователь по умолчанию, используя эту команду:

psql postgres

После запуска этой команды вы должны увидеть, что ваш терминал изменился на postgres=#указывая, что вы вошли в систему как суперпользователь по умолчанию.

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

Чтобы использовать метакоманду в psql, начните с обратной косой черты (\), за которым следует команда. Вот несколько примеров:

  • \c <database-name> — Подключает вас к определенной базе данных.
  • \l — Перечисляет все базы данных на сервере.
  • \dt — Отображает все таблицы в базе данных.

Как создать базы данных Postgres

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

Во-первых, выполните следующую метакоманду, чтобы получить список всех пользователей на вашем сервере Postgres:

\du

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

Пользователи на локальном сервере Postgres
Пользователи на локальном сервере Postgres.

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

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

\password <superuser-name>

Введите свой пароль при появлении запроса и подтвердите его. Теперь вы готовы приступить к созданию баз данных на своем сервере Postgres. Синтаксис создания базы данных: CREATE DATABASE <database-name>.

Начнем с создания базы данных с именем sales:

CREATE DATABASE sales;

После успешного создания базы данных появляется следующее:

Создание базы данных Postgres
Создание базы данных Postgres.

Теперь создайте еще две базы данных, customers и employeesс помощью этих команд:

CREATE DATABASE customers;
CREATE DATABASE employees;

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

\l
Базы данных на локальном сервере Postgres
Базы данных на локальном сервере Postgres.

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

Теперь вы можете подключиться к определенной базе данных. Метакоманда для подключения к любой базе данных: \c <database-name>.

Запустите следующую команду, чтобы подключиться к sales база данных:

\c sales

В вашем терминале должно появиться следующее сообщение:

Подключение к базе данных
Подключение к базе данных.

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

\c customers

Создание таблиц

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

CREATE TABLE <table-name> (
<column1-name> <column1-datatype> <column1-constraint>,
<column2-name> <column2-datatype> <column2-constraint>,
<column3-name> <column3-datatype> <column3-constraint>,
…
…
<columnN-name> <columnN-datatype> <columnN-constraint>
);

Начните с подключения к sales база данных.

\c sales

Далее создаем таблицу products с тремя столбцами, которые не могут быть нулевыми: product_id, product_nameи quantity_sold:

CREATE TABLE products(
   Product_id			INT     NOT NULL,
   Product_name		TEXT    NOT NULL,
   Quantity_sold		   INT     NOT NULL
);

Если операция прошла успешно, вы должны увидеть следующий вывод:

Создание таблиц в базе данных
Создание таблиц в базе данных.

Затем используйте метакоманду ниже, чтобы убедиться, что вы успешно создали products стол:

\dt

Эта команда выводит список всех таблиц в вашей базе данных — в данном случае одну таблицу. Поскольку вы подключены к sales базы данных, вы должны увидеть следующий вывод:

Таблицы в базе продаж
Таблицы в базе данных продаж.

Далее создайте две таблицы в employees база данных. В первой таблице будут указаны зарплаты, а во второй — адреса. Чтобы создать эти таблицы, выполните следующие команды:

\c employees

CREATE TABLE salary(
   Employee_id		INT     NOT NULL,
   Employee_name		TEXT    NOT NULL,
   Employee_salary		INT     NOT NULL
);

CREATE TABLE address(
   Employee_id		INT     NOT NULL,
   Employee_country		TEXT    NOT NULL,
   Employee_zipcode		INT     NOT NULL
);

Наконец, подтвердите, что вы создали эти таблицы, запустив команду \dt метакоманда. Это результат, который вы должны увидеть:

Таблицы в базе данных сотрудников
Таблицы в базе данных сотрудников.

Как удалить базы данных Postgres

Удалить базу данных так же просто, как и создать ее. Синтаксис удаления базы данных: DROP DATABASE <database-name>;.

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

DROP DATABASE customers;

При успешном удалении вы должны увидеть этот экран:

Удаление базы данных Postgres
Удаление базы данных Postgres.

Вы можете подтвердить, что customers база данных больше не существует, перечислив базы данных на вашем локальном сервере Postgres, используя команду \l метакоманда.

Листинг баз данных на локальном сервере Postgres
Листинг баз данных на локальном сервере Postgres.

Обработка операций с базой данных Postgres с помощью администратора

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

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

Вам также потребуется загрузить PHP-файл Adminer, чтобы управлять базой данных с помощью Adminer. Откройте терминал один раз, чтобы запустить встроенный веб-сервер, на котором выполняются файлы PHP, и перейдите к месту, где вы разместили файл. Администратор PHP файл:

cd path/to/Adminer php file 

Затем запустите веб-сервер с помощью следующей команды:

php -S 127.0.0.1:8000

Все готово для использования пользовательского интерфейса администратора в веб-браузере. Введите следующий адрес в веб-браузере: http://localhost:8000/<ваш-админер-php-file.php>

Вы должны увидеть пользовательский интерфейс администратора (UI) в своем веб-браузере:

Пользовательский интерфейс домашней страницы администратора
Пользовательский интерфейс домашней страницы администратора.

Чтобы войти в свой локальный сервер Postgres, следуйте инструкциям ниже, заполняя поля на этой странице:

  1. Выбирать PostgreSQL для Система поле.
  2. Сервер должен быть предварительно заполнен на localhost.
  3. Для Имя пользователявведите имя суперпользователя (postgres) или имя пользователя операционной системы вашего компьютера.
  4. Для Парольвведите пароль, установленный для суперпользователя, в разделе «Создание баз данных».
  5. Оставь База данных поле пустое.

При успешной аутентификации вы увидите список всех баз данных, которые вы создали ранее, как показано ниже. Если вы работаете в Windows, вы можете столкнуться с ошибкой «Ни одно из поддерживаемых расширений PHP (PgSQL, PDO_PgSQL) недоступно». Если это произойдет, отредактируйте php.ini файл и включите эти расширения.

Просмотр баз данных Postgres в администраторе
Просмотр баз данных Postgres в администраторе.

Чтобы создать новую базу данных, нажмите кнопку Создать базу данных гиперссылка:

Создание новой базы данных с помощью администратора
Создание новой базы данных с помощью администратора.

Назовите свою базу данных customers и нажмите кнопку Сохранять кнопка.

Затем убедитесь, что вы создали customers базу данных, нажав кнопку Сервер гиперссылка, указанная ниже:

Переход к локальному серверу Postgres
Переход к локальному серверу Postgres.

Вы увидите customers база данных сейчас. Нажмите кнопку customers чтобы подключиться к нему.

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

Создание таблицы в базе данных с помощью Adminer
Создание таблицы в базе данных с помощью Adminer.

Заполните соответствующие столбцы, соответствующие изображению ниже, и нажмите кнопку Сохранять кнопка:

Последний шаг к созданию таблицы в базе данных
Последний шаг к созданию таблицы в базе данных.

Теперь вы сможете увидеть таблицу в своем customers база данных:

Подтверждающее сообщение для создания таблицы
Подтверждающее сообщение для создания таблицы.

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

Подтверждающее сообщение об удалении базы данных
Подтверждающее сообщение об удалении базы данных.

Краткое содержание

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

Хотя эти и другие методы управления базами данных и таблицами с использованием командной строки функциональны, пользовательский интерфейс администратора «укажи и щелкни» делает выполнение этих задач еще более простым.

Как разработчик WordPress, DevKinsta предоставляет вам доступ к Adminer и множеству других инструментов, которые помогут вам управлять вашими базами данных. Чтобы легко управлять базами данных Postgres, попробуйте DevKinsta — это бесплатно навсегда!