Postgres, также известный как PostgreSQL, является краеугольным камнем в управлении объектно-реляционными базами данных. Postgres, вложенный в разработку десятилетиями, представляет собой надежную, гибкую базу данных, обеспечивающую высокую производительность.
В этом практическом руководстве рассказывается, как создавать базы данных и таблицы, а также удалять базы данных в Postgres. Кроме того, здесь показано, как выполнить те же задачи с помощью инструмента администрирования базы данных, такого как Adminer.
Начало работы с Postgres
Для начала убедитесь, что в вашей системе установлен Postgres. Если его нет, скачайте необходимый файл и следуйте инструкциям по установке.
Имейте в виду, что показанные здесь команды демонстрируются в macOS, но они будут работать без проблем в любой ОС.
После установки Postgres введите эту команду в свой терминал, чтобы убедиться, что все работает нормально:
postgres -V
Эта команда должна вернуть номер версии вашей установки 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 или имя пользователя вашей ОС, в зависимости от конфигурации вашей системы.
По умолчанию у суперпользователя нет пароля. Однако для дальнейшего администрирования базы данных установите пароль с помощью этой команды:
\password <superuser-name>
Введите свой пароль при появлении запроса и подтвердите его. Теперь вы готовы приступить к созданию баз данных на своем сервере Postgres. Синтаксис создания базы данных: CREATE DATABASE <database-name>
.
Начнем с создания базы данных с именем sales
:
CREATE DATABASE sales;
После успешного создания базы данных появляется следующее:
Теперь создайте еще две базы данных, customers
и employees
с помощью этих команд:
CREATE DATABASE customers;
CREATE DATABASE employees;
Теперь вы установили три базы данных на своем локальном сервере Postgres. Чтобы вывести список всех созданных вами баз данных, используйте эту метакоманду:
\l
Это три базы данных, которые вы создали на данный момент! Вы можете игнорировать другие базы данных в образе, поскольку эти базы данных по умолчанию входят в состав установки 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;
При успешном удалении вы должны увидеть этот экран:
Вы можете подтвердить, что customers
база данных больше не существует, перечислив базы данных на вашем локальном сервере Postgres, используя команду \l
метакоманда.
Обработка операций с базой данных 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, следуйте инструкциям ниже, заполняя поля на этой странице:
- Выбирать PostgreSQL для Система поле.
- Сервер должен быть предварительно заполнен на localhost.
- Для Имя пользователявведите имя суперпользователя (postgres) или имя пользователя операционной системы вашего компьютера.
- Для Парольвведите пароль, установленный для суперпользователя, в разделе «Создание баз данных».
- Оставь База данных поле пустое.
При успешной аутентификации вы увидите список всех баз данных, которые вы создали ранее, как показано ниже. Если вы работаете в Windows, вы можете столкнуться с ошибкой «Ни одно из поддерживаемых расширений PHP (PgSQL, PDO_PgSQL) недоступно». Если это произойдет, отредактируйте php.ini файл и включите эти расширения.
Чтобы создать новую базу данных, нажмите кнопку Создать базу данных гиперссылка:
Назовите свою базу данных customers
и нажмите кнопку Сохранять кнопка.
Затем убедитесь, что вы создали customers
базу данных, нажав кнопку Сервер гиперссылка, указанная ниже:
Вы увидите customers
база данных сейчас. Нажмите кнопку customers
чтобы подключиться к нему.
Как видите, в этой базе данных нет таблиц. Нажмите кнопку Создать таблицу гиперссылка для создания новой таблицы под названием locations
.
Заполните соответствующие столбцы, соответствующие изображению ниже, и нажмите кнопку Сохранять кнопка:
Теперь вы сможете увидеть таблицу в своем customers
база данных:
Нажмите кнопку Сервер гиперссылку еще раз, чтобы увидеть все ваши базы данных. Поставьте галочку против клиенты. Отметьте customers
база данных активирует кнопку сброса ниже. Нажмите уронить удалить базу данных. Вы получите подтверждение об операции удаления базы данных:
Краткое содержание
Теперь вы узнали, как создавать базы данных, создавать таблицы в базе данных и удалять базы данных на локальном сервере Postgres с помощью командной строки. Кроме того, вы узнали, насколько легко можно выполнять эти задачи с помощью инструмента администрирования базы данных, такого как Adminer.
Хотя эти и другие методы управления базами данных и таблицами с использованием командной строки функциональны, пользовательский интерфейс администратора «укажи и щелкни» делает выполнение этих задач еще более простым.
Как разработчик WordPress, DevKinsta предоставляет вам доступ к Adminer и множеству других инструментов, которые помогут вам управлять вашими базами данных. Чтобы легко управлять базами данных Postgres, попробуйте DevKinsta — это бесплатно навсегда!