PostgreSQL

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

PostgreSQL, также Postgres — весьма известная открытая система управления базами данных.

Описание[править]

Основывается на весьма пожилом, но при этом крайне потужном проекте INGRES, реализованном в Калифорнийском университете Беркли в 1970-х годах. Затем тот же разраб решил восрать систему Postgres, название которой значило буквально Post-INGRES, в которой было бы намного больше разных возможностей.

Первое время система жужжал как-то печально что ли и использовалась мало. Затем в POSTGRES добавили интерпретатор языка SQL, заменив устаревший язык запросов POSTQUEL, и опубликовали исходный код в открытом доступе. Переименованная система получила название Postgres95. Однако уже на следующий год его снова переименовали в PostgreSQL.

Данные хранятся в кластере баз данных, директории файловой системы (PGDATA). Каждая таблица хранится в одном или нескольких файлах размером до 1 ГБ, Страницы данных имеют размер 8 КБ по умолчанию, но при большом желании можно восрать размер хоть в 32 КБ (по какой-то причине для размера применяются степени двойки нах).

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

Эта система обладает богатейшей системой типов данных, значительно превосходящей стандарт SQL, и позволяет создавать многомерные массивы любых типов данных.

Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++ScalaH и Ё+
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCPИсходный кодSingle-Page ApplicationGiteaForgejoCephIDEДжуниорРепозиторийPostgreSQLSQLite
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.jsОптимизацияТестированиеAmbreon866Реверс-инжинирингКроссплатформенностьJSON
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур ПейпертПроблемаK!ockyTypeScriptОтладчикБитЭффективный менеджер (IT)TauriReact NativeWindows APIТипPyTorchTensorFlowПарсерNode.jsFastAPIVue.jsSvelteБэкендElectronBroken Object Level AuthorizationМаппингДжастин ФранкельHex-редакторVisual Basic .NETNext.jsDocker ComposeNode modulesIndexedDB
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffiВибе-кодингFlutterАппликативный оператор