Как создать таблицу в pgAdmin 4 и посмотреть данные

В pgAdmin 4 таблицу можно создать через графический интерфейс: выбрать схему, добавить колонки, указать primary key и сохранить объект. Но даже если вы делаете это через GUI, полезно видеть SQL-эквивалент. Так проще понимать, что именно попадает в PostgreSQL.

PostgreSQL база знаний: перейти в рубрику с уроками на русском языке

Где находится Create Table

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

Servers
└── Local PostgreSQL
    └── Databases
        └── shop
            └── Schemas
                └── public
                    └── Tables
  1. Откройте Schemas -> public.
  2. Нажмите правой кнопкой на Tables.
  3. Выберите Create -> Table.
  4. На вкладке General задайте имя таблицы, например users.
  5. На вкладке Columns добавьте колонки.

Основные поля при создании таблицы

Name — имя таблицы. Используйте короткие понятные имена латиницей: users, orders, products. Owner — владелец таблицы. Для учебной базы это может быть postgres, но в рабочем проекте лучше использовать отдельную роль приложения. Schema — схема, где будет создана таблица, чаще всего public.

Главная вкладка — Columns. Здесь задаются колонки, типы данных, обязательность значения и значения по умолчанию. Вкладка Constraints нужна для ключей и ограничений.

Как добавить колонки

Создадим учебную таблицу users с тремя колонками: идентификатор, email и дата создания.

КолонкаТипЗачем нужна
idSERIAL или INTEGER с sequenceуникальный идентификатор строки
emailTEXTпочта пользователя
created_atTIMESTAMPвремя создания записи

В интерфейсе pgAdmin добавляйте колонки по одной. Для email включите Not NULL, если запись без email не имеет смысла. Для created_at задайте значение по умолчанию now().

Primary key и уникальность

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

Для email часто добавляют уникальность, чтобы два пользователя не получили одинаковый адрес. Это можно сделать через вкладку Constraints или SQL-команду.

SQL-эквивалент таблицы

То, что вы создаете через GUI, в PostgreSQL превращается в SQL-команды. Для нашей таблицы эквивалент такой:

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email TEXT UNIQUE NOT NULL,
  created_at TIMESTAMP DEFAULT now()
);

После сохранения таблицы можно обновить дерево объектов через Refresh и раскрыть Tables. Таблица users должна появиться в списке.

Как добавить и посмотреть данные

Через Query Tool вставьте тестовую строку:

INSERT INTO users (email)
VALUES ('demo@example.com');

Посмотреть данные можно двумя способами. Через интерфейс: правый клик по таблице users -> View/Edit Data -> All Rows. Через SQL:

SELECT id, email, created_at
FROM users
ORDER BY id;

View/Edit Data удобен для быстрой проверки маленькой таблицы. Для фильтрации, сортировки и повторяемых действий лучше писать SQL-запрос.

Как открыть таблицу в PostgreSQL через pgAdmin

  1. Раскройте базу данных.
  2. Откройте Schemas -> public -> Tables.
  3. Найдите таблицу users.
  4. Правый клик -> View/Edit Data.
  5. Выберите All Rows или Filtered Rows.

Для больших таблиц не открывайте All Rows без необходимости. Лучше использовать Filtered Rows или Query Tool с LIMIT, чтобы не загружать слишком много данных в интерфейс.

SELECT *
FROM users
ORDER BY id DESC
LIMIT 50;

Частые ошибки

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

Колонка выглядит заблокированной. Некоторые поля в pgAdmin становятся недоступны после сохранения объекта. Для изменения уже созданной таблицы используйте Properties или SQL-команду ALTER TABLE.

Нет прав на schema. Если пользователь не владелец схемы и ему не выдали CREATE, создать таблицу не получится. Права настраиваются через GRANT.

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

Какие типы данных выбрать для первой таблицы

В beginner-примере лучше не пытаться сразу использовать все типы PostgreSQL. Достаточно понять несколько базовых: INTEGER для числовых идентификаторов, TEXT для строк, NUMERIC для денег и точных чисел, TIMESTAMP для даты и времени, BOOLEAN для признаков.

ЗадачаТипПример
ИдентификаторSERIAL или identity-колонкаid
Текст без фиксированной длиныTEXTemail
Деньги или суммаNUMERIC(10, 2)total
Дата и времяTIMESTAMPcreated_at
Да или нетBOOLEANis_active

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

Как создать связанную таблицу

После таблицы users можно создать таблицу orders, где каждый заказ связан с пользователем. В интерфейсе pgAdmin это делается через Constraints, а в SQL — через внешний ключ.

CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  user_id INTEGER NOT NULL REFERENCES users(id),
  total NUMERIC(10, 2) NOT NULL,
  created_at TIMESTAMP DEFAULT now()
);

Внешний ключ REFERENCES users(id) означает, что заказ нельзя привязать к несуществующему пользователю. Это правило защищает данные лучше, чем договоренность «не ошибаться при вставке».

INSERT INTO orders (user_id, total)
VALUES (1, 1490.00);

SELECT u.email, o.total, o.created_at
FROM orders o
JOIN users u ON u.id = o.user_id;

Как редактировать строки безопасно

View/Edit Data позволяет менять данные прямо в таблице. Это удобно на учебной базе, но на рабочей базе нужно быть осторожнее. Перед массовыми изменениями лучше писать явный SQL-запрос, проверять условие WHERE и понимать, сколько строк будет затронуто.

-- Сначала проверить, какие строки будут изменены:
SELECT *
FROM users
WHERE email = 'demo@example.com';

-- Потом выполнить UPDATE:
UPDATE users
SET email = 'new-demo@example.com'
WHERE email = 'demo@example.com';

Главное правило: если вы не готовы объяснить условие WHERE, не запускайте UPDATE или DELETE. В интерфейсе это правило тоже работает.

Мини-чек-лист готовой таблицы

  • У таблицы есть понятное имя.
  • Есть primary key.
  • Обязательные поля отмечены как NOT NULL.
  • Уникальные значения защищены UNIQUE-ограничением.
  • Связи между таблицами оформлены FOREIGN KEY.
  • Дата создания заполняется автоматически, если она нужна.
  • После создания выполнен тестовый INSERT и SELECT.

Как изменить таблицу после создания

После сохранения таблицы часть параметров удобнее менять через SQL. Например, добавить колонку, переименовать колонку или добавить ограничение. В pgAdmin это тоже можно делать через Properties, но SQL-команда точнее фиксирует изменение и ее легче повторить на другой базе.

ALTER TABLE users
ADD COLUMN is_active BOOLEAN DEFAULT true;

ALTER TABLE users
RENAME COLUMN email TO email_address;

ALTER TABLE users
ADD CONSTRAINT users_email_address_not_empty
CHECK (length(email_address) > 3);

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

Когда лучше не редактировать через GUI

GUI хорош для обучения и точечных правок. Но если нужно изменить много строк, добавить несколько таблиц или повторить структуру на другом окружении, пишите SQL. Команда в Query Tool остается в истории, ее можно проверить, сохранить и повторить. Ручные клики сложнее воспроизвести.

Что читать дальше

Связанные материалы из базы:

CREATE TABLE в PostgreSQL — типы данных, ограничения и автоинкремент.

pgAdmin 4 — подключение к серверу и создание базы.

Foreign Key в PostgreSQL — связи между таблицами.

psql команды — быстрые команды для проверки таблиц.

Часто задаваемые вопросы

Можно ли создать таблицу только через интерфейс, без SQL?

Да, но SQL все равно полезно понимать. GUI помогает не ошибиться в окнах, а SQL показывает точную структуру, которую получит база данных.

Что выбрать для id: SERIAL или GENERATED?

Для простого учебного примера SERIAL понятен и короток. В новых проектах часто используют стандартный синтаксис identity-колонок, но beginner-материалу важно сначала объяснить идею первичного ключа и автоматической нумерации.

Почему таблица не появилась после сохранения?

Обновите дерево объектов через Refresh и проверьте, в той ли схеме вы смотрите список таблиц. Если при сохранении была ошибка, таблица не создастся.

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x