-
В данной главе приведена сводная информация по всем основным командам SQL, поддерживаемым в PostgreSQL. В этот справочник включены как стандартные команды SQL (например, INSERT и SELECT), так и специфические команды PostgreSQL (такие, как CREATE OPERATOR и CREATE TYPE).
-
Модификация структуры группы пользователей. | Синтаксис: | ALTER GROUP имя ADD USER | пользователь [….] ALTER GROUP имя DROP USER | пользователь [….] | Параметры: | имя. Имя группы, в которую вносятся изменения. | пользователь. Имена пользователей, включаемых в группу или удаляемых из нее.
-
Модификация таблиц и атрибутов полей.
-
Модификация атрибутов и прав пользователя. | Синтаксис: | ALTER USER пользователь | [ WITH PASSWORD 'пароль' ] | [ CREATEDB I NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ] | [ VALID UNTIL 'время' ] | Параметры: | пользователь. Имя пользователя PostgreSQL, данные которого изменяются командой ALTER USER. | пароль.
-
Начало отложенного транзакционного блока. | Синтаксис: | BEGIN [ WORK | TRANSACTION ] | Параметры: | Необязательные ключевые слова, делающие команду SQL более наглядной. | Результаты: | BEGIN. Сообщение выдается в начале транзакции. | NOTICE: BEGIN: already transaction in progress.
-
Закрытие объекта курсора. | Синтаксис: | CLOSE курсор | Параметры: | Имя открытого курсора. | Результаты: | CLOSE. Сообщение выдается при успешном закрытии курсора. | NOTICE: PerformPortalClose: portal "курсор" not found. Сообщение выдается в том случае, если заданный курсор не был объявлен или открыт.
-
Кластеризация таблицы по заданному индексу. | Синтаксис: | CLUSTER индекс ON таблица | Параметры: | индекс. Имя индекса, используемого при кластеризации. | таблица. Имя таблицы, для которой производится кластеризация. | Результаты: | CLUSTER. Сообщение выдается при успешной кластеризации таблицы.
-
Определение комментария для объекта базы данных. | Синтаксис: | COMMENT ON | [ | [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ] объект | COLUMN таблица.поле| | FUNCTION функция (аргумент [….]) | | AGGREGATE агрвгатная_функция агрегатный_тип | | OPERATOR оператор (левый_тип, правый_тип) | | TRIGGER триггер ON таблица | ] IS 'текст' | Параметры: | DATABASE INDEX | RULE | SEQUENCE | TABLE | TYPE VIEW.
-
Завершение транзакционного блока и фиксация изменений в базе данных. | Синтаксис: | COMMIT [ WORK | TRANSACTION ] | Параметры: | Необязательные ключевые слова, делающие команду SQL более наглядной. | Результаты: | COMMIT. Сообщение выдается при успешной фиксации изменений в базе данных.
-
Копирование данных между файлами и таблицами. | Синтаксис: | COPY [ BINARY ] таблица [ WITH OIDS ] | FROM { 'файл' | stdin } | [ [ USING ] DELIMITERS 'разделитель' ] | [ WITH NULL AS ' строка _null' ] COPY [BINARY ] table [ WITH OIDS ] | TO { 'файл' | stdout } | [ [ USING ] DELIMITERS 'разделитель' ] | [ WITH NULL AS 'строка_null' ] | Параметры: | BINARY.
-
Определение новой агрегатной функции в базе данных. | Синтаксис: | CREATE AGGREGATE имя (BASETYPE = входной_тип | [, SFUNC = функция. STYPE = переходный_тип ] | [, FINALFUNC = завершающая_функция ] | [, INITCOND = начальное_состояние ]) | Параметры: | имя. Имя создаваемой агрегатной функции. | входной_тип.
-
Создание новой базы данных в PostgreSQL. | Синтаксис: | CREATE DATABASE база_данных | [ WITH [ LOCATION = { 'каталог' | DEFAULT } ] | [ TEMPLATE = шаблон DEFAULT ] | [ ENCODING = имя_нодировки | номер_кодировки | DEFAULT ] ] | Параметры: | база_данных. Имя создаваемой базы данных. | каталог.
-
Определение новой функции в базе данных. | Синтаксис: | CREATE FUNCTION имя ([ тип_аргумента [….] ]) | RETURNS тип_возвращаемого_значения | AS 'определение' | LANGUAGE 'язык' | [ WITH (атрибут [….]) ] | CREATE FUNCTION имя ([ тип_аргумента [….] ]) | RETURNS тип_возвращаемого_значения | AS 'объектный_файл' [, 'имя_в_объектном_файле' ] | LANGUAGE 'язык' | [ WITH (атрибут […;]) ] | Параметры: | имя.
-
Создание новой группы PostgreSQL в базе данных. | Синтаксис: | CREATE GROUP группа | [ WITH [ SYSID идентификатор_группы ] | [ USER пользователь [….]]] | Параметры: | группа. Имя создаваемой группы. | идентификатор_группы. Системный идентификатор, присваиваемый новой группе.
-
Создает индекс для таблицы. | Синтаксис: | CREATE [ UNIQUE ] INDEX индекс ON таблица | [ USING тип ] (поле [ класс ] [,…]) | CREATE [ UNIQUE ] INDEX индекс ON таблица | [ USING тип ] (функция (поле [….])[ класс ]) | Параметры: | UNIQUE. Необязательное ключевое слово UNIQUE.
-
Определение нового языка, используемого при создании функций. | Синтаксис: | CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE 'язык' | HANDLER обработчик | LANCOMPILER 'комментарий' | Параметры: | TRUSTED. Ключевое слово TRUSTED означает, что PostgreSQL разрешает непривилегированным пользователям обходить ограничения, связанные с наличием прав доступа к языку'.
-
Определение нового оператора в базе данных. | Синтаксис: | CREATE OPERATOR оператор (PROCEDURE = функция | [, LEFTARG = тип1 ] | [, RIGHTARG = тип2 ] | [, COMMUTATOR = коммутатор ] | [, NEGATOR = инвертор ] | [, RESTRICT = функция_ограничения ] | [, JOIN = функция_объединения ] | [, HASHES ] | [, SORT1 = левая_сортировка ] | [. SORT2 = правая_сортировка ]) | Параметры: | оператор.
-
Определение нового правила в таблице. | Синтаксис: | CREATE RULE правило AS ON событие ТО объект | [ WHERE условие ] DO [ INSTEAD ] операция | операция:: = NOTHING | query | (query [;…]) | [ query [:…] ] | Параметры: | правило. Имя создаваемого правила. | событие.
-
Создание нового генератора числовой последовательности. | Синтаксис: | CREATE SEQUENCE последовательность [ INCREMENT приращение ] | [ MINVALUE минимум ] [ MAXVALUE максимум ] | [ START начало ] [ CACHE кэш ][ CYCLE ] | Параметры: | последовательность. Имя создаваемой последовательности. | приращение.
-
Создание новой таблицы. | Синтаксис: | CREATE [ TEMPORARY | TEMP ] TABLE таблица ( | { поле тип [ограничение_поля [… ] ] | ограничение_таблицы } | [….
-
Создание новой таблицы по результатам выборки. | Синтаксис: | CREATE TABLE таблица [ (поле [….]) ] | AS выборка | Параметры: | таблица. Имя создаваемой таблицы. | поле. Имя поля в создаваемой таблице; при перечислении нескольких полей их имена разделяются запятыми.
-
Создание нового триггера. | Синтаксис: | CREATE TRIGGER триггер { BEFORE | AFTER } { событие [ OR событие… ] } | ON таблица | FOR EACH { ROW STATEMENT } | EXECUTE PROCEDURE функция (аргументы) | Параметры: | триггер. Имя создаваемого триггера. | таблица. Имя таблицы, с которой ассоциируется триггер. | событие.
-
Определение нового типа данных в базе. | Синтаксис: | CREATE TYPE тип (INPUT = входная_функция, OUTPUT = входная_функция | , INTERNALLENGTH = { внутренний_размер | VARIABLE } | [, EXTERNALLENGTH – { внешний_размер | VARIABLE } ] | [, DEFAULT = "значение_по^умолчанию" ] | [, ELEMENT = элемент ] [.
-
Создание нового пользователя базы данных PostgreSQL. | Синтаксис: | CREATE USER пользователь | [ WITH [ SYSID uid ] | [ PASSWORD 'пароль' ] ] | [ CREATEDB | NOCREATEDB ] | [ CREATEUSER | NOCREATEUSER ] | [ IN GROUP группа [….] ] | [ VALID UNTIL 'срок' ] | Параметры: | пользователь. Имя создаваемого пользователя.
-
Создание представления для таблицы. | Синтаксис: | CREATE VIEW представление AS запрос | Параметры: | представление. Имя создаваемого представления. | запрос. Запрос SQL, определяющий структуру и содержимое представления. | Результаты: | CREATE. Сообщение, возвращаемое при успешном создании представления.
-
Получение текущей даты. | Синтаксис: | CURRENT_DATE | Параметры: | Функция вызывается без параметров. | Результаты: | Текущая дата в виде значения типа date. | Описание | Функция CURRENT_DATE возвращает текущую системную дату в виде типа date.
-
Получение текущих даты и времени. | Синтаксис: | CURRENT_TIMESTAMP | Параметры: | Функция вызывается без параметров. | Результаты: | Текущая дата и текущее время. | Описание | Функция CURRENT_TIME возвращает текущие дату и время в виде значения типа timestamp.
-
Определение нового курсора. | Синтаксис: | DECLARE курсор | [ BINARY ] [ INSENSITIVE ] [ SCROLL ] | CURSOR FOR запрос | [ FOR { READ ONLY | UPDATE [ OF поле [….]]}] | Параметры: | курсор. Имя нового курсора. | BINARY.
-
Удаление записей из таблицы. | Синтаксис: | DELETE FROM [ ONLY ] таблица [ WHERE условие ] | Параметры: | таблица. Имя таблицы, из которой удаляются записи. | условие. Критерий отбора удаляемых записей. Структура условия аналогична условию секции WHERE команды SELECT – за дополнительной информацией об условиях обращайтесь к описанию команды SELECT.
-
Удаление агрегатной функции из базы данных. | Синтаксис: | DROP AGGREGATE функция тип | Параметры: | функция. Имя удаляемой агрегатной функции. | тип. Тип данных, передаваемый агрегатной функции. | Результаты: | DROP. Сообщение выдается при успешном удалении агрегатной функции.
-
Удаление базы данных из системы. | Синтаксис: | DROP DATABASE база_данных | Параметры: | Имя удаляемой базы данных. | Результаты: | DROP DATABASE. Сообщение выдается при успешном удалении базы данных. | ERROR: user 'пользователь' is not allowed to create/drop databases.
-
Удаление пользовательской функции. | Синтаксис: | DROP FUNCTION функция ([ тип [….]]) | Параметры: | функция. Имя существующей функции, удаляемой из базы данных. | тип. Ноль пли более типов аргументов функции. Комбинация имени и типов однозначно определяет функцию. | Результаты: | DROP.
-
Удаление группы пользователей из базы данных. | Синтаксис: | DROP GROUP группа | Параметры: | Имя удаляемой группы. | Результаты: | DROP GROUP. Это сообщение выдается при успешном удалении группы. | Описание | Команда DROP GROUP удаляет группу из текущей базы данных.
-
Удаление процедурного языка из базы данных. | Синтаксис: | DROP [ PROCEDURAL ] LANGUAGE 'язык' | Параметры: | Имя существующего языка, удаляемого из базы данных. | Результаты: | DROP. Сообщение выдается в том случае, если удаление языка прошло без ошибок. | ERROR: Language "язык" does not exist.
-
Удаление оператора из базы данных. | Синтаксис: | DROP OPERATOR оператор | ({ левый__тип NONE }. | { правый_тип | NONE }) | Параметры: | оператор. Удаляемый оператор. | левый_тип \ NONE. Тип левого операнда (или NONE при его отсутствии). | правый_тип \ NONE. Тип правого операнда (или NONE при его отсутствии).
-
Удаление правила из базы данных. | Синтаксис: | DROP RULE правило [,…] | Параметры: | Имя удаляемого правила. Одной командой можно удалить сразу несколько правил, имена которых перечисляются через запятую. | Результаты: | DROP. Сообщение возвращается при успешном удалении правила.
-
Удаление таблицы из базы данных. | Синтаксис: | DROP TABLE таблица [….] | Параметры: | Имя существующей таблицы, удаляемой из базы данных. В одной команде можно удалить сразу несколько таблиц, имена которых перечисляются через запятую. | Результаты: | DROP.
-
Удаление определения триггера из базы данных. | Синтаксис: | DROP TRIGGER триггер ON таблица | Параметры: | триггер. Имя удаляемого триггера. | таблица. Имя таблицы, для которой устанавливался триггер. | Результаты: | DROP. Сообщение возвращается при успешном удалении триггера.
-
Удаление типа данных из системных каталогов. | Синтаксис: | DROP TYPE тип [,…] | Параметры: | Имя удаляемого типа. В одной команде можно удалить сразу несколько типов, имена которых перечисляются через запятую. | Результаты: | DROP. Сообщение возвращается при успешном удалении типа.
-
Удаление пользователя PostgreSQL. | Синтаксис: | DROP USER пользователь | Параметры: | Имя удаляемого пользователя PostgreSQL. | Результаты: | DROP USER. Сообщение возвращается при успешном удалении пользователя PostgreSQL. | ERROR: DROP USER: user "пользователь" does not exist.
-
Удаление существующего представления из базы данных. | Синтаксис: | DROP VIEW представление. [….] | Параметры: | Имя удаляемого представления. | Результаты: | DROP. Сообщение возвращается при успешном удалении представления. | ERROR: view "представление" does not exlst.
-
Вывод плана выполнения запроса. | Синтаксис: | EXPLAIN [ VERBOSE ] запрос | Параметры: | VERBOSE. При наличии необязательного ключевого слова VERBOSE в плане запроса выводится дополнительная информация. | запрос. Запрос, план выполнения которого вы хотите получить. | Результаты: | NOTICE: QUERY PLAN: plan.
-
Выборка записей с использованием курсора. | Синтаксис: | FETCH направление | [ количество_записей ] { IN | FROM } курсор | направление:: – { FORWARD | BACKWARD | RELATIVE } | количество_записей:: = { число \ ALL NEXT PRIOR } | Параметры: | направление. Необязательный параметр, определяющий направление выборки.
-
Предоставление прав доступа пользователю, группе или всем пользователям базы данных. | Синтаксис: | GRANT привилегия [,…] ON объект [….] | ТО { PUBLIC | GROUP группа \ пользователь } | Параметры: | привилегия. Предоставляемая привилегия. Допустимые значения:
-
Вставка новых записей в таблицу. | Синтаксис: | INSERT INTO таблице [ (поле [….]) ] | { DEFAULT VALUES | VALUES (значение [….]) | | запрос } | Параметры: | таблица. Таблица, в которую вставляются новые данные. | поле. Имя поля, для которого задается значение.
-
Ожидание уведомлений о событиях. | Синтаксис: | LISTEN событие | Параметры: | Имя события, ожидаемого сервером. | Результаты: | LISTEN. Сообщение возвращается при успешном выполнении команды, когда серверный процесс ожидает уведомления. | NOTICE: Async_Listen: We are already listening on событие.
-
Динамическая загрузка объектных файлов в базу данных. | Синтаксис: | LOAD 'файл' | Параметры: | Имя загружаемого объектного файла. | Результаты: | LOAD. Сообщение возвращается при успешной загрузке объектного файла. | ERROR: LOAD: could not open file 'файл'. Ошибка – указанный файл не найден.
-
Блокировка записей в транзакциях. | Синтаксис: | LOCK [ TABLE ] таблица | LOCK [ TABLE ] таблица IN режим | режим:: = { [ ROW | ACCESS ] { SHARE | EXCLUSIVE } | | SHARE ROW EXCLUSIVE } MODE | Параметры: | таблица. Имя таблицы, для которой устанавливается блокировка. | режим.
-
Перемещение курсора к другой записи. | Синтаксис: | MOVE [ направление ] [ количество ] | { IN | FROM } курсор | Параметры: | направление. Направление, в котором перемещается указанный курсор. За дополнительной информацией о направлениях обращайтесь к описанию команды FETCH. | количество.
-
Уведомление всех серверных процессов, ожидающих некоторого события. | Синтаксис: | NOTIFY событие | Параметры: | Событие, о наступлении которого оповещаются процессы. | Результаты: | NOTIFY. Это сообщение выдается в том случае, если рассылка прошла успешно.
-
Восстановление индексов в таблицах. | Синтаксис: | REINDEX { TABLE | DATABASE | INDEX } объект [ FORCE ] | Параметры: | TABLE | DATABASE | INDEX. Тип индексируемого объекта. | объект. Имя индексируемого объекта. | FORCE. Ключевое слово FORCE восстанавливает индексы для всех перечисленных объектов.
-
Восстановление стандартных значений конфигурационных переменных. | Синтаксис: | RESET переменная | Параметры: | Переменная, которой присваивается значение по умолчанию. | Результаты: | RESET VARIABLE. Это сообщение выдается при успешном сбросе переменной.
-
Отмена привилегий доступа у пользователя, группы или всех пользователей. | Синтаксис: | REVOKE привилегия […. ] | ON объект [….] | FROM { PUBLIC | GROUP группа \ пользователь } | Параметры: | привилегия. Отменяемая привилегия.
-
Откат текущей транзакции с отменой всех изменений. | Синтаксис: | ROLLBACK [ WORK TRANSACTION ] | Параметры: | Необязательные ключевые слова, делающие команду SQL более наглядной. | Результаты: | ROLLBACK. Сообщение выдается при успешном откате транзакции. | NOTICE: ROLLBACK: no transaction In progress.
-
Выборка записей из таблицы или представления. | Синтаксис: | SELECT [ ALL | DISTINCT [ ON (уникальное_выражение [….]) ] ] | цель [ AS выходное_имя ] [….] | [ FROM источник [ {. | CROSS JOIN }…] ] [ WHERE условие_фильтрации ] | [ GROUP BY условие_группировки [….
-
Создание новой таблицы по результатам команды SELECT. | Синтаксис: | SELECT [ ALL | DISTINCT [ ON (уникальное_выражение [….]) ] ] | цель [ AS выходное имя ] [,…] [ INTO [ TEMPORARY | TEMP ] [ TABLE ] новая_таблица ] | [ FROM источник [ {.
-
Присваивание значений конфигурационным переменным. | Синтаксис: | SET переменная {ТО = } { значение \ 'значение' DEFAULT } | SET TIME ZONE { 'часовой_пояс' \ LOCAL DEFAULT } | Параметры: | переменная. Имя конфигурационной переменной, которой присваивается новое значение. | значение.
-
Выбор режима проверки ограничений в текущей транзакции. | Синтаксис: | SET CONSTRAINTS { ALL режим […. ] } | { DEFERRED | IMMEDIATE } | Параметры: | ALL. Ключевое слово ALL означает, что указанный режим должен относиться ко всем ограничениям в текущей транзакции. | режим.
-
Выбор уровня изоляции текущей транзакции. | Синтаксис: | SET TRANSACTION ISOLATION LEVEL | { READ COMMITTED | SERIALIZABLE } | SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL | { READ COMMITTED | SERIALIZABLE } | Параметры: | READ COMMITED.
-
Вывод значений конфигурационных переменных. | Синтаксис: | SHOW переменная | Параметры: | Имя конфигурационной переменной. | Результаты: | SHOW VARIABLE. Сообщение выдается при успешном выполнении команды SHOW. | ERROR: Option 'переменная' is not recognized.
-
Очистка таблицы. | Синтаксис: | TRUNCATE [ TABLE ] таблица | Параметры: | Имя таблицы. В результате очистки из таблицы удаляются все записи. | Результаты: | TRUNCATE. Сообщение выдается при успешной очистке таблицы. | ERROR: Relation 'таблица' does not exist.
-
Серверный процесс выходит из режима ожидания уведомлений. | Синтаксис: | UNLISTEN { событие \ * } | Параметры: | событие. Имя события, ожидаемого сервером. | *. Отмена ожидания всех событий, определенных ранее. | Результаты: | UNLISTEN. Это сообщение выдается при успешном выполнении команды UNLISTEN.
-
Обновление записей в таблице. | Синтаксис: | UPDATE [ ONLY ] таблица SET | поле = выражение [….] | [ FROM список_источников ] | [ WHERE условие ] | Параметры: | ONLY. Обновление выполняется только в указанной таблице и не распространяется на производные таблицы (если они существуют). | таблица.
-
Удаление временных данных и анализ базы данных. | Синтаксис: | VACUUM [ VERBOSE ] [ ANALYZE ] [ таблица ] | VACUUM [ VERBOSE ] ANALYZE [ таблица [ (поле [….]) ] ] | Параметры: | VERBOSE. Вывод отчета по каждой обработанной таблице. | ANALYZE.