кодесурса
«MySQL

Типы данных PostgreSQL

script1adsense2code
script1adsense3code

Типы данных

В этом документе обсуждаются типы данных PostgreSQL. При создании таблицы для каждого столбца вы указываете тип данных, т. Е. Какой тип данных вы хотите сохранить.

Это дает несколько преимуществ:

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

Проверка: в столбце могут храниться различные типы значений. Таким образом, если тип столбца целочисленный, вы не можете хранить там строку.

Компактность: поскольку столбец может хранить значения одного типа, он хранится в компактном виде.

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

Широкий набор типов данных доступен в PostgreSQL. Кроме того, пользователи могут создавать свои собственные типы данных с помощью команды «CREATE TYPE».

В оставшейся части документа мы обсудили каждый из типов данных PostgreSQL, основанный на версии PostgreSQL 9.1.

Категория - Числовые типы

название Описание Размер хранилища Спектр
SMALLINT Хранит целые числа, маленький ассортимент. 2 байта От -32768 до +32767
целое число Хранит целые числа. Используйте это, когда вы хотите хранить типичные целые числа. 4 байта От -2147483648 до +2147483647
BIGINT Магазины целых чисел, большой ассортимент. 8 байт От -9223372036854775808 до 9223372036854775807
десятичный указанная пользователем точность, точная переменная до 131072 цифр перед десятичной точкой; до 16383 цифр после запятой.
числовой указанная пользователем точность, точная переменная до 131072 цифр перед десятичной точкой; до 16383 цифр после запятой.
реальный переменная точность, неточная 4 байта Точность 6 десятичных цифр.
двойная точность переменная точность, неточная 8 байт Точность 15 десятичных цифр
последовательный автоматическое увеличение числа 4 байта 1 до 2147483647
bigserial большое автоинкрементное целое число 8 байт 1 до 9223372036854775807

Категория - Денежные типы

название Описание Размер хранилища Спектр
Деньги сумма в валюте 8 байт От -92233720368547758.08 до +92233720368547758.07

Категория - Типы персонажей

название Описание
различные символы (n), varchar (n) переменная длина с ограничением
символ (n), символ (n) фиксированная длина, с подкладкой
текст переменная неограниченная длина

Категория - двоичные типы данных

название Описание Размер хранилища
BYTEA двоичная строка переменной длины 1 или 4 байта плюс фактическая двоичная строка

Категория - Дата / Время Типы

название Описание Размер хранилища Низкая стоимость Высокое значение разрешение
отметка времени [(p)] [без часового пояса] дата и время (без часового пояса) 8 байт 4713 г. до н.э. 294276 н.э. 1 микросекунда / 14 цифр
отметка времени [(p)] с часовым поясом дата и время с часовым поясом 8 байт 4713 г. до н.э. 294276 н.э. 1 микросекунда / 14 цифр
Дата дата (без времени суток) 4 байта 4713 г. до н.э. 5874897 н.э. 1 день
время [(p)] [без часового пояса] время суток (без даты) 8 байт 00:00:00 24:00:00 1 микросекунда / 14 цифр
время [(p)] с часовым поясом только время суток, с часовым поясом 12 байт 00: 00: 00 + 1459 24: 00: 00-1459 1 микросекунда / 14 цифр
интервал [поля] [(p)] 12 байт интервал времени -178000000 лет 178000000 лет 1 микросекунда / 14 цифр

Категория - логический тип

название Описание Размер хранилища
логический состояние истинного или ложного 1 байт

Категория - перечислимый тип

В отличие от других типов, перечисляемые типы необходимо создавать с помощью команды CREATE TYPE. Этот тип используется для хранения статического упорядоченного набора значений, например направлений компаса, то есть СЕВЕР, ЮГ, ВОСТОК и ЗАПАД или дни недели.

Код:

CREATE TYPE mood AS ENUM ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');

После создания они могут использоваться как любые другие типы.

Категория - Геометрический Тип

Он представляет собой двумерные объекты, относящиеся к пространству.

название Описание Размер хранилища Представление
точка Точка на плоскости 16 байт (Х, у)
линия Бесконечная линия (не полностью реализована) 32 байта ((X1, y1), (х2, у2))
LSEG Конечный отрезок 32 байта ((X1, y1), (х2, у2))
коробка Прямоугольная коробка 32 байта ((X1, y1), (х2, у2))
дорожка Закрытый путь (похож на полигон) 16 + 16n байт ((X1, y1), ...)
дорожка Открытый путь 16 + 16n байт [(X1, y1), ...]
многоугольник Полигон (похож на замкнутый путь) 40 + 16n байт ((X1, y1), ...)
круг круг 24 байта <(x, y), r> (центральная точка и радиус)

Категория - тип сетевого адреса

Эти типы данных хранят адреса IPv4, IPv6 и MAC.

название Описание Размер хранилища
CIDR Сети IPv4 и IPv6 7 или 19 байт
инет IPv4 и IPv6 хосты и сети 7 или 19 байт
MacAddr MAC-адреса 6 байт

Категория - тип битовой строки

Типы битовых строк используются для хранения битовых масок. Они либо 0, либо 1. Существуют два типа битов - bit (n) и bitinging (n), где n - положительное целое число.

Категория - Тип текстового поиска

Используется для полнотекстового поиска. Для этого есть два типа данных:

tsvector : это отсортированный список отдельных слов, которые были нормализованы для объединения различных вариантов одного и того же слова и называются «лексемами».

tsquery : значение tsquery хранит лексемы, которые необходимо найти, и объединяет их в честь логических операторов & (AND), | (Или) и! (НЕ). Круглые скобки могут быть использованы для принудительной группировки операторов.

Категория - Тип UUID

UUID (универсальные уникальные идентификаторы) записывается в виде последовательности шестнадцатеричных цифр в нижнем регистре, в нескольких группах, разделенных дефисами, а именно в группе из 8 цифр, за которой следуют три группы из 4 цифр, за которыми следует группа из 12 цифр, всего из 32 цифр, представляющих 128 бит. Примером UUID является

550e8400-e29b-41d4-a716-446655440000

Категория - тип XML

Тип данных xml может использоваться для хранения данных XML. Для хранения данных XML сначала создайте значения XML с помощью функции xmlparse.

Код:

XMLPARSE (DOCUMENT '<?xml version="1.0"?><tutorial><title>PostgreSQL Tutorial </title><topics>...</topics></tutorial>')
XMLPARSE (CONTENT 'xyz<foo>bar</foo><bar>foo</bar>')

Категория - Тип массива

В PostgreSQL можно определить столбец таблицы как многомерный массив переменной длины. Могут быть созданы массивы любого встроенного или определенного пользователем базового типа, типа enum или составного типа. Но массивы доменов пока не поддерживаются.

Декларация массивов

Код:

CREATE TABLE monhly_savings (
name text,
saving_per_quarter  integer[],
scheme text[][]);

Вставка значений

Код:

INSERT INTO monhly_savings
VALUES ('Bidhan',
'{20000, 14600, 23500, 13250}', '{{"FD", "MF"}, {"FD", "Property"}}');

Доступ к массивам

Код:

SELECT name FROM monhly_savings WHERE saving_per_quarter[2] > saving_per_quarter[4]; 

Таким образом, вышеуказанная команда выберет людей, чьи сбережения больше во втором квартале, чем в четвертом квартале.

Категория - Составные типы

Этот тип представляет список имен полей и их типов данных, то есть структуру строки или записи таблицы.

Категория - Типы идентификаторов объектов

Идентификаторы объектов (OID) используются внутри PostgreSQL в качестве первичных ключей для различных системных таблиц.

название Описание Рекомендации Пример значения
подъязычная числовой идентификатор объекта любой 564182
regproc имя функции pg_proc сумма
regprocedure функция с типами аргументов pg_proc сумма (int4)
regoper имя оператора pg_operator +
regoperator оператор с типами аргументов pg_operator * (целое число, целое число) или - (НЕТ, целое число)
regclass имя отношения pg_class pg_type
regtype имя типа данных pg_type целое число
regconfig конфигурация текстового поиска pg_ts_config английский
regdictionary словарь текстового поиска pg_ts_dict просто

Категория - псевдо-типы

название Описание
любой Обозначает, что функция принимает любой тип входных данных.
anyarray Обозначает, что функция принимает любой тип данных массива
anyelement Обозначает, что функция принимает любой тип данных
anyenum Обозначает, что функция принимает любой тип данных enum
anynonarray Обозначает, что функция принимает любой тип данных, отличный от массива.
CString Обозначает, что функция принимает или возвращает строку C с нулевым символом в конце
внутренний Обозначает, что функция принимает или возвращает внутренний тип данных сервера.
language_handler Обработчик вызова процедурного языка объявляется как возвращающий language_handler.
fdw_handler Обработчик обёртки сторонних данных объявляется как возвращающий fdw_handler.
запись Обозначает функцию, возвращающую неопределенный тип строки.
спусковой крючок Объявлена триггерная функция для возврата триггера.
недействительным Обозначает, что функция не возвращает значения.
непрозрачный Устаревшее имя типа, которое раньше служило всем вышеуказанным целям.

Предыдущий: PostgreSQL Connector и API
Далее: Создать базу данных

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code