PostgreSQL

Софтуер снимки:
PostgreSQL
Софтуер детайли:
Версия: 10.5 / 11 Beta 3 актуализира
Дата на качване: 16 Aug 18
Разрешително: Безплатно
Популярност: 29

Rating: 1.5/5 (Total Votes: 2)

PostgreSQL е отворен код, мощен, надежден, стабилен, готов за работа и свободна обектно-релационна база данни в стила на проектите MariaDB, MySQL или SQLite. Той е съвместим със сървър / двигател на база данни ACID (Atomicity, Consistency, Isolation, Durability), който може да бъде силно персонализиран и включва многобройни атрактивни функции, което прави чудесна замяна на горепосочените двигатели за бази данни.


Характеристики с един поглед

Основните характеристики включват поддръжка на чужди ключове, изгледи, свързвания, задействания и съхранени процедури, поддръжка на множество езици, поддръжка на широк набор от SQL типове данни, включително BOOLEAN, CHAR, INTEGER, NUMERIC, VARCHAR, INTERVAL, TIMESTAMP и DATE.

Освен това софтуерът идва с поддръжка за съхранение на двоични големи обекти, включително всички видове мултимедийни файлове (видео, аудио и снимки) и предоставя на програмистите интерфейси за програмиране на C, C ++, Python, Perl, Ruby, Java, .Net, Tcl и ODBC програмни езици.

Сред другите интересни особености могат да се споменат MVCC (Multi-Version Concurrency Control), таблични пространства, кодиране на многобройни символи, възстановяване на точка в точка, зрял оптимизатор на заявки и планиране, асинхронна репликация, онлайн архивиране, savepoints), горещи резервни копия, записване на протоколи за толерантност към грешки, поддръжка за международни символи, както и поддръжка на Unicode.


PostgreSQL в цифри

Понастоящем PostgreSQL сървърът за бази данни поддържа неограничен размер за бази данни, 32 TB трябва да бъде максималният размер за таблици, 1,6 TB на ред, 1 GB на поле, неограничени редове на таблица, поддържа между 250 и 1600 колони на таблица , в зависимост от типовете колони и поддържа неограничени индекси на таблица.


Поддържани операционни системи

PostgreSQL бе успешно тестван на всички основни операционни системи, включително GNU / Linux, BSD, Solaris, HP-UX, AIX, SGI IRIX, Solaris, Tru64, Mac OS X и Microsoft Windows. PostgreSQL е достъпен за изтегляне като универсален архив на източника, както и предварително компилирани двоични пакети за много Linux дистрибуции, поддържащи 32-битова и 64-битова архитектура.

Какво ново? strong> в тази версия:

  • Тази версия определя два проблема със сигурността. Тази версия също така поправя проблемите, открити с VACUUM, GIN и хеш индекси, паралелна заявка, логическа репликация и други грешки, докладвани през последните три месеца. Всички потребители, използващи засегнатите версии на PostgreSQL, трябва да се актуализират възможно най-скоро.

Какво е новото във версия 10.4 / 11 Бета 1:

  • Тази версия също така поправя проблемите, открити с VACUUM, GIN и хеш индекси, паралелна заявка, логическа репликация и други грешки, докладвани през последните три месеца. Всички потребители, използващи засегнатите версии на PostgreSQL, трябва да се актуализират възможно най-скоро.

Какво е новото във версията:

  • Освен това ограничавайте видимостта на pg_user_mappings.umoptions, за да защитите паролите, съхранявани като опции за картографиране на потребителите (Noah Misch)
  • Корекцията за CVE-2017-7486 е неправилна: позволяваше на потребителя да вижда опциите в своето собствено потребителско картографиране, дори ако не е имала разрешение за ползване на съответния чужд сървър. Такива опции могат да включват парола, предоставена от собственика на сървъра, а не от самия потребител. Тъй като information_schema.user_mapping_options не показва опциите в такива случаи, pg_user_mappings не би трябвало нито да е. (CVE-2017-7547)
  • От само себе си, тази кръпка ще определи само поведението в новите бази данни initdb'd. Ако искате да приложите тази промяна в съществуваща база данни, ще трябва да направите следното:
  • Рестартирайте пощенския администратор след добавяне на allow_system_table_mods = true to postgresql.conf. (При версиите, поддържащи ALTER SYSTEM, можете да го използвате, за да направите промените в конфигурацията, но пак ще се нуждаете от рестартиране.)
  • Във всяка база данни на клъстера изпълнете следните команди като суперпотребител:
  • Настройка search_path = pg_catalog;
  • Създайте или заменете VIEW pg_user_mappings AS
  • SELECT
  • U.oid AS humid,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • U.umuser AS umuser,
  • случай, когато U.umuser = 0 THEN
  • "общественост"
  • ДРУГО
  • A.rolname
  • END AS usename,
  • CASE WHEN (U.umuser 0 AND A.rolname = current_user
  • )
  • И (pg_has_role (S.srvowner, 'USAGE'))
  • ИЛИ has_server_privilege (S.oid, 'USAGE')))
  • ИЛИ (U.umuser = 0 AND pg_has_role (S.srvowner, 'USAGE'))
  • ИЛИ (ИЗБИРАНЕ на rolsuper FROM pg_authid WHERE ролева = current_user)
  • THEN U.umoptions
  • ELSE NULL END като букви
  • От pg_user_mapping U
  • Ляво свързване pg_authid A ON (A.oid = U.umuser) JOIN
  • pg_foreign_server S ON (U.umserver = S.oid);
  • Не забравяйте да включите шаблони0 и шаблони1, или уязвимостта ще продължи да съществува в бази данни, които създавате по-късно. За да коригирате шаблон0, ще трябва временно да го приемете. В PostgreSQL 9.5 и по-нови можете да използвате
  • шаблон ALTER DATABASE0 с ALLOW_CONNECTIONS true;
  • и след това след фиксиране на шаблон0, отменете това с
  • Шаблон ALTER DATABASE0 с ALLOW_CONNECTIONS невалиден;
  • В предишни версии, вместо това използвайте
  • АКТУАЛИЗИРАНЕ pg_database SET datallowconn = true WHERE наименование = 'template0';
  • АКТУАЛИЗИРАНЕ pg_database SET datallowconn = false КЪДЕ е datname = 'template0';
  • Накрая премахнете настройката за конфигурация allow_system_table_mods и отново стартирайте постмайстора.
  • Забранете празни пароли при всички методи за удостоверяване на базата на пароли (Heikki Linnakangas)
  • libpq пренебрегва спецификациите на празната парола и не ги предава на сървъра. Така че, ако потребителската парола е зададена на празен низ, не е възможно да влезете с тази парола чрез psql или други базирани на libpq клиенти. Следователно администраторът може да вярва, че задаването на паролата за празен е еквивалентно на деактивирането на влизането в паролата Въпреки това, с модифициран клиент или клиент, който не е базиран на libpq, може да е възможно влизането в системата в зависимост от това кой метод за удостоверяване е конфигуриран. По-специално най-често срещаният метод, md5, приема празни пароли. Променете сървъра, за да отхвърлите празни пароли във всички случаи. (CVE-2017-7546)
  • Направете lo_put () проверка за UPDATE привилегия на целевия голям обект (Tom Lane, Michael Paquier)
  • lo_put () със сигурност трябва да изисква същите права като lowrite (), но проверката липсва, което позволява на всеки потребител да промени данните в голям обект. (CVE-2017-7548)
  • Коригирайте документацията за процеса за надстройване на сървърите в режим на готовност с pg_upgrade (Bruce Momjian)
  • Предишната документация инструктира потребителите да стартират / спират първичния сървър след стартиране на pg_upgrade, но преди синхронизирането на сървърите в режим на готовност. Тази последователност е опасна.
  • Коригирайте едновременно блокирането на веригите за актуализиране на плика (Alvaro Herrera)
  • Ако няколко сесии едновременно блокират верига за актуализиране на псевдоними с режими за блокиране без конфликт, като използват стара снимка, и всички те успеят, някои от тях все пак можеха да се провалят (и да се заключи, че няма версия с жива реплика) състояние. Това имаше последици, като проверки с чуждестранни ключове, които не виждат нищо, което определено съществува, но се обновява едновременно.
  • Коригирайте потенциалната корупция на данните при замразяване на т. нар., чийто XMAX е многократно с точно един все още интересен член (Teodor Sigaev)
  • Избягвайте препълване на цяло число и последващо срив, когато сортирате повече от един милиард пакети в паметта (Сергей Копосов)
  • При Windows, опитайте отново да създадете процес, ако не успеем да запазим обхвата на адреса за споделената памет в новия процес (Tom Lane, Amit Kapila)
  • Очаква се това да доведе до неуспешни откази от стартирането на детски процеси, които вероятно се дължат на смущения от антивирусни продукти.
  • Коригирайте корупцията с ниска вероятност на споделената хеш таблица с заключване на предикат в Windows (Thomas Munro, Tom Lane)
  • Избягвайте регистрацията на чисто затваряне на SSL връзка, сякаш е била нулирана връзка (Michael Paquier)
  • Предотвратяване на изпращане на билети за SSL сесии до клиенти (Tom Lane)
  • Този поправка предотвратява отказите при повторно свързване със SSL код на базата на клиентски указател.
  • Коригирайте кода за настройка tcp_keepalives_idle на Solaris (Tom Lane)
  • Коригирайте статистика на колекционера, за да отговаряте на съобщенията за запитвания, публикувани непосредствено след изключване на пощенски администратор и незабавно рестартиране (Tom Lane)
  • Статистическите запитвания, получени в рамките на половин секунда от предишното изключване на пощенските администратори, бяха ефективно игнорирани.
  • Уверете се, че размерът на буфера за получаване на статистическия колектор е поне 100KB (Tom Lane)
  • Това намалява риска от изпускане на статистически данни за по-стари платформи, чийто размер по подразбиране е по-малък от този.
  • Коригирайте възможното създаване на невалиден сегмент WAL, когато се активира режим на готовност, след като обработва XLOG_SWITCH WAL запис (Andres Freund)
  • Прикрепете walsender незабавно, когато client shutdown иска (Tom Lane)
  • Рестартирайте SIGHUP и SIGUSR1 при обработката на Walsender (Petr Jelinek, Andres Freund)
  • Предотвратяване на паниките, предизвикани от walsender, по време на контролните пунктове за спиране (Andres Freund, Michael Paquier)
  • Коригирайте ненужно бавното рестартиране на процесите на walreceiver поради състоянието на състезанието в постмайстора (Tom Lane)
  • Коригирайте изтичането на малки субтранзакции, разлелени на диска по време на логическо декодиране (Andres Freund)
  • Това доведе до временни файлове, които консумират прекомерно дисково пространство.
  • Намалете необходимата работа за създаване на моментни снимки по време на създаването на слотове за логическо декодиране (Andres Freund, Petr Jelinek)
  • Предишният алгоритъм е нескъпо струващ на сървър с много отворени транзакции.
  • Фиксирайте състоянието на състезанието, което може за неопределено време да забави създаването на логически декодиращи слотове (Andres Freund, Petr Jelinek)
  • Намаляване на режийни при обработката на събития за невалидност на syscache (Tom Lane)
  • Това е особено полезно за логическо декодиране, което задейства често инвалидиране на кеша.
  • Премахване на неправилен евристичен код, използван в някои случаи, за да се оцени селективността на присъединяването въз основа на наличието на ограничения за чужди ключове (David Rowley)
  • В някои случаи, когато имаше ограничения за чужди ключове с много колони, но не съвпаднаха точно със структурата на свързването на заявката, планиращият използва евристична оценка, която се оказва, че изобщо не работи добре. Върнете такива случаи на начина, по който са били оценени преди 9.6.
  • Фиксирайте случаите, в които INSERT или UPDATE присвояват повече от един елемент на колона, която е тип домейн с масив (Tom Lane)
  • Позволява да се използват функциите на прозорците в под-SELECT, които са в рамките на аргументите на агрегатна функция (Tom Lane)
  • Уверете се, че клаузата CHECK OPTIONS на екрана се прилага правилно, когато подлежащата таблица е чуждестранна таблица (Etsuro Fujita)
  • По-рано, актуализацията може да се натисне изцяло на чуждия сървър, но ако е така, не е необходима проверка на условията за показване.
  • Премахване на типовете генерирани от генерирани маси по време на ALTER ... RENAME (Vik Fearing)
  • Преди това бихме преименували конфликтния тип генериран генериран масив на пътя по време на CREATE; тази корекция разширява това поведение, за да преименува операции.
  • Коригирайте висящия указател в ALTER TABLE, когато има коментар за ограничението, принадлежащо на масата (Дейвид Роули)
  • Повторното прилагане на коментара към реконструираното ограничение може да се провали с странно съобщение за грешка или дори срив.
  • Уверете се, че ALTER USER ... SET приема всички варианти на синтаксиса, които ALTER ROLE ... SET (Петър Eisentraut)
  • Разрешете ограниченията CHECK на чуждата маса първоначално да не са валидни (Amit Langote)
  • CREATE TABLE мълчаливо отхвърля невалидни спецификатори за CHECK ограниченията, аргументирайки, че таблицата трябва да е празна, така че ограничението може да бъде потвърдено веднага. Но това не е наред за CREATE FOREIGN TABLE, където няма причина да предположим, че основната маса е празна и дори ако не е наша работа да решаваме, че ограничението може да се счита за валидно. Пропуснете тази "оптимизация" за чужди маси.
  • Правилно актуализиране на информацията за зависимостта при промяна на аргумента или типа на връщането на типа данни от непрозрачни към правилния тип (Heikki Linnakangas)
  • CREATE TYPE актуализации I / O функции, декларирани в този отдавна остарял стил, но забравих да запиша зависимост от типа, позволявайки на последващия DROP TYPE да оставите дефинирани дефиниции на функциите.
  • Позволявайте паралелизъм в плана на заявките, когато копирате от резултата от заявката (Andres Freund)
  • Намаляване на използването на паметта, когато ANALYZE обработва колона на tsvector (Heikki Linnakangas)
  • Коригирайте ненужната загуба на точност и небрежното закръгляне, когато умножете или разделите стойностите на пари с числа или плувки (Tom Lane)
  • Затегнете проверките за интервали в функции, които анализират идентификатори, като например regprocedurein () (Tom Lane)
  • В зависимост от преобладаващия локал, тези функции могат да интерпретират фрагменти от многобайтови знаци като празно пространство.
  • Използвайте съответни #define символи от Perl, докато компилирате PL / Perl (Ashutosh Sharma, Tom Lane)
  • Това избягва проблеми с преносимостта, които обикновено се проявяват като "ръкостискане" несъответствие при зареждането на библиотеката при работа с последните версии на Perl.
  • В libpq нулирайте правилно проверката на GSS / SASL и SSPI след неуспешен опит за свързване (Michael Paquier)
  • Ако не направите това, това означава, че когато се връщате от SSL към SSL връзки, неуспехът на GSS / SASL в опита за SSL винаги ще доведе до неуспех на неуспешния SSL опит. SSPI не се провали, но пропусна паметта.
  • В psql поправете грешката, когато COPY FROM STDIN завърши с EOF сигнал от клавиатурата и след това се опитва друго копие от STDIN (Thomas Munro)
  • Това неправилно поведение се наблюдаваше на базовите платформи на BSD (включително macOS), но не на повечето други.
  • Коригирайте pg_dump и pg_restore, за да излъчите последните REFRESH MATERIALIZED VIEW команди (Tom Lane)
  • Това предотвратява грешките по време на показването / възстановяването, когато материалният изглед се отнася за таблици, собственост на друг потребител.
  • Подобряване на отчитането на pg_dump / pg_restore на условията за грешка с произход zlib (Владимир Куншиков, Алваро Херера)
  • Коригирайте pg_dump с опцията --clean за отпадане на задействанията по събития според очакванията (Tom Lane)
  • Той също така правилно определя собствеността на задействащите събития; преди това те бяха възстановени като притежавани от суперпотребителя, изпълняващ скрипта за възстановяване.
  • Прикрепете pg_dump с опцията --clean да не се провали, когато публичната схема не съществува (Stephen Frost)
  • Коригирайте pg_dump, за да не издавате невалиден SQL за клас на празен оператор (Daniel Gustafsson)
  • Коригирайте изхода pg_dump на stdout в Windows (Kuntal Ghosh)
  • Компресиран пропуск на обикновен текст, написан на stdout, би съдържал корумпирани данни поради невъзможност да се постави дескрипторът на файла в двоичен режим.
  • Прикрепете pg_get_ruledef (), за да отпечатате правилния изход за правилото ON SELECT на изглед, чиито колони са преименувани (Tom Lane)
  • В някои случаи в ъгъла, pg_dump разчита на pg_get_ruledef () за показване на изгледи, така че тази грешка може да доведе до неуспешни грешки.
  • Фиксирайте изхвърлянето на външни връзки с празни ограничения, като например резултат от естествена ляво свързване без обикновени колони (Tom Lane)
  • Коригирайте изхвърлянето на функционални изрази в клаузата FROM в случаите, когато изразът не се отклонява в нещо, което прилича на функционално повикване (Tom Lane)
  • Коригирайте изхода pg_basebackup на stdout на Windows (Haribabu Kommi)
  • Архивирането, написано на stdout, ще съдържа корупционни данни поради невъзможност да се постави описанието на файла в двоичен режим.
  • Прикрепете pg_rewind за правилно обработване на файлове над 2GB (Kuntal Ghosh, Michael Paquier)
  • Обикновено такива файлове няма да се показват в директории с данни на PostgreSQL, но в някои случаи те могат да бъдат налице.
  • Коригирайте pg_upgrade, за да сте сигурни, че крайният запис WAL няма wal_level = минимум (Bruce Momjian)
  • Това условие може да попречи на повторното свързване на обновените сървъри в режим на готовност.
  • Коригирайте дължината на записа на WAL (Andres Freund) на pg_xlogdump
  • В postgres_fdw възстановете връзките към отдалечени сървъри след команди ALTER SERVER или ALTER USER MAPPING (Kyotaro Horiguchi)
  • Това гарантира, че промените в опциите, засягащи параметрите на връзката, ще бъдат приложени бързо.
  • В postgres_fdw разрешете отмяната на команди за дистанционен контрол на транзакциите (Robert Haas, Rafia Sabih)
  • Тази промяна ни позволява бързо да избегнем чакането на отдалечен сървър, който не реагира, в много повече случаи, отколкото преди.
  • Увеличете MAX_SYSCACHE_CALLBACKS, за да осигурите повече място за разширения (Tom Lane)
  • Винаги използвайте -fPIC, не -fpic, когато изграждате споделени библиотеки с gcc (Tom Lane)
  • Това поддържа по-големи разширителни библиотеки на платформи, където това е различно.
  • В MSVC изгражда, обработва случая, където библиотеката на openssl не е в поддиректория VC (Andrew Dunstan)
  • В MSVC изгражда, добавете подходяща пътека за libxml2 header files (Andrew Dunstan)
  • Това поправя предишната необходимост да се движат нещата в стандартните инсталации на Windows с libxml2.
  • В MSVC изгражда, разпознава Tcl библиотека, наречена tcl86.lib (Noah Misch)
  • В MSVC създава, чести настройките PROVE_FLAGS на командния ред на vcregress.pl (Andrew Dunstan)

Какво е новото във версия 9.6.4:

  • По-нататъшно ограничаване на видимостта на pg_user_mappings.umoptions, за защита на паролите, съхранени като опции за картографиране на потребители (Noah Misch)
  • Корекцията за CVE-2017-7486 е неправилна: позволяваше на потребителя да вижда опциите в своето собствено потребителско картографиране, дори ако не е имала разрешение за ползване на съответния чужд сървър. Такива опции могат да включват парола, предоставена от собственика на сървъра, а не от самия потребител. Тъй като information_schema.user_mapping_options не показва опциите в такива случаи, pg_user_mappings не би трябвало нито да е. (CVE-2017-7547)
  • От само себе си, тази кръпка ще определи само поведението в новите бази данни initdb'd. Ако искате да приложите тази промяна в съществуваща база данни, ще трябва да направите следното:
  • Рестартирайте пощенския администратор след добавяне на allow_system_table_mods = true to postgresql.conf. (При версиите, поддържащи ALTER SYSTEM, можете да го използвате, за да направите промените в конфигурацията, но пак ще се нуждаете от рестартиране.)
  • Във всяка база данни на клъстера изпълнете следните команди като суперпотребител:
  • Настройка search_path = pg_catalog;
  • Създайте или заменете VIEW pg_user_mappings AS
  • SELECT
  • U.oid AS humid,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • U.umuser AS umuser,
  • случай, когато U.umuser = 0 THEN
  • "общественост"
  • ДРУГО
  • A.rolname
  • END AS usename,
  • CASE WHEN (U.umuser 0 AND A.rolname = current_user
  • )
  • И (pg_has_role (S.srvowner, 'USAGE'))
  • ИЛИ has_server_privilege (S.oid, 'USAGE')))
  • ИЛИ (U.umuser = 0 AND pg_has_role (S.srvowner, 'USAGE'))
  • ИЛИ (ИЗБИРАНЕ на rolsuper FROM pg_authid WHERE ролева = current_user)
  • THEN U.umoptions
  • ELSE NULL END като букви
  • От pg_user_mapping U
  • Ляво свързване pg_authid A ON (A.oid = U.umuser) JOIN
  • pg_foreign_server S ON (U.umserver = S.oid);
  • Не забравяйте да включите шаблони0 и шаблони1, или уязвимостта ще продължи да съществува в бази данни, които създавате по-късно. За да коригирате шаблон0, ще трябва временно да го приемете. В PostgreSQL 9.5 и по-нови можете да използвате
  • шаблон ALTER DATABASE0 с ALLOW_CONNECTIONS true;
  • и след това след фиксиране на шаблон0, отменете това с
  • Шаблон ALTER DATABASE0 с ALLOW_CONNECTIONS невалиден;
  • В предишни версии, вместо това използвайте
  • АКТУАЛИЗИРАНЕ pg_database SET datallowconn = true WHERE наименование = 'template0';
  • АКТУАЛИЗИРАНЕ pg_database SET datallowconn = false КЪДЕ е datname = 'template0';
  • Накрая премахнете настройката за конфигурация allow_system_table_mods и отново стартирайте постмайстора.
  • Забранете празни пароли при всички методи за удостоверяване на базата на пароли (Heikki Linnakangas)
  • libpq пренебрегва спецификациите на празната парола и не ги предава на сървъра. Така че, ако потребителската парола е зададена на празен низ, не е възможно да влезете с тази парола чрез psql или други базирани на libpq клиенти. Следователно администраторът може да вярва, че задаването на паролата за празен е еквивалентно на деактивирането на влизането в паролата Въпреки това, с модифициран клиент или клиент, който не е базиран на libpq, може да е възможно влизането в системата в зависимост от това кой метод за удостоверяване е конфигуриран. По-специално най-често срещаният метод, md5, приема празни пароли. Променете сървъра, за да отхвърлите празни пароли във всички случаи. (CVE-2017-7546)
  • Направете lo_put () проверка за UPDATE привилегия на целевия голям обект (Tom Lane, Michael Paquier)
  • lo_put () със сигурност трябва да изисква същите права като lowrite (), но проверката липсва, което позволява на всеки потребител да промени данните в голям обект. (CVE-2017-7548)
  • Коригирайте документацията за процеса за надстройване на сървърите в режим на готовност с pg_upgrade (Bruce Momjian)
  • Предишната документация инструктира потребителите да стартират / спират първичния сървър след стартиране на pg_upgrade, но преди синхронизирането на сървърите в режим на готовност. Тази последователност е опасна.
  • Коригирайте едновременно блокирането на веригите за актуализиране на плика (Alvaro Herrera)
  • Ако няколко сесии едновременно блокират верига за актуализиране на псевдоними с режими за блокиране без конфликт, като използват стара снимка, и всички те успеят, някои от тях все пак можеха да се провалят (и да се заключи, че няма версия с жива реплика) състояние. Това имаше последици, като проверки с чуждестранни ключове, които не виждат нищо, което определено съществува, но се обновява едновременно.
  • Коригирайте потенциалната корупция на данните при замразяване на т. нар., чийто XMAX е многократно с точно един все още интересен член (Teodor Sigaev)
  • Избягвайте препълване на цяло число и последващо срив, когато сортирате повече от един милиард пакети в паметта (Сергей Копосов)
  • При Windows, опитайте отново да създадете процес, ако не успеем да запазим обхвата на адреса за споделената памет в новия процес (Tom Lane, Amit Kapila)
  • Очаква се това да доведе до неуспешни откази от стартирането на детски процеси, които вероятно се дължат на смущения от антивирусни продукти.
  • Коригирайте корупцията с ниска вероятност на споделената хеш таблица с заключване на предикат в Windows (Thomas Munro, Tom Lane)
  • Избягвайте регистрацията на чисто затваряне на SSL връзка, сякаш е била нулирана връзка (Michael Paquier)
  • Предотвратяване на изпращане на билети за SSL сесии до клиенти (Tom Lane)
  • Този поправка предотвратява отказите при повторно свързване със SSL код на базата на клиентски указател.
  • Коригирайте кода за настройка tcp_keepalives_idle на Solaris (Tom Lane)
  • Коригирайте статистика на колекционера, за да отговаряте на съобщенията за запитвания, публикувани непосредствено след изключване на пощенски администратор и незабавно рестартиране (Tom Lane)
  • Статистическите запитвания, получени в рамките на половин секунда от предишното изключване на пощенските администратори, бяха ефективно игнорирани.
  • Уверете се, че размерът на буфера за получаване на статистическия колектор е поне 100KB (Tom Lane)
  • Това намалява риска от изпускане на статистически данни за по-стари платформи, чийто размер по подразбиране е по-малък от този.
  • Коригирайте възможното създаване на невалиден сегмент WAL, когато се активира режим на готовност, след като обработва XLOG_SWITCH WAL запис (Andres Freund)
  • Прикрепете walsender незабавно, когато client shutdown иска (Tom Lane)
  • Рестартирайте SIGHUP и SIGUSR1 при обработката на Walsender (Petr Jelinek, Andres Freund)
  • Предотвратяване на паниките, предизвикани от walsender, по време на контролните пунктове за спиране (Andres Freund, Michael Paquier)
  • Коригирайте ненужно бавното рестартиране на процесите на walreceiver поради състоянието на състезанието в постмайстора (Tom Lane)
  • Коригирайте изтичането на малки субтранзакции, разлелени на диска по време на логическо декодиране (Andres Freund)
  • Това доведе до временни файлове, които консумират прекомерно дисково пространство.
  • Намалете необходимата работа за създаване на моментни снимки по време на създаването на слотове за логическо декодиране (Andres Freund, Petr Jelinek)
  • Предишният алгоритъм е нескъпо струващ на сървър с много отворени транзакции.
  • Фиксирайте състоянието на състезанието, което може за неопределено време да забави създаването на логически декодиращи слотове (Andres Freund, Petr Jelinek)
  • Намаляване на режийни при обработката на събития за невалидност на syscache (Tom Lane)
  • Това е особено полезно за логическо декодиране, което задейства често инвалидиране на кеша.
  • Премахване на неправилен евристичен код, използван в някои случаи, за да се оцени селективността на присъединяването въз основа на наличието на ограничения за чужди ключове (David Rowley)
  • В някои случаи, когато имаше ограничения за чужди ключове с много колони, но не съвпаднаха точно със структурата на свързването на заявката, планиращият използва евристична оценка, която се оказва, че изобщо не работи добре. Върнете такива случаи на начина, по който са били оценени преди 9.6.
  • Фиксирайте случаите, в които INSERT или UPDATE присвояват повече от един елемент на колона, която е тип домейн с масив (Tom Lane)
  • Позволява да се използват функциите на прозорците в под-SELECT, които са в рамките на аргументите на агрегатна функция (Tom Lane)
  • Уверете се, че клаузата CHECK OPTIONS на екрана се прилага правилно, когато подлежащата таблица е чуждестранна таблица (Etsuro Fujita)
  • По-рано, актуализацията може да се натисне изцяло на чуждия сървър, но ако е така, не е необходима проверка на условията за показване.
  • Премахване на типовете генерирани от генерирани маси по време на ALTER ... RENAME (Vik Fearing)
  • Преди това бихме преименували конфликтния тип генериран генериран масив на пътя по време на CREATE; тази корекция разширява това поведение, за да преименува операции.
  • Коригирайте висящия указател в ALTER TABLE, когато има коментар за ограничението, принадлежащо на масата (Дейвид Роули)
  • Повторното прилагане на коментара към реконструираното ограничение може да се провали с странно съобщение за грешка или дори срив.
  • Уверете се, че ALTER USER ... SET приема всички варианти на синтаксиса, които ALTER ROLE ... SET (Петър Eisentraut)
  • Разрешете ограниченията CHECK на чуждата маса първоначално да не са валидни (Amit Langote)
  • CREATE TABLE мълчаливо отхвърля невалидни спецификатори за CHECK ограниченията, аргументирайки, че таблицата трябва да е празна, така че ограничението може да бъде потвърдено веднага. Но това не е наред за CREATE FOREIGN TABLE, където няма причина да предположим, че основната маса е празна и дори ако не е наша работа да решаваме, че ограничението може да се счита за валидно. Пропуснете тази "оптимизация" за чужди маси.
  • Правилно актуализиране на информацията за зависимостта при промяна на аргумента или типа на връщането на типа данни от непрозрачни към правилния тип (Heikki Linnakangas)
  • CREATE TYPE актуализации I / O функции, декларирани в този отдавна остарял стил, но забравих да запиша зависимост от типа, позволявайки на последващия DROP TYPE да оставите дефинирани дефиниции на функциите.
  • Позволявайте паралелизъм в плана на заявките, когато копирате от резултата от заявката (Andres Freund)
  • Намаляване на използването на паметта, когато ANALYZE обработва колона на tsvector (Heikki Linnakangas)
  • Коригирайте ненужната загуба на точност и небрежното закръгляне, когато умножете или разделите стойностите на пари с числа или плувки (Tom Lane)
  • Затегнете проверките за интервали в функции, които анализират идентификатори, като например regprocedurein () (Tom Lane)
  • В зависимост от преобладаващия локал, тези функции могат да интерпретират фрагменти от многобайтови знаци като празно пространство.
  • Използвайте съответни #define символи от Perl, докато компилирате PL / Perl (Ashutosh Sharma, Tom Lane)
  • Това предотвратява проблеми с преносимостта, които обикновено се проявяват като несъответствие при ръкостискане по време на зареждането на библиотеката при работа с последните версии на Perl.
  • В libpq нулирайте правилно проверката на GSS / SASL и SSPI след неуспешен опит за свързване (Michael Paquier)
  • Ако не направите това, това означава, че когато се връщате от SSL към SSL връзки, неуспехът на GSS / SASL в опита за SSL винаги ще доведе до неуспех на неуспешния SSL опит. SSPI не се провали, но пропусна паметта.
  • В psql поправете грешката, когато COPY FROM STDIN завърши с EOF сигнал от клавиатурата и след това се опитва друго копие от STDIN (Thomas Munro)
  • Това неправилно поведение се наблюдаваше на базовите платформи на BSD (включително macOS), но не на повечето други.
  • Коригирайте pg_dump и pg_restore, за да излъчите последните REFRESH MATERIALIZED VIEW команди (Tom Lane)
  • Това предотвратява грешките по време на показването / възстановяването, когато материалният изглед се отнася за таблици, собственост на друг потребител.
  • Подобряване на отчитането на pg_dump / pg_restore на условията за грешка с произход zlib (Владимир Куншиков, Алваро Херера)
  • Коригирайте pg_dump с опцията --clean за отпадане на задействанията по събития според очакванията (Tom Lane)
  • Той също така правилно определя собствеността на задействащите събития; преди това те бяха възстановени като притежавани от суперпотребителя, изпълняващ скрипта за възстановяване.
  • Прикрепете pg_dump с опцията --clean да не се провали, когато публичната схема не съществува (Stephen Frost)
  • Коригирайте pg_dump, за да не издавате невалиден SQL за клас на празен оператор (Daniel Gustafsson)
  • Коригирайте изхода pg_dump на stdout в Windows (Kuntal Ghosh)
  • Компресиран пропуск на обикновен текст, написан на stdout, би съдържал корумпирани данни поради невъзможност да се постави дескрипторът на файла в двоичен режим.
  • Прикрепете pg_get_ruledef (), за да отпечатате правилния изход за правилото ON SELECT на изглед, чиито колони са преименувани (Tom Lane)
  • В някои случаи в ъгъла, pg_dump разчита на pg_get_ruledef () за показване на изгледи, така че тази грешка може да доведе до неуспешни грешки.
  • Фиксирайте изхвърлянето на външни връзки с празни ограничения, като например резултат от естествена ляво свързване без обикновени колони (Tom Lane)
  • Коригирайте изхвърлянето на функционални изрази в клаузата FROM в случаите, когато изразът не се отклонява в нещо, което прилича на функционално повикване (Tom Lane)
  • Коригирайте изхода pg_basebackup на stdout на Windows (Haribabu Kommi)
  • Архивирането, написано на stdout, ще съдържа корупционни данни поради невъзможност да се постави описанието на файла в двоичен режим.
  • Прикрепете pg_rewind за правилно обработване на файлове над 2GB (Kuntal Ghosh, Michael Paquier)
  • Обикновено такива файлове няма да се показват в директории с данни на PostgreSQL, но в някои случаи те могат да бъдат налице.
  • Коригирайте pg_upgrade, за да сте сигурни, че крайният запис WAL няма wal_level = минимум (Bruce Momjian)
  • Това условие може да попречи на повторното свързване на обновените сървъри в режим на готовност.
  • Коригирайте дължината на записа на WAL (Andres Freund) на pg_xlogdump
  • В postgres_fdw възстановете връзките към отдалечени сървъри след команди ALTER SERVER или ALTER USER MAPPING (Kyotaro Horiguchi)
  • Това гарантира, че промените на опциите, засягащи параметрите на връзката, ще бъдат приложени бързо.
  • В postgres_fdw разрешете отмяната на команди за дистанционен контрол на транзакциите (Robert Haas, Rafia Sabih)
  • Тази промяна ни позволява бързо да избегнем чакането на отдалечен сървър, който не реагира, в много повече случаи, отколкото преди.
  • Увеличете MAX_SYSCACHE_CALLBACKS, за да осигурите повече място за разширения (Tom Lane)
  • Винаги използвайте -fPIC, не -fpic, когато изграждате споделени библиотеки с gcc (Tom Lane)
  • Това поддържа по-големи разширителни библиотеки на платформи, където това е различно.
  • В MSVC изгражда, обработва случая, където библиотеката на openssl не е в поддиректория VC (Andrew Dunstan)
  • В MSVC изгражда, добавете подходяща пътека за libxml2 header files (Andrew Dunstan)
  • Това поправя предишната необходимост да се движат нещата в стандартните инсталации на Windows с libxml2.
  • В MSVC изгражда, разпознава Tcl библиотека, наречена tcl86.lib (Noah Misch)
  • В MSVC създава, чести настройките PROVE_FLAGS на командния ред на vcregress.pl (Andrew Dunstan)

Подобен софтуер

CUBRID-Python
CUBRID-Python

15 Apr 15

Jaxer
Jaxer

3 Jun 15

SmallSQL
SmallSQL

12 May 15

Qercus
Qercus

14 Apr 15

Коментари към PostgreSQL

Коментари не е намерена
добавите коментар
Включете на изображения!
Търсене по категория