××× ×××× ××ַך×××, Andrey Borodin ×××¢× ××Öž×× ××ך ××× ××× ××Öž×× ××¢× ×××¢× ××× ×ש××× ×× ×עך׀×ַך×× × ×€×× ×¡×§××××× × PgBouncer ×××¢× ×××××× ×× × ×× ×€Ö¿×ַך××× ××× × ×€ÖŒ××עך
×××××:
× ×××× ××¢×עך! ×××× × ×Öž××¢× ××× ×¢× ×ך×.
××× ××Ö·× ×עקס, ××× ×Ö·× ××××ק××¢× ×Öž×€Ö¿× ×ק×ך ××Ö·××Ö·×××ס××. ××× ×××Ö·× × ××ך ××Öž×× ×Ö· ××¢××¢ ×××¢×× ×€Ö¿×ַך××× ××× × ×€ÖŒ×Öž×Öž×עך ק×Ö·× ×¢×§×©×Ö·× ×.
×××× ××ך ××××¡× ××× ×Š× ×š××€× ×€Ö¿×ַך××× ××× × ×€ÖŒ×Öž×Öž×עך ××× ×š×ס×ש, ××Öž×× ××ך. ××× ××ַקע ××××× ×Š× ××¢×€Ö¿×× ×¢× ×Ö· ××× ××¢×× ×ש ×עך××× ×××֞ס ××Öž× ×××× ××¢×ך×× ××¢× ××× ×× ××¢×× ×ש ×××עך×Ö·××ך.
×× ××¢××¢ ××× ××Ö·× ×¥ ק×Öž××€ÖŒ××׊×ך×, ××××Ö·× ××× ×€×××¢ ××Ö·××Ö·×××ס×× ×× ×€Ö¿×ַך××× ××× × ×€ÖŒ×Öž×Öž×עך ××× ××¢×××× ××× ××× ××ך ××Öž× × ×× ××€××× ××Ö·×š×€Ö¿× ×Š× ××××¡× ×××¢×× ×××. ×€×× ×§×ךס, עס ××¢× ×¢× ×¢×××¢××¢ סע×××× ×ס ××××¢×××, ×Öž×עך ××× Postgres עס ×ַך××¢× × ××©× ×Ö·×××. ××× ××× ×€ÖŒ×ַך×Ö·××¢× (××× HighLoad ++ 2019) עס ××× ×Ö· ××ַך××× ×€×× Nikolai Samokhvalov ×××¢×× ××ַש××¢×××§× ×€Ö¿×š××× ××× Postgres. ××× ××× ××× ×€Ö¿×ַךש×××× ×¢×¡, ××¢× ××©× ×עק×××¢× ×Ö·×עך ×××֞ס ××Öž×× ×©××× ×§×Ö·× ×€××××¢×š× ×××עך ׀ֿך××× ××ש××××עס, ××× ××֞ס ××¢× ×¢× ××¢× ××©× ×××֞ס ××¢× ×¢× ×€×××¡× ××× ×עך ××¢××× ×¡×ס××¢× ×€ÖŒ×š×Öž×××¢×ס ש××Ö·××ת ×Š× ×× × ×¢×¥ ××× ×××× ××××Ö·××Ö·×××ש×Ö·×. ××× ××× ×¢×××¢××¢ עך×עך עס ×§×¢× ×××× ××Ö·× ×¥ ש××עך ××× ××¢× ××× ×¢× ×Ö·× ×× ×€×š××××¢××¢× ××¢× ×¢× × ××©× ×§××֞ך ××× ×עך ××Öž×.
Yandex ××× Postgres. ×€×××¢ ××Ö·× ×עקס ××Ö·××× ×× ×ס ××¢×× ××× Yandex.Cloud. ××× ××ך ××Öž×× ×¢×××¢××¢ ׀֌ע××Ö·×××עס ×€×× ××Ö·×× ×××֞ס ×××©×¢× ×¢×š××× ×××Ö· ××× ×ס×עך ×Ö· ×××××Öž× ×š×ק××עס ׀֌עך סעק×× ××¢ ××× Postgres.
××× ××ך ׊×ש××¢×× ×Ö· ׀עך×× × ×֞ך××Ö·× ×§× ××× ×€Ö¿×ַך ×Ö·××¢ סעך×××סעס - ××֞ס ××× ×× ××××€ÖŒ× ×¢×š×©××ק × ×Öž××¢ ×€×× ââ×× × ×Öž××¢, ×× ××¢××××× ×××¢× ×Š×××× ×š×¢×€ÖŒ××ַק×Ö·× (ס×× ×שך×Öž× ×Öž×ס ××× ××ס×× ×קך×Ö·× ×ַס), ××ַק×Ö·×€ÖŒ, סק××××× × ×€×× ××××¢× ×¢× ×š×ק××עס ××××£ ×× ×š×¢×€ÖŒ××קע.
××¢×עך ×§× ××× × ×Öž××¢ ××× Postgres, ××××£ ×××֞ס, ××× ×Ö·××ש×Ö·× ×Š× Postgres ××× ××Öž× ×××֞ך×× × ×¡×ס××¢××¢×, ×Ö· ×€Ö¿×ַך××× ××× × ×€ÖŒ××עך ××× ×××× ××× ×¡××Ö·××ך×. ק×Ö·× ×¢×§×©×Ö·× ×€ÖŒ××עך ××× ××¢× ××Š× ×€Ö¿×ַך ×€×¢× ×¡×× × ××× ×€Ö¿×ַך ×××Ö·× ××××€ÖŒ× ×Š××.
×××֞ס ××× ×עך ××××€ÖŒ× ×Š×× ×€×× ×§×©×š ×€ÖŒ××עך?
Postgres ×Ö·××ַ׀֌ץ ×Ö· ׀֌ך×֞׊עס ××Öž××¢× ×××¢× ×ך××¢×× ××× ×Ö· ××Ö·××Ö·×××ס. ××¢× ×××× ×Ö·× ×××× ×§×©×š ××× ×××× ×€ÖŒ×š×֞׊עס, ×××× ×€ÖŒ×֞ס××ךעס ××Ö·×§×¢× ×. ××× ××× ××¢× ××Ö·×§×¢× × ×¢×¡ ××¢× ×¢× ×Ö· ×€ÖŒ××Ö·×¥ ×€×× ×€×ַךש×××¢× ×¢ ק×Ö·×שעס, ×××֞ס ××¢× ×¢× ××Ö·× ×¥ ×××ַעך ×Š× ××Ö·×× ×Ö·× ×עךש ×€Ö¿×ַך ×€×ַךש×××¢× ×¢ ק×Ö·× ×¢×§×©×Ö·× ×.
×Ö·××××××Öž× ×Ö·×××, Postgres ק×Öž× ××× ×Ö· ××¢× ××¢ ×עך××€× procArray. עס ×ÖŒ××× ×קעך××ק ××Ö·×× ×××¢×× × ×¢×¥ ק×Ö·× ×¢×§×©×Ö·× ×. ××× ×ÖŒ××¢× ×Ö·××¢ ׀֌ך×֞ק×ַךך××Ö· ׀֌ך×ַסעס×× × ×Ö·××עך×××Ö·×× ××Öž×× ××× ×¢×ַך ק×Ö·××€ÖŒ×עקס×××; ××× ××××€× ×××עך ×× ××× ×Š×¢ ××¢× ××¢ ×€×× ââ× ×¢×¥ ק×Ö·× ×¢×§×©×Ö·× ×. עס ××× ×Ö· ש××× ×©× ×¢× ×Š×ק×, ×Öž×עך ××× ×עך ×× ×§×Ö·××× × × ×¢×¥ ק×Ö·× ×¢×§×©×Ö·× ×, ×× ××× ×× ×××¢×š× ×Ö· ×××¡× ×עך ×××ַעך. ××× ×××¢× ×× ××× ×× ×××¢×š× ×Ö· ×××¡× ×עך ×××ַעך, ××ך ×§×¢× ×¢× ×¡××£ ×ַך×××£ ×€ÖŒ×××× × ×Ö· ×××עך ×××× ×€ÖŒ×š××Ö·× ×€Ö¿×ַך ×Ö· ×€ÖŒ××Ö·×¥ ×€×× × ×¢×¥ ק×Ö·× ×¢×§×©×Ö·× ×.
עס ××¢× ×¢× 3 ××¢×××¢× ×ַ׀֌ך×Öž××ש××:
- ××××£ ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×××Ö·×.
- ××××£ ×× ××Ö·××Ö·×××ס ×××Ö·×.
- ××× ×Š×××ש×, ××֞ס ×××, ×Ö·××¢ ××× ×× ×€×× ×§×Ö·×××Ö·× ××ש×Ö·× ×.
׊×× ××Ö·×××עך×, ×× ××¢××××-××× ×€ÖŒ××עך ××× ×עך××××Ö·× ××× ×עך ×Ö·× ××××ק××× ×. ××× ××עך ×€×š×¢× ×× ××× PostgreSQL Professional ××Öž× ××֞ס ×עךס×× ×¡. ×××¢× ×¢×¡ ×××¢× ×עךש××Ö·× ×¢× ××× ×©××עך ×Š× ×€×֞ך××ס××Öž××. ××× ××× ×€×ַק×, ××ך ××Öž×× ×Š×××× ×¡×Ö·××ש×Ö·× × ×€Ö¿×ַך ×עך ×ַך××××¢×§× ×Š× ×§×××Ö·×× ×€××. ××ס ××¢× ×¢× ×Ö·×€ÖŒ××ַק××ש×Ö·×-×××Ö·× ××¢×§× ××× ×€ÖŒ×š×Ö·×§×¡× ×עק×.
×ַ׀֌׀֌××ק×Ö·×××Öž×-×××Ö·× ××¢×§× ××× ×× ××××Ö·×¡× ×××¢×. ××× ×ÖŒ××¢× ×Ö·××¢ ק×××¢× × ×ך×××עךס ׊×ש××¢×× ××ך ××× ×Ö· ×××¢×: ×€×֞ךש××¢×× ×××××Ö·× × ×€×× ×××× ×§×Ö·× ×¢×§×©×Ö·× × ××× ×§×Öž× ××× ×¢×××¢××¢ ×××¥ ק×Ö·× ×¢×§×©×Ö·× × ×Š× ×× ××Ö·××Ö·×××ס.
×עך ׀֌ך×Öž×××¢× ×××֞ס עך××××Ö·× ××× ×Ö·× ××× ×Ö· ×××עך ×€×× × ××ך ××××× ×Š× ×××Öž× ×× ××Ö·×§×¢× ×, ××ך ××××× ×Š× ×Š×¢×××ק××¢× ×¢×¡ ×Š× ×€×××¢ ×××ך×××Ö·× ××ש×× ×¢×.
××¢×š× ×Öž× ××ך ×€×ַךש×××× ×Ö·× ××ך ××Öž×× ×¢×××¢××¢ ×עך ×Ö·××××××Ö·××××Ö·×× ××Öž× ×¢×¡, ×¢×××¢××¢ ××Ö·×× ×¡×¢× ×עךס. ××× ×עך ׊×××Ö·× × ×Š× ×עך ק×××¢× × ×××Ö·× ×€ÖŒ×××× × ×€××š× ×Š× ×ךעסעךע × ××עך×. ×ך××ס ×Öž× ×¢×¡ ××¢× ×¢× ×××¢×× 10 ק×Ö·× ×¢×§×©×Ö·× ×. ××֞ס ××× ×עך ××š×¢× ×××֞ס ×§×¢× ×ַך××¢×× × ×֞ך××Ö·××.
×××× ××ך ךע×× ×××¢×× ×€ÖŒ×š×Ö·×§×¡× ×€ÖŒ×Öž×Öž×עךס, עס ××¢× ×¢× ×Š×××× ×€ÖŒ×Öž×Öž×עךס ×××֞ס ×§×¢× ×¢× ××Öž× ×Ö· ×€ÖŒ××Ö·×¥ ×€×× ××× ××. ××× ××¢× ×¢× × ××©× ××××× ×€ÖŒ×Öž×Öž×עךס. ××× ××¢× ×¢× ×€ÖŒ×Öž×Öž×עךס + ×עך ק×× ×€×Ö·× ×קש×Ö·× ×Ö·××××. ××ס
×Öž×עך, ××××עך, × ×× ×Ö·××¢××¢× ××ַךף ××¢× × ×Öž× ×€×Ö·× ×קש×Ö·× ×Ö·××××. ××× ××֞ס ×€××š× ×Š× ××¢× ×€×Ö·×§× ×Ö·× ×€ÖŒ×Öž×Öž×עךס ש×××Š× ××××× ×¡×¢×¡××¢ ×€ÖŒ×Öž×Öž××× ×, ×"× ×××× ×× ×§×Ö·××× × ×§×××¢× ×, ×××× ×Ö·××××Öž××× × ×§×××¢× × ×Š× ×× ××Ö·××Ö·×××ס.
××֞ס ××× × ××©× ×××עך ×€ÖŒ×ַס×ק ×€Ö¿×ַך ××× ××עך ׊××עק×, ×Ö·××× ××ך × ××Š× PgBouncer, ×××֞ס ×××€ÖŒ××Ö·××Ö·× ×¥ ×ך×Ö·× ×¡×ַק×××Öž× ×€ÖŒ×Öž×Öž××× ×, ×"× ×¡×¢×š××עך ק×Ö·× ×¢×§×©×Ö·× × ××¢× ×¢× ××Ö·××©× ×Š× ×§×××¢× × ×§×Ö·× ×¢×§×©×Ö·× × ××××× ×€Ö¿×ַך ×× ××¢×××עך ×€×× ×× ×ך×Ö·× ×¡×ַק×××Öž×.
××× ××× ××× ××עך ××עךק××Öž××, ××֞ס ××× ××ת. ××עך עס ××¢× ×¢× ×¢×××¢××¢ ׀ך××××¢××¢×.
×× ×€×š××××¢××¢× ×Öž× ××××× ×××¢× ××ך ××××× ×Š× ×××Ö·×× ×Öž×××š× ×Ö· סעס××¢, ××××Ö·× ×Ö·××¢ ×××× ×× ×§×Ö·××× × ×§×Ö·× ×¢×§×©×Ö·× × ××¢× ×¢× ××××¢. ×Ö·××¢××¢× ×עק×××¢× ××× ×Ö· ×××€ÖŒ××ַקק ××× ×¢×€×¢×¡ עס ×××¢×š× ×©××עך ×Š× ×©×€ÖŒ×ך ×× ×¡×¢×¡××¢.
××Öž× ××ך ×§×¢× ×¢× × ××Š× application_name_add_host. ××֞ס ××× ×Ö· ×××¢× ××××£ ×× ××Ö·×× ×¡×¢×š ×××Ö·× ×Š× ××××× ×Ö·× IP ×Ö·×ךעס ×Š× application_name. ×Öž×עך ×ַ׀֌׀֌××ק×Ö·×××Öž×_× ×Ö·××¢ ××× ××ַש×××× ×××š× ×Ö·× × ×Öž× ×§×©×š.
××××£ ××¢× ×ך×Ö·×€×ק, ××× ×× ××¢× ×©××š× ××× ×€×ַק××ש ך×ק××עס, ××× ××× ×× ×××× ×©××š× ××× ×š×ק××עס ×××֞ס ×€×××¢× ××× ×× ××Ö·××Ö·×××ס. ××× ×עך ××××ק ××× ×€ÖŒ×× ×§× ×× ×× ×¡××Ö·××ך×× × ×€×× ×Ö·×€ÖŒ××ַק××ש×Ö·×_× ×Ö·××¢, ×××֞ס ××× ××ךף ××××× ×€Ö¿×ַך ×ך××ס×× ×, ×Öž×עך עס ××× × ××©× ×€×š××.
××× ×Ö·××ש×Ö·×, ××× ××Ö·×× ×¡×¢×š ××ך ×§×¢× ×¢× × ××©× ××Ö·××š×¢× ×¢×Š× ×××× ×עק×, ×"× ×× × ××עך ×€×× ××Ö·××Ö·×××ס ק×Ö·× ×¢×§×©×Ö·× × ×€ÖŒ×¢×š ס׀֌ע׊××€×ש ××Ö·× ×׊עך, ׀֌עך ס׀֌ע׊××€×ש ××Ö·××Ö·×××ס.
×××֞ס ××× ××֞ס ×€××š× ×Š×? ××ך ××Öž× ×Ö· ××Öž×××× ××× ×¡× ×עשך××× ××× C ++ ××× ×¢×š××¢×¥ × ×ך××× ×Ö· ק×××× ××× ×¡× ××××£ ×Ö· × ×Öž××¢ ×××֞ס ××× × ××©× ××Öž× ×¢×€ÖŒ×¢×¡ שךעק××¢× ××× ×× ××Ö·××Ö·×××ס, ×Öž×עך ×××× ×©×֞׀עך ××× ×ש×××¢. עס ×Öž×€ÖŒ×¢× ×¡ 20 ק×Ö·× ×¢×§×©×Ö·× × ××× ×Ö·××¥ ×Ö·× ×עךש ×××¢× ×××ַך××. ××€××× ×××× ×§×Öž× ××× × ×֞ך××Ö·×.
××ך, ×€×× ×§×ךס, ×עשך××× ×Ö· ק×××× ××Ö·××¢ ×€Ö¿×ַך ××Ö·×× ×¡×¢×š ×××֞ס ׊×××¢××¢×× ××¢× ××ַש××¢××ק×, ×"× ××××××¢× ×§××××Ö·× ×¥ ×Š× ×× ×עק×.
עס ×××Öž×× ×××× ××¢×××¢× ×Š× ××Öž× ××֞ס ××××£ ×× Postgres ×××Ö·×, ×"× ××Ö·××š×¢× ×¢×Š× ×× ×š×Öž×עס ××× ×× ××Ö·××Ö·×××ס ×××š× ×× × ××עך ×€×× ×§×Ö·× ×¢×§×©×Ö·× ×.
×Öž×עך ××¢××Öž×× ××ך ×€×ַך×××š× ×× ×€×××ק××× ×Š× ×€Ö¿×ַךש×××× ×××֞ס ××ך ××Öž×× ×§××× ×§×Ö·× ×¢×§×©×Ö·× × ×Š× ×× ×¡×¢×š××עך. PgBouncer ××× × ××©× ×××Ö·×š×€× ×Ö· קשך ××¢×ת, עס ש××¢× ××ק ×§×¢×š× ×× ××¢×××¢ ××× ×€Ö¿×֞ך××ַ׊××¢. ××× ××ך ×§×¢× ×¢× × ××©× ×€Ö¿×ַךש××××: ×׀ֿשך ×××× ×€ÖŒ×ַך×Öž× ××× ×€××š×¢× ×עך×, ×׀ֿשך ×× ××Ö·××Ö·×××ס × ×֞ך ×€×ַך׀×Ö·××, ×׀ֿשך ע׀֌עס ××× ×€×Ö·×ש. ××עך עס ××× ×§××× ×××Ö·×× ×֞ס×ס. ×××× ×Ö· סעס××¢ ×§×¢× ×¢× × ×× ×××× ××¢×ך×× ××¢×, ××ך ×××¢× × ××©× ××××¡× ×××֞ס עס ×§×¢× × ××©× ×××× ××¢×ך×× ××¢×.
××× ×Ö· ×××עך ×€×× ×, ××ך ק×ק ××× ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×ך×ַ׀ס ××× ××¢× ×Ö·× ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ××× × ××©× ×ך××¢××.
ק×ק ××× ×× ×©×€ÖŒ××¥ ××× ××¢× ×Ö·× ××Öž×× ×¡×¢×š ××× ××××-×€×Öž××¢×. ××֞ס ××× ×Ö· ×××š× ×× × ×€×× × ××× ××¢× ××¢×× ×€×× ×× ××× ×¡×. ××ך ×€×ַךש×××× ×Ö·× ××ך ××Öž× ×€ÖŒ×š×׀֌עך×× × ×Š× ×××Öž× ×× ××Ö·××Ö·×××ס ××× ×Ö· ××֞ך ××× ×Ö· ××Ö·××, ××× ××ך ××Ö·×š×€Ö¿× ×Š× ×××Öž× ×× ×€ÖŒ×Öž×Öž×עך.
××ך ××Öž×× ×§×××¢× ×Š× ×× ××¡×§× × ×Ö·× ××ך ××Ö·×š×€Ö¿× ×עך PgBouncers.
××Öž×× ×¡×¢×š ××× ××¢×××¢× ×€ÖŒ×Ö·××©× ×Ö· ××ס×.
××× ××× ××¢×××× ×¢×¡ ×Ö·××× ×Ö·× ×¢×××¢××¢ ××Ö·×× ×¡×¢×š×¡ ×§×¢× ×××× ×××׀ש×××× ×××š× ×š××××× × ×× TCP ×€ÖŒ×֞ך×. ××× ×× ×֞׀֌עך××××× × ×¡×ס××¢× ×××××Öž××Ö·××ש ×ך×Ö·× ×¡×€×¢×š×¡ ×× ×§×Ö·××× × ×ק׀֌ ק×Ö·× ×¢×§×©×Ö·× × ×Š××××©× ××× ××× ×š×Öž×× ×-ך×Öž×××.
××֞ס ××× ×ך×Ö·× ×¡×€ÖŒ×¢×š×Ö·× × ×€Ö¿×ַך ק××××Ö·× ×¥, ×××Ö·×ש עס ק××§× ××× ××ך ××Öž×× ×××× ××Ö·×× ×¡×¢×š, ×Öž×עך ××ך ××Öž×× ×€×š×Ö·×××Ö·× ×××ש×Ö·× ×€×× ×××××ק ק×Ö·× ×¢×§×©×Ö·× × ×Š××××©× ×€×××¡× ××ק ××Öž×× ×¡×¢×š×¡.
××× ××× ×Ö· ×××עך ××Öž××¢× × ××ך ×§×¢× ××Ö·××¢×š×§× ×Ö·× ×× 3 ××Ö·×× ×¡×¢×š× ××¢×עך ×¢×¡× ×××עך ××ַךץ ××× 100%. ××ך ××Ö·×š×€Ö¿× ××Ö·× ×¥ ×¢×××¢××¢ ××Ö·×× ×¡×¢×š×. ×€×ך×××ס?
××××Ö·× ××ך ××Öž×× TLS. ××ך ××Öž×× ×Ö· ×× ×§×š××€ÖŒ××× ×§×©×š. ××× ×××× ××ך ××¢× ×ש××ַךק Postgres ××× ××× ×Öž× TLS, ××ך ×××¢× ××¢×€Ö¿×× ×¢× ×Ö·× ×× × ××עך ×€×× ××¢×ך×× ××¢× ×§×Ö·× ×¢×§×©×Ö·× × ×€×Ö·×× ××× ×ÖŒ××¢× ×Š×××× ×֞ך×עךס ×€×× ××Ö·×× ×Ö·××× ××× ×¢× ×§×š×׀֌ש×Ö·× ×¢× ××××Ö·××, ××××Ö·× ×× TLS ××Ö·× ×ש××ק ק×Ö·× ×¡××× ×§×€ÖŒ× ×š×¢×¡×ךס×.
××× ××× ×× ×©×€ÖŒ××¥ ××ך ×§×¢× ×¢× ××¢× ××Ö·× ×¥ ×Ö· ×××¡× ×§×š××€ÖŒ××Öž×ך×Ö·×€×ק ×€×Ö·× ×קש×Ö·× × ×××֞ס ××¢× ×¢× ×¢×§×¡×ַק××××Ö·× ×××¢× ×¢×¡ ××× ×Ö· ××××Ö·×××¢ ×€×× ââ×× ×§×Ö·××× × ×§×Ö·× ×¢×§×©×Ö·× ×. ××× × ××× ××עך עךש××ק ×§×¢× ×¢× ××ַש××××¢× ×Š××××©× ×Ö·××××××Ö·×××××× ××Öž× ×¢×¡, ×Ö· ××××Ö·×××¢ ×€×× ââ×× ×§×Ö·××× × ×§×Ö·× ×¢×§×©×Ö·× × ××× ×Ö· ׀עך×× ×××€ÖŒ×ש ס××××ַ׊××¢. ×Ö·× ×××, ×€Ö¿×ַך ×¢×××¢××¢ ס××× ×× ×Ö·×× ×¢×š×©××ק ××× ×Ö·× ×Ö·××××××Ö·××Ö·×, ×× ××× ×Š×¢ ××ַסע ××× ×עש××§× ×Š× ×× ×× ×עך ××Ö·×× ×Š×¢× ×עך. ××× ×××¢×× ×Ö·××¢ ק×××¢× ×Š× ××Öž×× ××¢×× ×Š× TLS ××× ×עך ××¢×××קעך ׊×××.
××× ×Ö· ×ך××ס × ××עך ×€×× TLS ××Ö·× ×ש××ק ×§×¢× × ×× ×עך ××Öž×× ××¢×× ×Š× ××Ö·×× ×¡×¢×š, ×Öž×עך ×××¢× ×§×××¢××©× ×××× ××Ö·×××. ךע×× ×Š× ×עך ×××××Ö·××, ×× ××××Ö·×××¢ ×€×× ââ×× ×§×Ö·××× × ×§×Ö·× ×¢×§×©×Ö·× × ×§×¢× ×××× ×Ö·× ××Ö·×׀֌ע×. ×××× ××ך ׀֌ך××××š× ××××עך ×Š× ×עך ××Ö·××¢ ×Öž× ×¢×§×¡×€ÖŒ×Öž×× ×¢× ×©×Ö·× ××ַק×Öž×€×£, ××× ×××¢×× × ××©× ×§×××¢× ××××עך ××× ××××עך ××× ×Ö· ק×Öž×××ך×Ö·× × ××××Ö·×××¢.
××Öž ××× ×Ö· ×××ש׀֌×× ×€×× 16 ×€ÖŒ×××Öž×× ×¡×¢×š×¡ ×××֞ס ××Öž×× 16 ק×֞ךעס ××× 100%.
××ך ×עק×××¢× ×Š× ×× ×§×ַסק××× PgBouncer. ××֞ס ××× ×עך ×עס×עך ק×Ö·× ×€×××עך××ש×Ö·× ×××֞ס ×§×¢× ×¢× ×××× ×Ö·×ש×××× ××××£ ××× ××עך ××ַסע ××× ××Öž×× ×¡×¢×š. ××× ××עך ×€×× ×ך×××¡× ××ק ××Ö·×× ×¡×¢×š× ××¢× ×¢× ××¢× ××Š× ×€Ö¿×ַך TCP ××Ö·× ×ש××ק, ××× ×× ×¢×š××¢× ××Ö·×× ×¡×¢×š× ××¢× ×¢× ××¢× ××Š× ×€Ö¿×ַך ×€×ַק××ש ×€ÖŒ×××× ×, ×Ö·××× × ××©× ×Š× ×€×š×Ö·×××¢× × ×€×× ×ך×××¡× ××ק ק×Ö·× ×¢×§×©×Ö·× × ×Š× ×€××.
××× ××¢× ×§×Ö·× ×€×××עך××ש×Ö·×, ×Ö· ×××Ö·× ×š×ס××Ö·×š× ××× ××¢×××¢×. ××ך ×§×¢× ×¢× ×š×ס××Ö·×š× ×Ö·××¢ ×× 18 ××Ö·×× ×¡×¢×š× ×××× ×¢×š ×××š× ×××× ×¢×š. ×Öž×עך ×Š× ××Ö·××× ×Ö·××Ö· ×Ö· ק×Ö·× ×€×××עך××ש×Ö·× ××× ××Ö·× ×¥ ש××עך. Sysadmins, DevOps ××× ××¢× ××©× ×××֞ס ××¢× ×¢× ×ַקש×× ×€×ַך×Ö·× ××××֞ך×××¢× ×€Ö¿×ַך ××¢× ×¡×¢×š××עך ×××¢× × ××©× ×××× ×××עך ׊×׀ך××× ××× ××¢× ×֞ך××¢× ×× ×.
עס ×××Öž×× ××סק×××¢× ×Ö·× ×Ö·××¢ ××× ××עך ××׀֌ך×××××Ö·× ×¥ ×§×¢× ×¢× ×××× ×€ÖŒ×š×Öž××Öž××¢× ×Š× ×¢×€Ö¿×¢× ×¢× ×ק×ך, ×Öž×עך ××Öž×× ×¡×¢×š ××× × ××©× ×××עך ××¢××× × ×עש××׊×. ×€Ö¿×ַך ×××ַש׀֌××, ×× ×€×××ק××× ×Š× ××××€× ×¢×××¢××¢ PgBouncers ××××£ ×××× ×€ÖŒ×Öž×š× ××× ××××× ××¢× ×Ö· ×××ש ׊×ך×ק. עס ××× ××¢×××¢× ×Ö· ׊××¢× ××¢×× ××× ××¢× ×©×ך×× ×¢×××¢××¢ ××֞ך ׊×ך×ק.
×Öž×עך × ×Öž× ×Ö· ×××ַש׀֌××. ××× Postgres, ××ך ×§×¢× ×¢× ××Öž×× ××Ö·×× ×Ö· ××§×©× ××× ×€ÖŒ×š×Öž×ךעס ×××š× ×©××§× ××¢× ×¡×× ×Š× ×Ö· ×Ö·× ×עךש קשך ×Öž× ××× ××××ק ×Öž××¢× ××ַק××ש×Ö·×. ××עך ×¢×××¢××¢ ק××××Ö·× ×¥ ׀ש×× ×©××§× ×Ö· TCP ××ַש××¢××ק, ×"× ××× ×ךע×× ×× × ×¢×¥ קשך. ×××֞ס ×××¢× ××Öž×× ×¡×¢×š ××Öž×? עך ×××¢× ××Öž×š× ××©× ××Öž×. עס ×××¢× ×€×֞ך××¢×Š× ×Š× ××ס׀××š× ×× ×קש×. ×××× ××ך ××Öž× ××ק×××¢× ×Ö· ך×××ק × ××עך ×€×× ×§×Ö·× ×¢×§×©×Ö·× × ×××֞ס ××Öž×× ××ש××€× ×Ö· ××Ö·××Ö·×××ס ××× ×§×××× ×š×ק××עס, עס ××× × ××©× ××¢× ×× ×Š× ××סק×Ö·× ×¢×§× ×× ×§×©×š ×€Ö¿×× ××Ö·×× ×¡×¢×š; ××ך ×××× ××Ö·×š×€Ö¿× ×Š× ×€×Ö·×š×¢× ×××§× ×× ×š×ק××עס ×××֞ס ××××€× ××× ×× ××Ö·××Ö·×××ס.
××֞ס ××× ××¢×××¢× ×€ÖŒ×Ö·××©× ××× ××¢× ×€ÖŒ×š×Öž×××¢× ××× × ×Öž× × ××©× ×עך×××©× ××× ×× ×ַ׀֌ס×ך×× ×€×× ××Öž×× ×¡×¢×š.
××× ×××× ××¢× ×¢× ××ך ×עק×××¢× ×Š×× ××¡×§× ×, ×× ××ך ×××š×€× ×× ×××××¢× ×¢× ×€×ך××× ××× ×ס-×€××עך, ×××ס ×××¢× ×××¢×š× ×× ××××ק××, ××¢×€×ק×, ××× ×××¢××× ××¢× ×§×¢× ×©× ×¢× ×€×ךך×××× ×× ×€×š××××¢××¢× ××× ×××ס, ×€×ךש×××× ×××, ××× ××¢× ××Ö·×××-×ךע××¢×.
××ך ש××¢×× ×××××××ךע×Ö·××× × ××× ×× ××××€ÖŒ× ×ַך××¢×. ××ך ××Ö·×š×€Ö¿× ×Š× ×§×¢× ×¢× ×Š× ×©×¢×€ÖŒ× ×× ××××Ö·×××¢ ×€×× ââ×× ×§×Ö·××× × TLS ק×Ö·× ×¢×§×©×Ö·× × ××¢××× ×.
×Š× ××Öž× ××֞ס, ××ך ××Öž×× ×Š× ×Ö·× ××××ק××¢× ×Ö· ××Ö·××× ×עך ××××××Öž×עק ×עך××€× Machinarium, ×××֞ס ××× ×××××× × ×Š× ××ַשך××Ö·×× ×× ××ַש×× ×©××Ö·×× ×€×× ×Ö· × ×¢×¥ קשך ××× ×¡×ַק×××¢× ×ש×Ö·× ×§×Öž×. ×××× ××ך ק×ק ××× ×× libpq ×ק×ך ק×Öž×, ××ך ×××¢× ××¢× ×¢×××¢××¢ ש××× ×§×Öž××€ÖŒ×עקס ק×Ö·××ס ×××֞ס ×§×¢× ×¢× ××¢×× ××ך ×Ö· ךע×××××Ö·× ××× ××Öž××, "ך××€× ××ך ש׀֌ע×עך. ךע×× ×××Š× ××× ××Öž×× IO ×€Ö¿×ַך ××׊×, ×Öž×עך ×××¢× ×× IO ×××× ×Ö·××עק, ××× ×××¢× ××Öž×× ×Ö· ××ַסע ××××£ ×× ×€ÖŒ×š×ַסעסעך. ××× ××֞ס ××× ×Ö· ××Ö·×××-××ך×× ×¡××¢××¢. × ×¢×¥ ק×Öž××× ×ק×ַ׊××¢ ××× ×××ש×Ö·×××Ö·×× ××סקך×××× ×××š× ×Ö· ש××Ö·× ××ַש××. ×€×××¢ ×ÖŒ×××× ××× "×××× ××× ×€×š×עך ××ק×××¢× ×Ö· ×€ÖŒ×ַק×Ö·× ××¢×עך ×€×× ×ך××ס N, ×××Š× ××× ×××ַך×× ×€Ö¿×ַך N ×××עס," "×××× ××× ×עש××§× ×Ö· SYNC ×€ÖŒ×ַק×Ö·×, ×××Š× ××× ×××ַך×× ×€Ö¿×ַך ×Ö· ×€ÖŒ×ַק×Ö·× ××× ×š×¢×××××Ö·× ××¢××Ö·××Ö·××Ö·." ×עך ךע×××××Ö·× ××× ×Ö· ××Ö·× ×¥ ש××עך, ק×Ö·×× ×עך×× ×××Ö·×××× ×§×Öž×, ××× ×××× ×× ×××× ××× ×§×Öž× ××עך××¢× ×Š× ×©××š× ××עךק×ק×. ××ך ××¢×××× ×¢×¡ ×Ö·××× ×Ö·× ×Ö·× ×©××Öž× ×€×× ×Ö· ש××Ö·× ××ַש××, ×× ×€ÖŒ×š×Öž×ך×Ö·×××¡× ××סקך×××× ×× ××××€ÖŒ× ×××¢× ×€×× ×× ×עך×ַקש×Ö·× ××× ×× ×€×Öž×š×¢× ×€×× ×Ö· ׀֌ך×Öž×¡× ××׀֌עך×Ö·×××× ×§×Öž×. עס ××× × ×֞ך ×Ö·× ××× ××¢× ××׀֌עך×Ö·×××× ×§×Öž× ××ך ××Ö·×š×€Ö¿× ×Š× ×ַך××Ö·× ××××× ×¢×š×עך ××× ×× ××ך××€×ך×× × ×¡×ק×××Ö·× ×¡ ××ַךף ×××× ×× ×עך×Ö·×€ÖŒ××× ×××š× ×××ך×× ×€Ö¿×ַך ××Ö·×× ×€×× ×× × ×¢×¥, ××× ×× ××ך××€×ך×× × ×§×Öž× ××¢×§×¡× ×Š× ×× ×× ×עך ק×֞ך×××× ×¢ (×ך×× ×€×Öž××¢×). ×עך ׊×××Ö·× × ××× ×¢× ××¢× ×Š× ×× ×€×Ö·×§× ×Ö·× ××ך שך××Ö·×× ×× ××¢×š×¡× ×עך×××Ö·×š× ×××¢× ××× ×× ×××× ××× ×Ö· ך××עך×, ××× ×עך××עך ××××× ×Š×××××× ×Š× ×¢×¡.
××× ×Ö· ךע×××××Ö·×, ××ך ××Öž×× ×××× ×€×Öž××¢× ×××֞ס TCP ×Öž× × ×¢××¢× ××× ×š×Öž×× ×-ך×Öž××× ×€ÖŒ×ַס×× ×× TPC ×€Ö¿×ַך××× ××× × ×Š× ×€×××¢ ××עךס.
××× ××¢× ×€×Ö·×, ××¢×עך ק×××¢× × ×§×©×š ש××¢× ××ק ××××€× ××××£ ×××× ×€ÖŒ×š×ַסעסעך. ××× ××֞ס ×Ö·××Ö·×× ××ך ×Š× ××Ö·×× ×¢×¡ ק×ַש-׀ך××Ö·× ×××¢×.
××× ××× ×Ö·××ש×Ö·×, ××ך ××Öž×× ×Ö· ×××¡× ××׀֌ך×××× ×× ××Ö·×××× × ×€×× ×§×××× ×€ÖŒ×ַק××¥ ××× ×××× ×ך××ס ×€ÖŒ×ַק×Ö·× ××× ×¡×ך ×Š× ××ַ׀ך××Ö·×¢× ×× ×¡×ס××¢× ×ק׀֌ ×Öž× ×××××.
××× ×Ö·××ש×Ö·×, ××ך ××Öž×× ××׀֌ך×××× ×ך×Ö·× ×¡×ַק×××Öž× ×Ö·× ×€ÖŒ×Öž×Öž××× × ××× ××¢× ××× ×¢× ×Ö·× ×Öž××סס××, ×××¢× ×§×Ö·× ×€×××עך×, ×§×¢× ×¢× ×©××§× CANCEL ××× ROLLBACK ××× ×× ××¢×©×¢×¢× ×ש ×€×× ×Ö· × ×¢×¥ קשך ××ך××€×Ö·×, ×"× ×××× ×§××× ×××× ×¢×š ××× ×××ך×× ×€Ö¿×ַך ×Ö· ×קש×, ×Öž××סס×× ×××¢× ××Öž×× ×× ××Ö·××Ö·×××ס × ××©× ×Š× ×€ÖŒ×š××××š× ×Š× ×ק××× ×× ××§×©× ×Ö·× ×§×¢× ××××¡× ×××ַעך ךעס×ךס×.
××× ×××¢× ××¢×××¢×, ××ך ××Ö·××× ×§×Ö·× ×¢×§×©×Ö·× × ×Š× ×עך ××¢×××קעך ק×××¢× ×. ××֞ס ×Ö·×××××× ×Š× ×š××× ×¡××Ö·× ×Ö·×€ÖŒ××ַק××ש×Ö·×_× ×Ö·××¢_×Ö·××_××֞ס×. ×××× ××֞ס ××× ××¢×××¢×, ××ך ××Öž× × ×× ××Öž×× ×Š× ××ַש××¢××ק ×× ×€ÖŒ×ַך×Ö·××¢×עךס ×××֞ס ××¢× ×¢× ××ךף ×€Ö¿×ַך ×××Ö·×× ×֞ס××קס.
××ך ×ַך××¢×× ××× ×× ××× ××¢×š×¢×¡× ×€×× Yandex.Cloud. ××× ×××× ××ך × ××Š× ×עך××× PostgreSQL ××× ××Öž×× ×Ö· ק×Ö·× ×¢×§×©×Ö·× ×€ÖŒ×Öž×Öž×עך ××× ×¡××Ö·××ך×, ××ך ×§×¢× ×¢× ×©×Ö·×€Ö¿× ××Ö·××ש×ק×Ö·× ×š×¢×€ÖŒ××ַק××ש×Ö·× ×Ö·××××עך×, ×"× ××Öž×× ××× ××, ×××× ××ך ×××××, × ××Š× ××Ö·××ש×ק×Ö·× ×š×¢×€ÖŒ××ַק××ש×Ö·×. ××Ö·×× ×¡×¢×š ×××¢× × ××©× ××ַ׀ך××Ö·×¢× ×× ××Ö·××ש×ק×Ö·× ×š×¢×€ÖŒ××ַק××ש×Ö·× ××××€× ×ַך××ס.
××֞ס ××× ×Ö· ×××ש׀֌×× ×€×× ××ַש××¢×××§× ××Ö·××ש×ק×Ö·× ×š×¢×€ÖŒ××ַק××ש×Ö·×.
××× ×Ö·××ש×Ö·×, ××ך ××Öž×× ×©×××Š× ×€Ö¿×ַך ×ש×××ת ךע׀֌××ַק××ש×Ö·× ×Ö·××××עך×. ××× ×× ×§××Öž××, ×€×× ×§×ךס, ××֞ס ××× ×××××¢×××¢×, ××××Ö·× ×עך ×§× ××× ×××¢× ××¢×× ××ך ×Š× ×€×× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×××. ×Öž×עך ××× ×××× ×× ×¡××Ö·×××ש×Ö·× ×, ×××× ××ך ××Ö·×š×€Ö¿× ×€×××ש ךע׀֌××ַק××ש×Ö·× ×××š× ×× ×§×©×š ×€ÖŒ××עך ××× ×Öž××סס××, ××֞ס ××× ××¢×××¢×.
Odyssey ××× ××֞ך ק×Ö·××€ÖŒ×Ö·××Ö·××Ö·× ××Öž× ×××֞ך×× × ××× PgBouncer. ××ך ××Öž×× ×× ××¢×××¢ ק×Ö·× ×¡×Öž×× ×××֞ס ××××€× ×ÖŒ××¢× ×Ö·××¢ ×× ××¢×××¢ ק×Ö·××Ö·× ××. ×××× ×¢×€ÖŒ×¢×¡ ××× ×€×¢×× ××ק, ש××§× ×Ö· ׊××¢× ××¢××, ×Öž×עך ×××Ö· ××× ×ס×עך ×Ö·× ×ַך××ס××¢×× ××××£ GitHub, ××× ××ך ×××¢×× ×€×Ö·×š×¢× ×××§× ×× × ××××ק ק×Ö·××Ö·× ××. ×Öž×עך ××ך ××Öž×× ×©××× ×× ××××€ÖŒ× ×€×Ö·× ×קש×Ö·× ×Ö·×××× ×€×× ×× PgBouncer ק×Ö·× ×¡×Öž××.
×××, ×€×× ×§×ךס, ××ך ××Öž×× ××¢×ת ×€×֞ך××עך××× ×. ××ך ×××¢×× ×Š×ך×קק×××¢× ×× ××¢×ת ××¢××××× ×××š× ×× ××Ö·××Ö·×××ס. ××ך ×××¢× ××ַק×××¢× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×××֞ס ××ך ××¢× × × ××©× ×ַך××Ö·× ×עךע×× × ××× ×× ××Ö·××Ö·×××ס, ××× × ×× × ×֞ך ×Ö·× ××ך ××¢× × × ××©× ×ַך××Ö·× ×עךע×× × ××× ×¢×¡.
×עך ש×ך×× ××× ×€×ַךקך××€ÖŒ×× ××× ×€×Ö·× ××ך ××Ö·×š×€Ö¿× 100% ק×Ö·××€ÖŒ×Ö·××Ö·××××Ö·×× ××× PgBouncer. ××ך ×§×¢× ×¢× ××××××× ×× ××¢×××¢ ×××¢× ××× ××Ö·×× ×¡×¢×š, × ×֞ך ×Š× ×××× ××××£ ×עך ×××עך ×××Ö·×.
×Ö·× ××××ק××× ×
×¢×××¢××¢ ××עך×עך ×××¢×× ×× ×Öž××סס×× ×ק×ך ק×Öž×.
×€Ö¿×ַך ×××ַש׀֌××, עס ××¢× ×¢× "×€ÖŒ×Ö·××¢ / × ×¢××¢× ××× ××××עך" ק×Ö·××Ö·× ××. ××× ××¢× ×¢× ×××ש×Ö·×××Ö·×× ××¢× ××Š× ×Š× ×עך×××Ö·× ×××§× ×× ××Ö·××Ö·×××ס. ×××× ××ך ××Ö·×š×€Ö¿× ×Š× ×עך×××Ö·× ×××§× Postgres, ××ך ×§×¢× ×¢× ×€ÖŒ××××¢ עס ××× ×× ×§×Ö·× ×¢×§×©×Ö·× ×€ÖŒ×Öž×Öž×עך, ××Öž× pg_upgrade, ××× ××Ö·× × ×¢××¢× ××× ××××עך. ××× ×€Ö¿×× ××¢× ×§×××¢× × ×¡ ×××Ö·×, עס ×××¢× ×§××§× ××× ×××× ×× ××Ö·××Ö·×××ס ××× ×€×©×× ×¡××Öž××× × ×ַך×Öž×€ÖŒ. ×× ×€×Ö·× ×קש×Ö·× ×Ö·×××× ××× ××¢×ך××× ×Š× ××× ×× ×××š× ××¢× ××©× ×€×× ×× ×§××. ×× ××× × ××©× ×€×ַך׀ך×××š× × ×Öž×, ×Öž×עך ××Ö·×× ×Ö·××¥ ×××¢× ××××. (ש××× ×€×ך׀ך××ך×)
××× ×Ö·××ש×Ö·×, ×××× ×¢×š ×€×× ×× × ××Ö·×¢ ×€Ö¿×¢×֎ק×××× ××× PgBouncer ××× ×©×××Š× ×€Ö¿×ַך SCRAM ×Öž××¢× ××ַק××ש×Ö·×, ×××֞ס ××× ×××× ××¢×ך××× ×Š× ××× ×× ×××š× ×Ö· ××¢× ×ש ×××֞ס ××× × ××©× ×ַך××¢×× ××× Yandex.Cloud. ×××××¢ ××¢× ×¢× ×§×Öž××€ÖŒ×עקס ×€×Ö·× ×קש×Ö·× ×Ö·×××× ××× ××××××ק.
×עך××עך, ××× ×××Öž×× ××× ×Š× ××Öž×× ××ך ×€×× ×××֞ס ×Öž××סס×× ××× ××¢××××, ××× ×€×Ö·× ××ך ×××× ××××× ×Š× ×©×š××Ö·×× ×Ö· ×××¡× ×§×Öž× ××׊×.
××ך ××Öž×× ×× ×Öž××סס×× ×ק×ך ××Ö·××¢, ×××֞ס ך××××× ××××£ ׊×××× ××××€ÖŒ× ××××ךעך××. ×× ×§×××× ××××××Öž×עק ××× ×Ö·× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ×€×× ×× Postgres ×Öž× ××Öž× ×€ÖŒ×š×Öž××֞ק×Öž×. ××֞ס ×××, ××¢××××š× ×€ÖŒ×š×Öž××Öž 3 ×€×× Postgres ××× × ×֞ך××Ö·× ×ַך××ק××¢× ×××֞ס ׀ך×Öž× ×-×¢× ×× ××× ×Š×ך×ק-×¢× ×× ×§×¢× ×¢× ××עקס×. ××× ××¢× ×¢× ×××€ÖŒ××Ö·××¢× ×Ö·× ××× ×× ×§×××× ××××××Öž×עק.
×× ××ַש×× ×ַך××× ××××××Öž×עק ××× ×Ö· ×€×Öž××¢× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× ××××××Öž×עק. × ×§×××× ×€×š×Ö·×××¢× × ×€×× ××¢× ××ַש×× ×ַך××× ××× ×עשך××× ××× ×€Ö¿×ַך××Ö·×××× × ×©×€ÖŒ×š×Ö·×. ×Öž×עך ××Öž× × ×× ×עךשךעק×, עס ××¢× ×¢× ××××× 15 ש×ך×ת.
×Öž××סס×× ×ַךק×Ö·×עק×שעך. עס ××× ×Ö· ××××€ÖŒ× ××ַש×× ××××£ ×××֞ס ק×֞ך×Öž×××× ×¢×¡ ××××€×. ×עך ××ַש×× ×××€ÖŒ××Ö·××Ö·× ×¥ ×ַקסע׀֌××× × ×× ×§×Ö·××× × ×ק׀֌ ק×Ö·× ×¢×§×©×Ö·× × ××× ××ס×ך××××××× × ××× ×Š××××©× ××עךס.
× ××Ö·× ××עך ×€Ö¿×ַך ×¢×××¢××¢ ק××××Ö·× ×¥ ×§×¢× ×¢× ×ַך××¢×× ××× ×××× ×ַך××¢×עך. ×עך ××××€ÖŒ× ×€×Öž××¢× ×××× ××××€× ×× ×§×Ö·× ×¡×Öž×× ××× ×× ×€ÖŒ×š×ַסעס×× × ×€×× ×§×š×Ö·× ×¢ ××ַסקס ×Š× ××ס××¢×§× ×§×Ö·× ×¢×§×©×Ö·× × ×××֞ס ××¢× ×¢× × ×× ×עך ××ךף ××× ×× ×עק×.
×Öž××סס×× ××× ×עס××¢× ××× ×× × ×֞ך××Ö·× Postgres ׀֌ך××××š× ×¡××××. ××ך × ×֞ך ××××€× ×× ×¡××Ö·××ך×-×שעק ×××š× ××Öž×× ×¡×¢×š ××× ×××š× Odyssey, ××ך ××ַק×××¢× ×Ö· × ×Ö·× ××××. עס ××¢× ×¢× ×¢×××¢××¢ ×עסץ ש××× ×Š× ××Ö·××¢ ×€×֞ך××Ö·×××× × ×××֞ס ××Öž× × ×× ××ך××××× ×€ÖŒ×× ×§× ×× ××¢×××¢ ××× ××Öž×× ×¡×¢×š ××× ××× ×Öž××סס××.
××× ×עך׊×, עס ××¢× ×¢× ×€×××¢ ×ך×××עךס ×××֞ס ××Öž×× ×××עך ×××××¢× ×¢ ×עס××× ×. ××× ××ך × ××Š× ×××עך ×עסץ ×Š× ×€ÖŒ×š××××š× ×× ×Öž××סס××.
××× ×Ö·××ש×Ö·×, ךע×× ×Š× ××× ××עך ק×ַסק××× ×§×Ö·× ×€×××עך××ש×Ö·×, ××ך ××Öž×× ×Š× ×€ÖŒ×š××××š× ×€×ַךש××× ××Ö·× ××Ö·××: Postgres + Odyssey, PgBouncer + Odyssey, Odyssey + Odyssey ×Š× ×××× ×××עך ×Ö·× ×××× ×Öž××סס×× ×¢× ×××§× ××× ××× ×§××× ×€×× ×× ×€ÖŒ×ַךץ ××× ×× ×§×ַסק×××, עס ×××× × ×Öž× ×ַך××¢× ××× ××ך ×עך×××ַך××.
×ך×Ö·××××¢
××ך × ××Š× ×Öž××סס×× ××× ×€ÖŒ×š×Öž××ק׊××¢. ××× ×¢×¡ ×××Öž×× × ××©× ×××× ×©××× ×××× ××× ××¢×××× ×Ö·× ×Ö·××¥ × ×֞ך ×ַך××¢×. × ×××, ××֞ס ×××, ××Öž, ×Öž×עך × ×× ×©××¢× ××ק. ×€Ö¿×ַך ×××ַש׀֌××, ××× ×€ÖŒ×š×Öž××ק׊××¢ ×Ö·××¥ × ×֞ך ××¢×ך××¢×, ××¢××Öž×× ××× ××עך ×€×š×¢× ×× ×€×× PostgreSQL Professional ×עק×××¢× ××× ××¢×××× ×Ö·× ××ך ××Öž×× ×Ö· ××֌ך×× ×š×× ×¢×. ××× ××¢× ×¢× ××ַקע ××¢×××¢×, ××ך קעךעק××Ö·× ×××. ××עך עס ××× ××¢×××¢× ×€ÖŒ×©××.
××¢×š× ×Öž× ××ך ××סק×Ö·×××¢×š× ×Ö·× ×× ×§×Ö·× ×¢×§×©×Ö·× ×€ÖŒ×Öž×Öž×עך ××× ×× ×§×Ö·××× × TLS ק×Ö·× ×¢×§×©×Ö·× × ××× ×Ö·××××Öž××× × TLS ק×Ö·× ×¢×§×©×Ö·× ×. ××× ×§×Ö·× ×¢×§×©×Ö·× × ××Ö·×š×€× ×§×××¢× × ×¡×¢×š×××€×ק×Ö·×¥ ××× ×¡×¢×š××עך סעך×××€×ק×Ö·×¥.
××Ö·×× ×¡×¢×š ××× ×Öž××סס×× ×¡×¢×š××עך סעך×××€×ק×Ö·×¥ ××¢× ×¢× ×š×××××× ×××š× ×××עך ׀֌ק×Ö·×שע, ×Öž×עך ק×××¢× × ×¡×¢×š×××€×ק×Ö·×¥ ××Öž× × ×× ××Ö·×š×€Ö¿× ×Š× ×××× ×š×××××× × ×€Ö¿×× ×€ÖŒ×§×Ö·×שע, ××××Ö·× ××× ××עך סק×Ö·××Ö·×××¢ ×Öž××סס×× ×עס×Öž×£ ××××€× ××× ×× ×¡×ס××¢× ×€×֞ךש××¢××× × ×€×× ××××¢× ×¢× ××¢× ××Ö·××××Ö·××. ××֞ס ××× ××¢×××¢× ×Ö· ××עךך×Ö·×©× ×Š× ××× ××, ××××Ö·× ×¢×¡ ××× × ××©× × ×¢××¢× ××× ××Ö·× × ×Š× ×Ö·× ×קע×× ×©××¢×× ×××. ××× ×¢×š×©×עך עס סק×××× ××× ×¢×ַך××, ×Öž×עך × ×Öž× 20 ×× ×§×Ö·××× × ×¡××××Ö·××××× ××ַס ק×Ö·× ×¢×§×©×Ö·× × ××¢× ×€ÖŒ×š×Öž×××¢× ××¢××××× ×××.
×€ÖŒ××Ö·××Ö·×××¢ ×Öž××¢× ××ַק××ש×Ö·× ××¢××Ö·× ××× ×× ×€×××ק××× ×Š× ×Öž××¢× ××ַק××š× × ××Š× ×× ××¢××××-××× Lunux ××ש×ך××. ××× PgBouncer עס ××× ×××€ÖŒ××Ö·××¢× ×Ö·× ××× ×Ö·××Ö· ×Ö· ×××¢× ×Ö·× ×¢×¡ ××× ×Ö· ××Ö·××× ×עך ×€×Öž××¢× ×Š× ×××ַך×× ×€Ö¿×ַך ×Ö· ×¢× ×׀עך ×€×× PAM ××× ×¢×¡ ××× ×Ö· ××××€ÖŒ× PgBouncer ×€×Öž××¢× ×××֞ס סעך×××ס ×× ×§×š×Ö·× × ×§×©×š ××× ×§×¢× ×¢× ×€×š×¢×× ××× ×Š× ××¢×× ××× ×× PAM ×€×Öž××¢×.
××ך ×××× × ××©× ×× ×¡×ך×××¢× × ××¢× ×€Ö¿×ַך ×××× ×€ÖŒ×©×× ×¡×××. ××ך ××Öž×× ×Ö· ×€ÖŒ××Ö·×¥ ×€×× ×€Ö¿×¢××¢×. ×€×ך×××ס ××Öž× ××ך ××Ö·×š×€Ö¿× ××֞ס?
××֞ס ×§×¢× ×עס×Öž×£ ××Ö·×× ×€ÖŒ×š×Öž×××¢×ס ×Ö·× ×××× ××ך ××Öž×× PAM ×Öž××¢× ××ַק××ש×Ö·× ××× × ××-PAM ×Öž××¢× ××ַק××ש×Ö·×, ×Ö· ×ך××ס ××××Ö·×××¢ ×€×× ââPAM ×Öž××¢× ××ַק××ש×Ö·× ×§×¢× ×¢× ×××××××ק ×€×ַך××Ö·××× ×× × ××-PAM ×Öž××¢× ××ַק××ש×Ö·×. ××֞ס ××× ×××× ×¢×š ×€×× ×× ×××× ×××֞ס ××ך ××Öž×× × ××©× ×€×ַך׀עס××ק×. ××עך ×××× ××ך ××××× ×Š× ×€×ַךך×××× ×¢×¡, ××ך ×§×¢× ×¢× ××Öž× ××֞ס.
×× ×× ×עך ×ך×Ö·××××¢ ××× ××¢×××¢× ×Ö·× ××ך ××Öž×× ×××× ×€×Öž××¢× ×××֞ס ×ַקסע׀֌ץ ×Ö·××¢ ×× ×§×Ö·××× × ×§×Ö·× ×¢×§×©×Ö·× ×. ××× ××¢×š× ×Öž× ××× ××¢× ×¢× ×ך×Ö·× ×¡×€×¢×š× ×Š× ×× ×ַך××¢×עך ×עק×, ××× ×× TLS ××Ö·× ×ש××ק ×××¢× × ×¢××¢× ×֞ך×.
×× ×Öž ש×ך×, ×××× ××ך ××Öž×× ×Ö· ק×Öž×××ך×Ö·× × ××××Ö·×××¢ ×€×× ââ20 × ×¢×¥ ק×Ö·× ×¢×§×©×Ö·× ×, ××× ×××¢×× ×Ö·××¢ ×××× ×× ××¢× ×××¢×. ××× ××××£ ×עך ק×××¢× × ×××Ö·×, libpq ×××¢× ×Öž× ××××× ×š××€ÖŒ×֞ך××× × ×××××Ö·××¥. ×××š× ×€×¢××ק××Ö·× ×¢×¡ ×××× × ×Š× ×××× 000 סעק×× ×עס.
×××× ××× ×Ö·××¢ ×§×¢× ×¢× × ××©× ×ַך××Ö·× ×× ××Ö·××Ö·×××ס ××× ×עך ××¢×××קעך ׊×××, ××× ×§×¢× ×¢× × ××©× ×ַך××Ö·× ×× ××Ö·××Ö·×××ס, ××××Ö·× ×Ö·××¢ ××¢× ×§×¢× ×¢× ×××× ××××¢×§× ×××š× × ××-עקס׀֌×Öž×× ×¢× ×××Ö·× ×š××ך××.
××ך ×עק×××¢× ×Š× ×× ××¡×§× × ×Ö·× ××ך ק×Ö·×€ÖŒ×× ×× ×¡××¢××¢ ×€Ö¿×× PgBouncer ××Öž ××× ×× ×€×Ö·×§× ×Ö·× ××ך ××Öž×× ×עך×× ×× × ××עך ×€×× TCP ק×Ö·× ×¢×§×©×Ö·× × ×Š× ×××֞ס ××ך ×Öž× × ×¢××¢×.
×××× ××ך ××¢× ×Ö·× ××ך ×Öž× × ×¢××¢× ×§×Ö·× ×¢×§×©×Ö·× ×, ×Öž×עך ××× ×עס×Öž×£ ××Öž× × ×× ××Öž×× ×Š××× ×Š× ××Ö·× ×ש××ק, ××ך ש××¢×× ××× ××× ×Ö· ך×× ×Ö·××× ×Ö·× ××× ××Öž× × ×× ××××¡× ×§×€ÖŒ× ×š×¢×¡×ךס×. ××֞ס ×€××š× ×Š× ××¢× ×€×Ö·×§× ×Ö·× ×Ö· ס××××Ö·××××× ××ַס ××Ö·× ×ש××ק ×§×¢× × ××©× ×××× ××ך××עק×Öž×× ×€Ö¿×ַך ×Ö·××¢ ק×Ö·× ×¢×§×©×Ö·× × ×××֞ס ××¢× ×¢× ×× ×עק×××¢×. ×Öž×עך ××× ××× ×ס×עך ×¢×ע׊עך ×××¢× ×ַך××Ö·× ×× ××Ö·××Ö·×××ס, ××€××× ×××× ×× ××ַסע ××× ××Ö·× ×¥ ש××עך.
ך×Öž×Ö·×××Ö·×€ÖŒ
×××֞ס ×××Öž×× ××ך ××× ×Š× ××¢× ××× ×עך ׊×ק×× ×€Ö¿× ××× ×Öž××סס××? ×××֞ס ××¢× ×¢× ××ך ×ך××× ×Š× ×Ö·× ××××ק××¢× ××× ××× ×××֞ס ××Öž× ××ך ×עך×××ַך×× ×€×× ×× ×§××?
××× × ××××××¡× 2019.
××֞ס ××× ××× ×× ×Öž××סס×× ×š×Öž×Ö·×××Ö·×€ÖŒ ×עק××§× ××× ××× ×××××ס×:
- ××ך ××¢××××× SCRAM ××× PAM ×Öž××¢× ××ַק××ש×Ö·×.
- ××ך ××¢××××× ×Š× ×€×֞ך××עך××× ××××¢× ×¢× ×š×ק××עס ×Š× ×¡××Ö·× ××××.
- ××× ×××Öž×× ××× ×Ö·× ×Öž× ×××× ×š×ס××ַך×.
- ××× ×× ×€×××ק××× ×Š× ×€ÖŒ××××¢ ××××£ ×× ×¡×¢×š××עך.
××¢××€× ×€×× ××¢× ×š×Öž×Ö·×××Ö·×€ÖŒ ××× ××¢×¢× ××ק×, ××× × ××©× ×××š× ××× ××. ××× ××֞ס ××× ×××. ×Ö·××× ××Öž×× ×¡ ××סק××××š× ×××֞ס ×××××× ××× ××××× ×עך.
××× ×€ÖŒ×š×× ×Š××€ÖŒ, ××× Postgres, ס××ַך××× × ×€×× 10, עס ××× ××¢×××¢× ×Š× ×¡×€ÖŒ×¢×Š××€×׊××š× session_attrs ×××¢× ×§×Ö·× ×¢×§××× ×. ××ך ×§×¢× ×¢× ×š×©××× ×Ö·××¢ ×× ××Ö·××Ö·×××ס ××× ×ת ××× ×× ×§×©×š ××× ××Öž×× ×××֞ס ××ך ×××× ×Š× ×× ××Ö·××Ö·×××ס: שך××Ö·×× ×Öž×עך ××××¢× ×¢× ×××××. ××× ×עך ש×֞׀עך ××× ×××¢× ×××סק×××Ö·×× ×עך עךש×עך ××Ö·××¢××֞ס ××× ×עך ךש××× ×××֞ס עך ×××קס ×עס×עך, ×××֞ס ×€×××€××× ×× ×š×¢×§×××ךע××¢× ×¥ ×€×× session_attrs.
×Öž×עך ×× ×€ÖŒ×š×Öž×××¢× ××× ××¢× ×Š×××Ö·× × ××× ×Ö·× ×¢×¡ ×§×¢× × ××©× ×§×Öž× ×ך×Öž×××š× ×× ×š×¢×€ÖŒ××ַק××ש×Ö·× ×֞׀֌ש×××. ××ך ×§×¢× ××Öž×× ×¢×××¢××¢ ךע׀֌××קע ×××֞ס ××× ××Ö·×× ×€Ö¿×ַך ×Ö· ×Ö·× ×ַקסע׀֌××Ö·××Ö·× ×Š××× ×€Ö¿×ַך ×××× ××× ×¡×. ××× ×¡×ך ×Š× ××¢×× ×€××-×€×××©×¢×š× ××ך××€×ך×× × ×€×× ××××¢× ×¢× ×§×××ך×× ××××£ ×Ö· ךע׀֌××קע, ××ך ××¡×¢× ×©×Ö·×× ××Ö·×š×€Ö¿× ×Š× ×©×××Š× ×Öž××סס×× ×¡ ×€×××ק××× ×Š× × ××©× ××××€× ×××¢× ×¢×¡ ×§×¢× ×¢× × ×× ×××× ××××¢× ×¢×.
×Öž××סס×× ×××× ×××× ×Š× ×× ××Ö·××Ö·×××ס ×€×× ×Š××× ×Š× ×Š××× ××× ×€×š×¢×× ×€Ö¿×ַך ×× ×š×¢×€ÖŒ××ַק××ש×Ö·× ××××Ö·×ק××× ×€×× ×× ×¢×š×©××ק. ××× ×××× ×¢×¡ ××× ×š×××©× ×× ×©××¢×ך ××עך×, ××Öž× × ×× ××Öž×× × ××Ö· ך×ק××עס ××× ×× ××Ö·××Ö·×××ס, ××Öž×× ××¢× ×§×××¢× × ×Ö·× ×¢×¡ ××ַךף ×Š× ×Öž× ××××× ×§×Ö·× ×¢×§×©×Ö·× × ×××, ע׀שעך, ×××סק×××Ö·×× ×× ×× ×עך ××Ö·××¢××֞ס ×Š× ××ס׀××š× ×š×ק××עס. ××֞ס ×××¢× ××Öž×× ×× ××Ö·××Ö·×××ס ×עש×××× × ×××§×¢×š× ×× ×š×¢×€ÖŒ××ַק××ש×Ö·× ×֞׀֌ש××× ××× ×Š×ך×קק×××¢× ××××עך ×Š× ×š×ס׀֌×Ö·× × ××× ×Ö· ×קש×.
עס ××× ×©××עך ×Š× ××¢×× ×Ö· ׊××× ×š×Ö·× ×€Ö¿×ַך ×××€ÖŒ××Ö·××¢× ×××ש×Ö·×, ××××Ö·× ×¢×¡ ××× ×Öž×€Ö¿× ×ק×ך. ×Öž×עך, ××× ××Öž×€Ö¿×, × ××©× 2,5 ××֞ך ××× ×××× ××ך×× ×€×× PgBouncer. ××֞ס ××× ×עך ש×ך×× ×××֞ס ××× ×××Öž×× ××× ×Š× ××¢× ××× ×× ×Öž××סס××.
×Öž×עך עס ××× ×Ö· ׊×××¢×ך××× ××ס××Öž××× × ××××£ ×עך ×Öž× ××Öž× ×€ÖŒ×š×Öž××֞ק×Öž× ××ך×× ××××£ ׀֌ך×Öž××Öž3. ××× ××֞ס ××× ×עך ×Öž×š× ×××¢× ×× ××× ×€Ö¿×֞ך××ַ׊××¢ ×Ö·× ×Ö· ׊×××¢×ך××× ××ס××Öž××× × ××× ××ש××€× ×§××× ××× ×Ö· ס×ך×ַק××©×¢×š× ×€×֞ךע×. ××× ××ך ×§×¢× ×©×××Š× ×× ×€×ךש××× × ×Ö·× ××××£ ×¢×××¢××¢ סעך××עך קשך ×עך ק×××¢× × ××¢××¢×× ×Š× ×©×Ö·×€Ö¿× ×Š×××¢×ך××× ×¡××××××Ö·× ×¥. ××× ××€××× ×××× ×× ×ך×Ö·× ×¡×ַק×××Öž× ××× ×€Ö¿×ַך××Ö·××, ××ך × ×Öž× ××Ö·×š×€Ö¿× ×Š× ××Ö·××× ×§×Ö·× ×¢×§××××××× ×Š××××©× ×× ×¡×¢×š××עך ××× ××¢× ×§×××¢× ×.
××עך ××Öž ×Ö· ××סקךע׀֌×Ö·× ×¡× ××× ×× ×××Ö·××Öž× ×¢×š××××Ö·×, ××××Ö·× ×¢×ע׊עך ×××× ×Ö·× ××ך ××Ö·×š×€Ö¿× ×Š× ×€Ö¿×ַךש×××× ×××֞ס ××× ×€×× ×Š×××¢×ך××× ×¡××××××Ö·× ×¥ ×עך ק×××¢× × ××ש××€× ××× ××××× ×× ×¡×¢×š××עך ×€Ö¿×ַך××× ××× × ×Š××××©× ×Ö·××¢ ק××××Ö·× ×¥ ×××֞ס ××ש××€× ××¢× ×¡×¢×š××עך קשך, ×"× ×××ס ××ש××€× ×Ö·××Ö· ×Ö· ׊×××¢×ך××× ××ס××Öž××× ×.
Andres Freund ××× ××¢×××× ×Ö·× ×××× ×Ö· ק×××¢× × ×§××× ×Š× ××ך ×××֞ס ××× ×©××× ××ש××€× ×Ö·××Ö· ×Ö· ׊×××¢×ך××× ××ס××Öž××× × ××× ×× ×× ×עך סעך××עך קשך, ××Ö·×× ×¢×¡ ×€Ö¿×ַך ×××. ×Öž×עך עס ×××× × ×Ö· ×××¡× ×€×Ö·×ש ×Š× ××ס׀××š× ×§×××ך×× ××× ×× ××Ö·××Ö·×××ס ×Ö·× ×©××Öž× ×€×× ××¢× ×§×××¢× ×, ×Öž×עך ×€Ö¿×× ×× ×€×× × ×€×× ×××× ×× × ×€×× ×× ××¢×××¢××֞׀֌עך ×××֞ס שך×××× ××¢× ×€ÖŒ×š×Öž××֞ק×Öž× ×€Ö¿×ַך ×× ×עך×ַק××× × ××× ×× ××Ö·××Ö·×××ס, עס ×××Öž×× ×××× ××ַק×××¢× ×××× ×¢×š ××× × ×֞ך ××¢××¢×× ×Ö· × ×¢×¥ ×€Ö¿×ַך××× ××× × ××× ×××֞ס עס ××× ×Ö·××Ö· ×Ö· ׊×××¢×ך××× ×Öž× ×€Ö¿×š×¢×.
××× × ×Öž× ×××× ×©×ך×× ×××֞ס ××ך ××Ö·×š×€Ö¿× ×Š× ×× ×¡×ך×××¢× ×. ××ך ×××Š× ××Öž×× ××Öž× ×××֞ך×× × ×§×Ö·××€ÖŒ×Ö·××Ö·××Ö·× ××× PgBouncer. ××ך ×§×¢× ×¢× ×Š×ך×קק×××¢× ×× ××ך××©× ××××¢× ×Öž× ×€Ö¿×š×¢× ××ך××€×ך×× × ×Š×××. ××עך ×× ××ך××©× ××××¢× ×Š××× ××× ×× ××ך××©× ××××¢× ××¢×׀֌עך×Ö·××ך ××× ×× ×©×€ÖŒ×××Öž×: ×¢×××¢××¢ ××¢× ×¢× ×§×Ö·××, ×¢×××¢××¢ ××¢× ×¢× ×××Ö·×š×¢× - ××× ××ך××©× ××××¢×, ×Ö·××¢××¢× ××× ××¢××× ×. עס ××× × ××©× ××ת.
××ך ××Ö·×š×€Ö¿× ×Š× ×× ×¡×ך×××¢× × ×©×××Š× ×€Ö¿×ַך ×€ÖŒ×¢×š×¡×¢× ×××××, ×××֞ס ×××Öž×× ×Öž× ××××Ö·×× ×Ö·× ×¢×¡ ××¢× ×¢× ×€ÖŒ×Ö·××¢××¢× ×€Ö¿×š××× ×××֞ס ××¢× ×¢× ××××¡× ×š×¢×¡××š×¡× ××× ×××Öž×× ××Ö·×× ××Öž× ×××֞ך×× × ×עך ×€ÖŒ×ַס×ק.
×× ××¢×š×¡× ××××××ק ××Ö·× ××× ×Ö·× ××× ××××× ××עךס××¢ 1.0 (××עךס××¢ 1.1 ××× ×©××× ××׀ך×××). ×עך ×€×Ö·×§× ××× ×Ö·× Odyssey ××× ×××Š× ××× ××עךס××¢ 1.0rc, ×"× ××¢×××× × ×§×Ö·× ××××Ö·×. ××× ×Ö·××¢ ×× ×€×š××××¢××¢× ×××֞ס ××× ××ס××¢× ××¢× ×¢× ×€×ַך׀עס×××§× ××× ×€ÖŒ×× ×§× ×עך ××¢×××קעך ××עךס××¢, ×Ö·×××¥ ×× ××֌ך×× ×š×× ×¢×.
×××֞ס ×××¢× ××עךס××¢ 1.0 ×××× ×¢× ×€Ö¿×ַך ××× ××? ××ך ך×Öž×××× × ×××ס ×Öž××סס×× ×Š× ××× ××עך ××ַסעס. עס ××× ×©××× ×€×××¡× ××ק ××××£ ××× ××עך ××Ö·××Ö·×××ס××, ×Öž×עך ×××¢× ×¢×¡ ך××ש×Ö·× ×× ×€×× × ×€×× 1 ך×ק××עס ׀֌עך סעק×× ××¢, ××ך ×§×¢× ×¢× ××Öž×× ×Ö·× ××֞ס ××× ×× ××¢×××× × ××עךס××¢ ××× ××֞ס ××× ×Ö· ××עךס××¢ ×××֞ס ×§×¢× ×¢× ×××× ×עך××€Ö¿× 000.
×¢×××¢××¢ ××¢× ××©× ××× ×× ×§×× ××Öž×× ××¢××¢×× ×Ö·× ××עךס××¢ 1.0 ×× ×§×××× ×€ÖŒ××××¢ ××× SCRAM. ×Öž×עך ××֞ס ×××¢× ×××× ×¢× ×Ö·× ××ך ×××¢×× ××Ö·×š×€Ö¿× ×Š× ×š×Öž×××× × ×× ××××Ö·×עך ××עךס××¢ ×Š× ×€ÖŒ×š×Öž××ק׊××¢, ××××Ö·× × ×× SCRAM ×Öž×עך ×€ÖŒ××××¢ ××¢× ×¢× × ×Öž× ××¢×ך××¢×. ×Öž×עך, ך××Ö¿ ×סת֌××, ××¢× ×ַך××ס××¢×× ×××¢× ×××× ×š×××Ö·×××× ××Ö·× ×¥ ×עש×××× ×.
××× ××××š× ××××£ ×××× ×€×ך××× ×. ××× ×××Öž×× ×××× ××× ×Š× ××¢×š× ×××֞ס ׀֌ך×Öž×××¢×ס ××ך ××Öž× ××× ××Öž×× ×¡×¢×š. ××× ×¡ ××סק××××š× ×××. ×׀ֿשך ××ך ×§×¢× ×¢× ×× ×¡×ך×××¢× × ×¢×××¢××¢ ×€×Ö·× ×קש×Ö·× × ×××֞ס ××ך ××ַך׀ֿ×.
××֞ס ××× ×עך ס××£ ×€×× ×××× ××××, ××× ×××Öž×× ××× ×Š× ××¢×š× ×Š× ××ך. ×××× ×§!
ש×××ת
×××× ××× ×©××¢×× ×××× ×××××¢× ×¢ ×Ö·×€ÖŒ××ַק××ש×Ö·×_× ×Ö·××¢, ×××¢× ×¢×¡ ×××× ×€×֞ך××עך××× ×š××××ק, ×ַך××Ö·× ×עךע×× × ×ך×Ö·× ×¡×ַק×××Öž× ×€ÖŒ×××× × ××× ×Öž××סס××?
×Öž××סס×× ×Öž×עך ××Ö·×× ×¡×¢×š?
××× ×Öž××סס××. ××× ××Ö·×× ×¡×¢×š עס ××× ×ך×× ××¢×××ך׀×.
××ך ×××¢×× ××Ö·×× ×Ö· ××Ö·× ×.
××× ×××× ×××× ×€×ַק××ש קשך ××ש×Ö·×׀֌ס ××××£ ×× ×עךע ק×Ö·× ×¢×§×©×Ö·× ×, ×××¢× ×¢×¡ ×××× ×ך×Ö·× ×¡×××××¢×?
××ך ×××¢×× ××Ö·×× ×Ö· ס××× ×€×× ×Ö·××¢ ×€ÖŒ×ַך×Ö·××¢×עךס ×××֞ס ××¢× ×¢× ××ס××¢× ××× ×עך ךש×××. ××× ×§×¢× × ××©× ××Öž×× ×××× ×Ö·×€ÖŒ××ַק××ש×Ö·×_× ×Ö·××¢ ××× ××× ×עך ךש×××. ××× ×××× ×× ××× ××× ××× ×××š× ××¢××¢××. ××ך ×××¢×× ×©××¢×× ×Ö·××¢ ×× ××¢×××¢ ×€ÖŒ×ַך×Ö·××¢×עךס. ××× ×××× ×קש×, ×עך ××Ö·× × ×××¢× ××Öž× ×Ö·××¥ ×××֞ס ××× ××¢×××¢× ××× ×¡××Ö·×××š× ×××š× ××¢× ×§×××¢× × ×עש×ַס ×× ×¡××ַך××Ö·×€ÖŒ.
××Ö·× ×§×¢× ××ך, ×Ö·× ×ך××, ×€Ö¿×ַך ××¢× ××ַך×××! ××× ××ַך×××! ××× ××× ×Š×׀ך××× ×Ö·× ×Öž××סס×× ××× ××¢×××¢××Öž×€ÖŒ×× × ×€×ַס×עך ××× ×€×ַס×עך ××¢×עך ××× ××. ××× ×××× ×××× ×××××עך ××ש×× ××××. ××ך ××Öž×× ×©××× ××¢××¢×× ××ך ×Š× ××Öž×× ×Ö· ××××× ××Ö·××-×ק×ך קשך ×Ö·××× ×Ö·× ×Öž××סס×× ×§×¢× ×¢× ×€×ַך××× ×× ×Š× ×€×ַךש×××¢× ×¢ ××Ö·××Ö·×××ס×× ×¡××××Ö·××××× ××ַס××, ×"× ×Ö· ××¢× ×©×§××Ö·×£, ××× ××¢××Öž×× ×××××Öž××Ö·××ש ×€×ַך××× ×× ×Š× ×Ö· × ××Ö· ××¢× × ×Öž× ×€××××Öž××עך.
××, ××× ××× ×Š× ××¢××¢× ×§×¢× ××¢× ××סק×ס××¢. ×××Š× ×¢×¡ ××¢× ×¢× ×¢×××¢××¢ ס××֞ך×××ש. ××עך עס ××× ×§××× ×¡××××ש×× × ×Š××××©× ×××. ××××£ ××× ××עך ×××Ö·×, ××ך ×××× ×֞׀֌ש×Ö·×Š× ×× ×¡×¢×š××עך ×Ö·× ×¢×¡ ××× × ×Öž× ××¢××¢××ק ××× ×€Ö¿×ַךש×××× ×Ö·× ×Ö· ×€××××Öž××עך ××× ×€×ך×עק×××¢×, ×××֞ס ×××¢× ×š××€× pg_recovery. ××× ××× × ×¡××× ×××š× ×××¢× ×Š× ×€×ךש×××× ×× ××ך ××¢× ×¢× × ××©× ×עק×××¢× ×Š×× ××¢×. ××× ××Öž× ××ך ע׀עס ×€Ö¿×ַךש×××× ×€×× ×× ××ס×××קס ×Öž×עך ×××֞ס? ××֞ס ×××ס×, ×עך ××¢××Ö·× ×§ ××× ××× ×עךעס×Ö·× ×, ××¢ ךע×× ×××¢×× ×××. שך××× ×עך ××Ö·×עךק×× ××¢×. ×××× ××ך ××Öž×× ××עךס ×××֞ס ××××¡× C, ××֞ס ××× ×ך××ס.
×× ×ַך××ס××¢×× ×€×× ×¡×§××××× × ×ַך××עך ךע׀֌××ַק×Ö·× ××× ×××× ×€×× ××× ×עךעס ×Š× ××× ××, ××××Ö·× ××ך ××××× ×Š× ××Ö·×× ×× ×Ö·××ַ׀֌ש×Ö·× ×€×× ×š×¢×€ÖŒ××ק××××× ×§××ַס××¢×š× ××× ×€ÖŒ×©×× ××× ××¢×××¢× ×€Ö¿×ַך ×Ö·×€ÖŒ××ַק××ש×Ö·× ××¢×××¢××֞׀֌עךס. ××עך ××Öž ××× ×××Öž×× ××× ×עך ××Ö·×עךק×× ××¢×, ×"× ×€ÖŒ×× ×§× ××× ×Š× ××Öž× ×¢×¡, ××× ×Š× ××Öž× ×¢×¡ ××¢××× ×.
×× ×§×©×× ××× ×××× ×××¢×× ×š×¢×€ÖŒ××ַק×Ö·×. עס ×××š× ×¡ ×××ס ×Ö·× ××ך ××Öž×× ×Ö· ××¢× ××× ×¢×××¢××¢ ךע׀֌××ַק×Ö·×. ××× ×¢×¡ ××× ×§××֞ך ×Ö·× ××× ×××× ×Š× ×× ×š×¢×€ÖŒ××קע ××××× ×קעך ×Öž×€× ××× ×Š× ×× ××¢× ×€Ö¿×ַך ק×Ö·× ×¢×§×©×Ö·× ×, ××××Ö·× ××× ×§×¢× ××Öž×× ××׀עך×Ö·× ×¡××. ××ך ××Öž× ××¢××Öž×× ×Ö·× ×עך ××××ק ××× ×× ××Ö·×× ×§×¢× ×××× ×Ö·××× ×Ö·× ×¢×¡ ×××¢× × ××©× ××ַ׀ך××××§× ×××× ××¢×©×¢×€× ××× ××ך ×××¢× × ××©× ×××× ××Öž×š× ××× ×¢×¡ ××× ×š×¢×€ÖŒ××ק×××××. ××× ×עך ××¢×××קעך ׊×××, ×××× ××ך ××Öž× × ××©× ×××× ××Öž×š× ×€Ö¿×ַך ×Ö· ××Ö·× × ×Š××Ö·×, ××× ××¢××Öž×× ×× ××¢××××× ×Š× ××××, ×× ××Ö·×× ×××֞ס ××ך ××Ö·×š×€Ö¿× ×××¢× × ××©× ×××× ××××× ×× ××׊×. ×Ö·× ×××, ×××× ××ך קעס×××עך ×××× ×Š× ×× ××¢×, ×עך ק×ַש ××Öž×š× ××× ×××֞ך×× ×ַך×××£, ×Öž×עך ××× ×× ×š×¢×€ÖŒ××קע ×× ×§×ַש ××Ö·×× ×Ö· ××ס×.
×× ×¢×¡ ××× ××ת. ×× ×€ÖŒ×§×Ö·×שע ×××¢× × ××©× ××Öž×× ×× ××Ö·×× ×××ַקס ××ך ×××××, ×× ×€×ַק××ש ק×ַש ×××¢× × ××©× ××Öž×× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×× ×××©× ××ך ×××××, ×× ×€ÖŒ××Ö·× × ×××¢× × ××©× ××Öž×× ×€ÖŒ×Ö·×š×¡× ×§×××ך××, עס ×××¢× ×××× ××Öž×š× ×ש×.
××× ×××¢× ××ך ××Öž× ×Ö· ס×Öž×š× ×€×× ×§× ×××, ××× ××ך ××××× ×Ö· × ××Ö·×¢ ךע׀֌××קע ××֞ך×, ×שעת עס ס××ַךץ, ×Ö·××¥ ××× ×©××¢×× ××× ×¢×¡, ××֞ס ××××¡× ×¢×¡ ×× ×§×š×ס×× ×××Ö·× ×§×ַש.
××× ××Ö·× ×עך ××¢××Ö·× ×§. ×עך ך××××ק ׊×××Ö·× × ×××Öž×× ×××× ×Š× ××××€× ×Ö· ק×××× ×€ÖŒ×š×Öž×Š×¢× × ×€×× ×€Ö¿×š××× ××××£ ×× ×š×¢×€ÖŒ××קע עךש×עך, ×××֞ס ×××Öž×× ×××ַךע××¢× ×× ×§×ַש. ××¢×¢×š×¢× ×עךע××, ××ך ××Öž×× ×Ö· ׊×ש××Ö·× × ×Ö·× ××ך ×××× ×Öž×€ÖŒ××Ö·××× ××× ×עך ××¢× ××¢× ××× × ×× ×עך ××× 10 סעק×× ×עס. ××× ××¢× ×Š×ש××Ö·× × ××× × ××©× ×ַך××Ö·× ×עךע×× × ××× ×××× ××××Ö·×××¢, ×Öž×עך ס××××× ×€Ö¿×ַך ×¢×××¢××¢ ק××××Ö·× ×¥.
××, ×€×ַך××š×¢×¡×¢×š× ×××Öž×.
××֞ס ××× ×Ö· ××××¢ ××¢××Ö·× ×§. ××עך עךש×עך ××ך ××Ö·×š×€Ö¿× ×Š× ×× ×¡×ך×××¢× × ××¢× ×©×Ö·×××Ö·××. עךש×עך ××ך ××Ö·×š×€Ö¿× ×Š× ×§×¢×š ×Ö·××עק, ××× ××¢××Öž×× ××ך ×××¢×× ×ך×Ö·××× ×××¢×× ××× ×Š× ×§×¢×š ××××£. ××֞ס ××× ×Ö· ×ך××ס ש×ך×× ×Š× ××¢×× ×¡×××××.
Nginx ××× ××¢× ×֞׀֌׊××¢ slowly start
××× ×Ö· ×§× ××× ×€Ö¿×ַך ×× ×¡×¢×š××עך. ××× ×¢×š ××ס××¢×××××Ö·× ×× ×§×š×ס×× ×× ××ַסע.
××Öž, ×ך××ס ××¢××Ö·× ×§, ××ך ×××¢×× ×€ÖŒ×š××××š× ×¢×¡ ×××¢× ××ך ××ַק×××¢× ×ַך×× ×¢×¡.
×ק×ך: www.habr.com