Postgres / CockroachDB
Эта страница переведена PageTurner AI (бета). Не одобрена официально проектом. Нашли ошибку? Сообщить о проблеме →
TypeORM поддерживает драйверы для PostgreSQL, CockroachDB и Amazon Aurora Postgres.
Базы данных, совместимые с PostgreSQL, также могут использоваться в TypeORM через тип источника данных postgres.
Для работы с YugabyteDB обратитесь к их документации по ORM. Учтите, что поскольку YugabyteDB не поддерживает некоторые функции Postgres, часть возможностей TypeORM может быть ограничена.
Установка
npm install pg
Поддержка потоковой передачи:
npm install pg-query-stream
Параметры источника данных
Общие параметры источников данных см. в разделе Параметры источника данных. Для подключения к соответствующим базам данных используйте тип источника данных postgres, cockroachdb или aurora-postgres.
-
url- URL подключения. Обратите внимание: другие параметры источника данных имеют приоритет над параметрами, заданными в URL. -
host- Хост базы данных. -
port- Порт хоста базы данных. Стандартный порт Postgres —5432. -
username- Имя пользователя базы данных. -
password- Пароль базы данных. -
database- Имя базы данных. -
schema- Название схемы. По умолчанию — "public". -
connectTimeoutMS- Время ожидания подключения (в миллисекундах). Еслиundefinedили0— таймаут отсутствует. По умолчанию:undefined. -
ssl- Объект с параметрами SSL. См. TLS/SSL. -
uuidExtension- Расширение Postgres для генерации UUID. По умолчанию:uuid-ossp. Можно заменить наpgcrypto, еслиuuid-osspнедоступно. -
poolErrorHandler- Функция-обработчик событий'error'из пула соединений. Принимает экземпляр ошибки. По умолчанию: логирование с уровнемwarn. -
maxTransactionRetries- Максимальное количество повторных попыток транзакции при ошибке 40001. По умолчанию: 5. -
logNotifications- Логировать уведомления сервера Postgres и события NOTIFY с уровнемinfo(по умолчанию:false). -
installExtensions- Автоматически устанавливать необходимые расширения Postgres (по умолчанию:true). -
extensions- Список дополнительных расширений Postgres для установки (по умолчанию:undefined). -
applicationName- Идентификатор приложения для статистики и логов (по умолчанию:undefined). -
parseInt8- Парсить 64-битные целые числа (int8) как числа JavaScript. По умолчаниюint8возвращаются как строки для предотвращения переполнения. Числа JavaScript (IEEE-754) теряют точность за пределамиNumber.MAX_SAFE_INTEGER = +2^53. Для полной поддержки 64-битного диапазона используйте строки или нативныйbigint.
Дополнительные параметры можно добавить в объект extra — они будут переданы напрямую клиентской библиотеке. Подробнее см. в документации pg: Pool и Client.
Типы столбцов
Типы столбцов для postgres
int, int2, int4, int8, smallint, integer, bigint, decimal, numeric, real, float, float4, float8, double precision, money, character varying, varchar, character, char, text, citext, hstore, bytea, bit, varbit, bit varying, timetz, timestamptz, timestamp, timestamp without time zone, timestamp with time zone, date, time, time without time zone, time with time zone, interval, bool, boolean, enum, point, line, lseg, box, path, polygon, circle, cidr, inet, macaddr, macaddr8, tsvector, tsquery, uuid, xml, json, jsonb, jsonpath, int4range, int8range, numrange, tsrange, tstzrange, daterange, int4multirange, int8multirange, nummultirange, tsmultirange, tstzmultirange, multidaterange, geometry, geography, cube, ltree, vector, halfvec.
Типы столбцов для cockroachdb
array, bool, boolean, bytes, bytea, blob, date, numeric, decimal, dec, float, float4, float8, double precision, real, inet, int, integer, int2, int8, int64, smallint, bigint, interval, string, character varying, character, char, char varying, varchar, text, time, time without time zone, timestamp, timestamptz, timestamp without time zone, timestamp with time zone, json, jsonb, uuid
Примечание: CockroachDB возвращает все числовые типы данных как string. Однако если вы опустите тип столбца и определите свойство как number, ORM преобразует строку в число с помощью parseInt.