Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция "Изменить данные" в расширении PostgreSQL открывает таблицу из обозреватель объектов в редактируемую сетку. Вы можете изменять значения на месте, добавлять или удалять строки, просматривать все изменения, ожидающие сохранения, в виде SQL, а затем сохранять изменения в базу данных. Edit Data работает одинаково в Visual Studio Code и Cursor.
Когда следует использовать изменение данных
Используйте изменение данных при необходимости:
- исправьте или обновите небольшое количество строк без рукописного написания
UPDATEилиINSERTинструкций, - проверьте таблицу и внесите быстрые изменения с учетом типов с помощью правильного редактора для каждого столбца или
- Просмотрите SQL, который создаёт набор правок, перед его фиксацией.
Tip
Изменение данных лучше всего подходит для небольших, целевых изменений строк. Для массовых изменений, сложных фильтров или обновлений скриптов вместо этого создайте SQL в редакторе запросов. Используйте обозреватель объектов для скрипта или открытия запроса для таблицы.
Необходимые условия
Перед изменением данных таблицы убедитесь, что у вас есть:
- активное подключение к целевой базе данных PostgreSQL и
- таблица с первичным ключом. Изменение данных требует наличия первичного ключа, чтобы идентифицировать каждую строку, поэтому таблица без первичного ключа открывается только для чтения. Вы можете просматривать свои строки, но не изменять их.
Открытие редактора
- В дереве "Подключения" разверните базу данных, а затем ее схему (например, общедоступную), а затем папку "Таблицы ". Если вы отключите группировку по схеме, вместо этого папка Таблицы будет отображаться непосредственно в базе данных.
- Щелкните правой кнопкой мыши таблицу, которую нужно изменить.
- Выберите "Изменить данные".
Расширение открывает веб-представление с заголовком <schema>.<table> - Edit Data (например, public.models - Edit Data) и загружает строки таблицы в сетку. Количество загрузок строк ограничивается параметром ограничения строки.
Редактирование ячейки
В сетке отображаются строки таблицы с маркером состояния для каждой строки, чтобы можно было определить чистые строки из измененных, добавленных или помеченных для удаления. В каждом столбце используется редактор, учитывающий тип данных, поэтому для данных вам предоставляется подходящий элемент управления:
- Текстовые и числовые столбцы можно редактировать как в электронной таблице. Начните вводить текст, чтобы заменить значение, или нажмите клавишу ВВОД или F2 , чтобы изменить его.
- Логические столбцы показывают переключатель true/false/NULL. Используйте клавиши со стрелками для перемещения между опциями и клавишу Enter для подтверждения.
- Столбцы типа Enum открывают раскрывающийся список допустимых значений этого типа при нажатии Enter или F2.
- Столбцы даты и времени используют собственный средство выбора даты и времени или обычный текст в зависимости от параметра редактора даты и времени.
- NULL и столбцы, допускающие значение NULL, обрабатываются явным образом, поэтому можно задать или очистить значение без двусмысленности.
Когда вы изменяете ячейку, маркер состояния строки переключается в состояние с несохранёнными изменениями, и появляется панель Сохранить и Отменить изменения.
Для длинных текстовых или JSON-значений откройте развернутый редактор, чтобы получить емую область редактирования с учетом языка вместо одной сжатой ячейки. Откройте редактор ячейки, выберите элемент управления "Развернуть", чтобы открыть значение в редакторе большей ячейки, внесите изменения и нажмите кнопку "Применить".
Добавление или удаление строк
Используйте панель инструментов, чтобы изменить строки таблицы:
- Добавление строки создает новую, несохраняемую строку, предварительно заполненную любыми значениями по умолчанию на стороне сервера, и перемещает вас в первую редактируемую ячейку.
- Удаление помечает выбранную существующую строку для удаления. Строка остается видимой с пометкой об удалении, пока вы не сохраните изменения. Удаление несохраняемой новой строки немедленно удаляет ее.
- Отменить изменения в строке отменяет все незавершённые изменения для выбранной строки. Редактируемая строка возвращается к последним сохраненным значениям, а несохраненные новые строки удаляются.
Каждое действие учитывает разрешения таблицы. Если вы не можете вставлять или удалять строки в таблице или таблица доступна только для чтения, соответствующие действия остаются отключенными.
Просмотр и сохранение изменений
Пока у вас есть ожидающие изменения, панель изменений остается видимой с сводкой о ожидающихся изменениях и предварительных изменениях, сохранении и отмене действий. Обновление отключено, пока не будет ожидающих изменений, поэтому перезагрузка никогда не удаляет изменения автоматически.
Выберите Предварительный просмотр изменений, чтобы открыть панель проверки, в которой перечислены ожидающие применения операторы INSERT, UPDATE и DELETE, сгруппированные по операциям. Если подключение может отображать значения, на панели отображается точный SQL. В противном случае отображаются параметризованные инструкции, а связанные значения перечисляются отдельно. Сохранение выполняет инструкции в одной транзакции. На панели можно:
- Скопировать SQL, чтобы поместить ожидающие выполнения инструкции в буфер обмена или
- Открыть в Редактор запросов, чтобы открыть тот же SQL-запрос в редакторе запросов, уже подключённом к серверу и базе данных таблицы, чтобы вы могли изменить или выполнить его самостоятельно.
Когда изменения выглядят правильно, нажмите кнопку "Сохранить ", чтобы зафиксировать все ожидающие изменения в базе данных или отменить их. Оба действия доступны, только если есть несохранённые изменения и таблица доступна для записи.
Настройки
Изменение данных имеет три параметра. Задайте их в параметрах пользователя или рабочей области— найдите pgsql.editData или измените их непосредственно в settings.json.
| Setting | Default | Описание |
|---|---|---|
pgsql.editData.rowLimit |
200 |
Максимальное количество строк для загрузки при редактировании данных таблицы. |
pgsql.editData.dateTimeEditor |
native |
Определяет, использует ли Edit Data стандартные поля ввода даты и времени (native) или обычные текстовые поля (text) для ячеек даты и времени. Даже с native метки времени с учетом часового пояса по-прежнему используют обычный текст. |
pgsql.editData.tabPastLastCell |
addRow |
Управляет тем, что происходит при переадресации после последней редактируемой ячейки: addRow создает новую строку и открывает свою первую ячейку и stop фиксирует ячейку и останавливается в конце сетки. |
Разрешения и требования
- Первичный ключ. Для редактирования требуется первичный ключ для уникальной идентификации строк. Таблица без него открывается только для чтения. При изменении значения в столбце первичного ключа изменение данных запрашивает подтверждение перед сохранением.
- Разрешения столбцов и таблиц. «Редактирование данных» учитывает права доступа. Столбцы только для чтения не могут быть изменены, а действия "Добавить строку", "Удалить" и "Сохранить " остаются отключенными, если ваша роль не может выполнять их в таблице.