PostgreSQL 8.3

рдЬреЛрд╢ рдмрд░реНрдХрд╕ рдиреЗ PostgreSQL 8.3beta1 ( рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЪрд╛рдВрдЧреЗрд▓реЙрдЧ рджреЗрдЦреЗрдВ) рдХреА рд░рд┐рд╣рд╛рдИ рдХреА рдШреЛрд╖рдгрд╛ рдХреАред рдкреИрдЪ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЫрд╣ рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрд╛ (рдпрд╛рдж рд░рдЦреЗрдВ, 1 рдЕрдкреНрд░реИрд▓, 2007 рдХреЛ рдлреАрдЪрд░ рдлреНрд░реАрдЬ рд╣реБрдЖ рдерд╛)ред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рд╛рд▓ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЦреБрд▓реЗ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд╕реЗ рдХреМрди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛ред



рдореИрдВ рдкреВрд░реА рд╕реВрдЪреА рдХреЛ рдЪрд╛рд░ рднрд╛рдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝реВрдВрдЧрд╛ред рдкрд╣рд▓реЗ рдореЗрдВ, рдХрдИ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛, рдореИрдВ рдЙрди рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдБрдЧрд╛ рдЬреЛ рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рджреВрд╕рд░реЗ рдореЗрдВ, рдореИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреВрдВрдЧрд╛, рдЬреЛ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрд╕реЗрд▓ "рд╕реБрд╡рд┐рдзрд╛рдУрдВ" рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╣реАрдВ-рддреЛ-рдХрдордЬреЛрд░ рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рддреАрд╕рд░рд╛ рднрд╛рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд░рд╛рджрд╛ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХреБрдЫ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдЙрдкрдЧреНрд░рд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрдирдХрд╛ рдЕрдкрдирд╛ рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рд╣реИ)ред



рдЙрддреНрдкрд╛рджрдХрддрд╛



рдЖрдЬ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЬ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ 8.2 рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 8.2.5 рд╣реИ) PostgreSQL рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рди рдХреЗрд╡рд▓ OpenSource рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ рдЕрдЧреНрд░рдгреА рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ DBMS рдХреЗ рд╕рд╛рде рднреА рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ рдХрд┐ рдУрд░реЗрдХрд▓ред рдпрд╣ рдЕрдм рдПрдХ рдЦрд╛рд▓реА рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдирд╣реАрдВ рд╣реИ - рд╕реВрд░реНрдп рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдЬреНрдпрд╛рджрд╛ рдзреАрдореЗ рд╣рд╛рдереА рдирд╣реАрдВ рд╣реИрдВ! рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдореАрд░ рд╕реЗрдЯ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреА рд╡реНрдпрд╛рдкрдХ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ, рдмрд╣реБрдд рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдФрд░ рднрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк - рдпрд╣ рд╕рдм рдЖрдзреБрдирд┐рдХ рд╣рд╛рдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП "рдХрдард┐рди" рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдЕрдиреНрдп DBMS рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЛ рдЕрдиреБрдХреВрд▓ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИ: рд╣рд░ рд╕рд╛рд▓ рд╣рдо рд╣рдореЗрд╢рд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред



рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ PostgreSQL рд╕рдВрд╕реНрдХрд░рдг 8.3 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ? рдХрдИ рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред PostgreSQL рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯрд░ рдмреНрд░реВрд╕ рдореЛрдореНрдЬрд┐рдпрд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реИрдЬрдореИрди рдХреЗ рдирд┐рдордВрддреНрд░рдг рдкрд░ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдореЙрд╕реНрдХреЛ рдирд╣реАрдВ рдЧрдП рдереЗ, рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╕реНрдд рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдкрд░реНрдпрд╛рдкреНрдд рд╢реНрд░рдо рд▓рд╛рдЧрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рд▓реЗрддрд╛ рд╣реИред



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧреИрд░-рддреБрдЪреНрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ "рдЪрд┐рдк" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ HOT (рд╣реАрдк рдУрдирд▓реА рдЯреНрдпреВрдкрд▓реНрд╕) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ PostgreSQL рддрдерд╛рдХрдерд┐рдд рдорд▓реНрдЯреА-рд╡рд░реНрдЬрди рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдореЙрдбрд▓ ( MVCC , рдорд▓реНрдЯреА-рд╡рд░реНрдЬрди рдХрдВрд╕реАрд▓рд░ рдХрдВрдЯреНрд░реЛрд▓) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред







HOT рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рд╕рднреА рдЕрдиреБрдХреНрд░рдорд┐рддреЛрдВ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛, рднрд▓реЗ рд╣реА рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЙрд▓рдо рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реЛрдВ рдпрд╛ рдирд╣реАрдВ (рджреЗрдЦреЗрдВред рдЕрдВрдЬреАрд░ред "HOT рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛")ред рдЕрдм, рдпрджрд┐ рдкрдВрдХреНрддрд┐ рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрд╕реА рдореЗрдореЛрд░реА рдкреЗрдЬ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдФрд░ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд╣ рдирд╣реАрдВ рдмрджрд▓рд╛, рддреЛ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд╣реА рд░рд╣рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдРрд╕реА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рддреЛ рд╣реАрдк рдкреГрд╖реНрда рдореЗрдВ рд╕реНрдерд╛рди рдХрд╛ "рддрд╛рддреНрдХрд╛рд▓рд┐рдХ" рдкреБрди: рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред рдЬреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, VACUUM рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред рдЕрдВрдЬреАрд░ рдореЗрдВред рдПрдХ "рд╣реЙрдЯ рдЕрдкрдбреЗрдЯ" рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдкрдВрдХреНрддрд┐ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИред



рдЕрдЧрд▓реА рдирд╡реАрдирддрд╛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдкреАрд▓ рдХрд░реЗрдЧреАред рд╕рдВрд╕реНрдХрд░рдг 8.3 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, PostgreSQL рдореЗрдВ рдХрд┐рд╕реА рднреА рд▓реЗрдирджреЗрди рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдХреЛрдИ рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рди рдХрдорд┐рдЯ рдСрдкрд░реЗрд╢рди (COMMIT) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ PostgreSQL рд╕рд░реНрд╡рд░ рдорд╣рдВрдЧреЗ рдЯреНрд░рд╛рдВрдЬреИрдХреНрд╢рди рд▓реЙрдЧ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬреЗрд╢рди (рд╡рд╛рд▓ fsync) рдСрдкрд░реЗрд╢рди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рднреА рддрд╛рд░реНрдХрд┐рдХ рд╢рд░реНрддреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрддреЗ рд╣реА рд▓реЗрдирджреЗрди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред (рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЕрдЦрдВрдбрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ)ред рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ, рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреЛ рдмрд╣реБрдд рдХрдо рд╕рдордп рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ (рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдордХрд╛рдЬреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХрддрдо 200-1000 рдПрдордПрд╕ рд╣реИ)ред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╕_рдХрдорд┐рдЯ рд▓реЗрдирджреЗрди рдХреА рд╕реНрдерд┐рддрд┐ (рд╕рд┐рдВрдХреНрд░реЛрдирд╕ / рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕) рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╕рд░рд▓ рд╣реИ:

SET synchronous_commit TO OFF;





рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд▓реЗрдирджреЗрди рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ fsync рдСрдкрд░реЗрд╢рди рдЕрдХреНрд╖рдо рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ fsync = рдмрдВрдж рдореЛрдб рдЖрдзрд╛рд░ рдХреЗ рдПрдХ рдЕрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЙрдкрдХрд░рдг рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рдмрд┐рдЬрд▓реА рдХреЗ рдиреБрдХрд╕рд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ) рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрдЪреНрдЪ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмреИрдЯрд░реА рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХ рдбреНрд░рд╛рдЗрд╡ рдирд┐рдпрдВрддреНрд░рдХ)ред рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдбреЗрдЯрд╛ рдЕрд╕рдВрдЧрддрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЕрдзрд┐рдХрддрдо рдЬреЛ рд╕рдВрднрд╡ рд╣реИ рд╡рд╣ рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реИ (рдлрд┐рд░ рд╕реЗ, рдПрдХ рдЧрдВрднреАрд░ рд╕рд░реНрд╡рд░ рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ - рдУрдПрд╕, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░, рдмрд┐рдЬрд▓реА рдХреА рд╡рд┐рдлрд▓рддрд╛)ред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдЯреЗрдмрд▓-рд▓реЙрдЧ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд▓реЙрдЧ) рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИ рдЬрдм рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдиреБрдХрд╕рд╛рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЗрдирджреЗрди рдЕрднреА рднреА рд╕рдордХрд╛рд▓рд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред



рдПрдХ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬрд╣рд╛рдВ PostgreSQL рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ (SeqScan рдСрдкрд░реЗрд╢рди)ред рдпрджрд┐ рд╕рдВрд╕реНрдХрд░рдг 8.3 рд╕реЗ рдкрд╣рд▓реЗ, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЕрдХреНрд╕рд░ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ рдЬрдм рд╡рд┐рднрд┐рдиреНрди рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдиреЗ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╣реА рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ - рд╡реЗ рдПрдХ рд╣реА рдЯреЗрдмрд▓ рдкрд░ рджреЗрдЦрддреЗ рдереЗ - рдЕрдм, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдП рдЧрдП рд╕реНрдХреИрди ("рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╡рд┐рдЪрд╛рд░") рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдПрдХ рдЯреЗрдмрд▓ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рджреЗрдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐, рдПрдХ рд╕рддреНрд░ рдХреЗ рднреАрддрд░, SeSScan рдХреЛ рдПрдХ рдореЗрдЬ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП SeSScan рдкрд╣рд▓реЗ рд╕реЗ рд╣реА (рджреВрд╕рд░реЗ рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП) рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЪрд▓ рд░рд╣реЗ SeSScan рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ "рдХреВрдж рдкрд░" рд╣реЛрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЕрдиреНрдп рдЕрдкреВрд░реНрдг SeSSS (рджреЗрдЦреЗрдВ рдЕрдВрдЬреАрд░ред) рдХреА рдорджрдж рд╕реЗ "рдкреВрд░рдХ" рд╣реЛрдЧрд╛ред



рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдгрд╛рд▓реА ("рдирд┐рдпрдВрддреНрд░рдг рдмрд┐рдВрджреБ") рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрд┐рдд рддрдирд╛рд╡ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХрдо рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдЬрд╛рд░реА рд╣реИ: рдЕрдм рдЪреМрдХрд┐рдпреЛрдВ рдХреЛ рддреБрд░рдВрдд рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдзреАрд░реЗ-рдзреАрд░реЗ: рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ "рдлреИрд▓ рдЧрдИ" рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдирд╛рдо рд╣реИ - рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╕реНрдореВрдерд┐рдВрдЧ ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ "рд╕реНрдкрд╖реНрдЯ" рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рди ( CHECKPOINT рдХрдорд╛рдВрдб) рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди, рдбреЗрдЯрд╛ рдЕрднреА рднреА рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред



рдкреНрд░рджрд░реНрд╢рди рдХреА рд╣рдорд╛рд░реА рдЪрд░реНрдЪрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ PostgreSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рд╣реИ:





рдбреЗрдЯрд╛рдмреЗрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕



рдпрд╣рд╛рдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЛрд░ рдХреЛ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдореЙрдбреНрдпреВрд▓ (contrib / tsearch2) рдХрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╣реИ ред рд░реВрд╕реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдУрд▓реЗрдЧ рдмрд╛рд░реНрдЯреБрдиреЛрд╡ рдФрд░ рдлреЗрдбрд░ рд╕рд┐рдЧреЗрд╡ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд, tsearch2 рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрдВрдЯреНрд░реАрдмреНрдпреВрдЯ рдореЙрдбреНрдпреВрд▓ рд░рд╣рд╛ рд╣реИред рдПрдХ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдХреЛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдЪ, рдЬреЛ рдЗрд╕ рдЧрд░реНрдореА рдореЗрдВ рд╢реНрд░рдорд╕рд╛рдзреНрдп рдФрд░ рд▓рдВрдмреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдкреИрдЪ рдХрд╛ рд╕реНрд╡реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг 58 рд╣реИ!) PostgreSQL рдЯреАрдо рдХреЗ рдХрдИ рдкреНрд░рдореБрдЦ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╣реИред



рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ tsearch2 рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреА рдФрд░ рдирдП PostgreSQL рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреА, рдЕрдм рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдФрд░ рдкрд╛рда рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдореЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛: рд╕рднреА рдореВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдСрдкрд░реЗрд╢рди SQL рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╕рд░рд▓ рдерд┐рд╕реЙрд░рд╕ рд╢рдмреНрджрдХреЛрд╢ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

  рд╕реНрд╡рд╛рд░ рдкрд╛рда рд╕реЗрд╣рдд рд╕рдВрдмрдВрдзреА рдерд┐рд╕реЙрд░рд╕_рдЖрд╕реНрддреНрд░реЛ (
     рдереАрдо = рдерд┐рд╕реЙрд░рд╕,
     рдбрд┐рдХреНрдЯрд┐рдлрд╝рд╛рдЗрд▓ = рдерд┐рд╕реЙрд░рд╕_рд╕реНрдЯреНрд░реЛ,
     рд╢рдмреНрджрдХреЛрд╢ = рдЕрдВрдЧреНрд░реЗрдЬреА_рд╕реНрдЯреЗрдо
 );
 рдЕрдиреНрдп рдкрд╛рда рдЦреЛрдЬ рд░реВрд╕реА рд░реВрд╕реА
     ADD MAPPING FOR рд▓реЙрд░реНрдб, рд▓реЙрд░реНрдб, lpart_hword
         рдерд┐рд╕реЙрд░рд╕_рд╕реНрдЯреНрд░реЛ, рдЕрдВрдЧреНрд░реЗрдЬреА_рд╕реНрдЯреЗрдо рдХреЗ рд╕рд╛рде; 


рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рднреА рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдирд┐рдпрдорд┐рдд рдкрд╛рда рд╕реНрддрдВрдн рдХреЗ рдКрдкрд░ рдПрдХ GIN рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг (рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрд▓рдо рдФрд░ рдЯреНрд░рд┐рдЧрд░ рдмрдирд╛рдП рдмрд┐рдирд╛):

  Pgweb рдкрд░ INDEX pgweb_idx рдмрдирд╛рдПрдБ
     USIN рдЬрд┐рди (to_tsvector ('рд░реВрд╕реА', рд╢реАрд░реНрд╖рдХ || рд╢рд░реАрд░)); 


рдФрд░ рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реИрдВрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╡реЗрд░реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬреЛ tsquery рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди plainto_tsquery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдЖрдкрдХреЛ рдмрдЪрдиреЗ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдиреЗ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рд╕рд╛рджреЗ рдкрд╛рда рдХреЛ tsquery рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ):

  рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
     ts_rank_cd (textearch_index, q) AS рд░реИрдВрдХ, рд╢реАрд░реНрд╖рдХ
 рд╕реЗ
     pgweb, plainto_tsquery ('рд╕реБрдкрд░рдиреЛрд╡рд╛ рд╕реНрдЯрд╛рд░') q
 рдХрд╣рд╛рдВ
     q @@ textearch_index
 рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛
     рд░реИрдВрдХ DESC рд╕реАрдорд╛ 10; 




рдПрдХ рдФрд░ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдкрд░рд┐рд╡рд░реНрддрди XML рд╕рдорд░реНрдерди рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ SQL: 2003 рдорд╛рдирдХ (рдорд╛рдирдХ, SQL / XML рдХреЗ 14 рд╡реЗрдВ рднрд╛рдЧ) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХ рд╡рд┐рд╢реЗрд╖ xml



рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕рд░реНрд╡рд░ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдбреЗрдЯрд╛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдмрдирддрд╛ рд╣реИ ( рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЧрдард┐рдд рдЬрд╛рдВрдЪ )ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ (рдпрд╣ рдЖрдкрдХреЛ xml



рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкрд░ XML рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдмрдВрдж" рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ)ред



SQL: 2003 рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, XML рдореЗрдВ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рддрдерд╛рдХрдерд┐рдд SQL / XML рдкреНрд░рдХрд╛рд╢рди рдлрд╝рдВрдХреНрд╢рди)ред XML рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  рдЪрдпрди XMLROOT (
    XMLELEMENT (
       NAME 'рдХреБрдЫ',
       XMLATTRIBUTES (
          'рд╡реИрд▓' рдПрдПрд╕ 'рдирд╛рдо',
          1 + 1 AS 'рд╕рдВрдЦреНрдпрд╛'
       )
       XMLELEMENT (
          NAME 'рдЕрдзрд┐рдХ',
          'рдлреВ'
       )
    )
    рд╕рдВрд╕реНрдХрд░рдг '1.0',
    рдорд╛рдирдХ рд╣рд╛рдВ
 ); 




рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, DTD рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди ( xmlvalidatedtd()



рдлрд╝рдВрдХреНрд╢рди), XPath рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ ( xpath()



рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдЬреЛ xml рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ), рдФрд░ XML ( tabletoxml()



рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд░рд▓реАрдХреГрдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд░рд▓реАрдХреГрдд рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдп tabletoxml()



рдЬрд╛рддреЗ рд╣реИрдВред , querytoxml()



рдФрд░ рдЕрдиреНрдп)ред



XML рдбреЗрдЯрд╛ рдкрд░ рдХрд┐рд╕реА рдХреНрд╡реЗрд░реА рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдмреАрдЯреАрдЖрд░рдИ рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рдЬреАрдЖрдИрдПрди рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХреНрд╕рдПрдордПрд▓ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣рд╛рдБ XPath рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ btree рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  INDEX i_table1_xdata рддрд╛рд▓рд┐рдХрд╛ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ btree (
    ((xpath ('// person / @ name', xdata)) [1])
 ); 




рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, PostgreSQL 8.3 рдХрдИ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ: рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд tsquery/tsvector



рдФрд░ xml



рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрдЯ рд╣реБрдП рд╣реИрдВ:





рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА:





рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рдХ



рдпрд╣ рдЦрдВрдб рдбрд░рд╛рд╡рдирд╛ рдирд┐рдХрд▓рд╛, рдХреНрдпреЛрдВрдХрд┐ рдбреАрдмреАрдП рдХреЗ рдЬреАрд╡рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рдЗрд░рд╛рджреЗ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ :-) рдлрд┐рд░ рднреА, рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд╣реА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдмрдиреА рд╣реБрдИ рд╣реИред



рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛рдПрдБ ( рдореМрдЬреВрджрд╛ рдЖрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ) рдЕрдм рджрд┐рдЦрд╛рддреА рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ :

  рдЬрд▓реНрджреА рдпреЛрдЬрдирд╛
 -------------------------------------------------- -----
  рд╕реЙрд░реНрдЯ (рд▓рд╛рдЧрдд = 34.38..34.42 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 13 рдЪреМрдбрд╝рд╛рдИ = 176) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.946..0.948 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 6 рдЫреЛрд░реЛрдВ = 1)
    рд╕реЙрд░реНрдЯ рдХреБрдВрдЬреА: obj2tag.o2t_tag_name
    рд╕реЙрд░реНрдЯ рд╡рд┐рдзрд┐: quicksort рдореЗрдореЛрд░реА: 18kB <- рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ!
    -> рд╣рд╛рд╢ рдЬреНрд╡рд╛рдЗрди (рд▓рд╛рдЧрдд = 19.19..34.14 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 13 рдЪреМрдбрд╝рд╛рдИ = 176) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.812..0.835 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 6 рдЫреЛрд░ = 1)
 [...] 


рд╕рд╛рдЗрдорди рд░рд┐рдЧреНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╡рд┐рд╢реЗрд╖ pg_standby рдХрдВрдЯреНрд░рд┐рдм рдореЙрдбреНрдпреВрд▓, рд╡рд╛рд▓ рдЯреНрд░рд╛рдВрд╕рдлрд░ рд▓реЙрдЧ рд▓реЙрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рд░реНрдо рд╕реНрдЯреИрдВрдбрдмрд╛рдп рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред рдореЙрдбреНрдпреВрд▓ рд╢реБрджреНрдз рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдФрд░ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реИ рдирдП рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ (рдкреНрд░рджрд░реНрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рд▓рд┐рдирдХреНрд╕ рдФрд░ Win32 рдкрд░)ред



рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЕрдм рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рджрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ ( рдЪрд░ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИ )ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ log _data()



рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд▓реЗрдирджреЗрди рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  рдЕрдиреНрдп рд╕рдорд╛рд░реЛрд╣ log_data (рдкрд╛рда)
         SET рд╕рд┐рдВрдХреНрд░реЛрдирд╕_рдХреИрдорд┐рдЯ рдСрдл рдХрд░реЗрдВ;


рдЦреИрд░, рдФрд░, рдкрд░рдВрдкрд░рд╛ рд╕реЗ, рдЗрд╕ рдЦрдВрдб рдореЗрдВ рдЕрдиреНрдп рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА:





рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ



рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдбреАрдбреАрдбреАрдмреА (рдЬрд┐рдирдХреЗ рдХрд░реНрдордЪрд╛рд░реА рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВрдПрд▓ рдХреЗ рд╕рдХреНрд░рд┐рдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣реИрдВ, рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 8.3 рдореЗрдВ рдХрдИ рдмрджрд▓рд╛рд╡ рдЙрдирдХреА рдпреЛрдЧреНрдпрддрд╛ рд╣реИ) рдиреЗ рдкреАрд▓реНрдбрдмрдЧрд░ рдбреАрдмрдЧрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ , рдЬреЛ рдПрдХ рдХрдВрдЯреНрд░рд╛рдм рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдорд╛рдирдХ pgAdminIII рдкреНрд░рд╢рд╛рд╕рди рдЯреВрд▓ рдореЗрдВ PL / pgSQL рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдХрдВрдЯреНрд░реАрдм -рдореЙрдбреНрдпреВрд▓ ( PgFoundry рдкрд░ рдкреНрд░рд╕реНрддреБрдд) рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ (рд▓рд┐рдирдХреНрд╕ рдФрд░ Win32 рд╕рд╣рд┐рдд) рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ Postgres рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 8.2 рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд╣рд╛ рдерд╛ , рд╕реНрдХрд╛рдЗрдк (рдЬреЛ рдЗрд╕реА рдирд╛рдо рдХреА рдкреНрд░рд╕рд┐рджреНрдз рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ PostgreSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ) рдиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рдХрдИ рдЙрддреНрдкрд╛рдж рдЬрд╛рд░реА рдХрд┐рдП рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕рд░реНрдХрд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЫрджреНрдо рднрд╛рд╖рд╛ рдкреАрдПрд▓ / рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рдХреЗ рд╕рд╛рде рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдмрд╢рд░реНрддреЗ рдХрд┐ рдЖрд╡реЗрджрди рдХрд╛ рдкреВрд░рд╛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдмреЗрд╣рдж рд╣рд▓реНрдХреЗ Pgouncer рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдмрдВрдзрдХ ред Skype Developers рдЬрд╝реЛрди рдкреГрд╖реНрда рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдЖрдкрдХреЛ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рдорд┐рд▓реЗрдВрдЧреА!



2007 рдХреЗ рд╡рд╕рдВрдд рдФрд░ рдЧрд░реНрдорд┐рдпреЛрдВ рдХреЗ рдореЛрдбрд╝ рдкрд░, рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ pgFouine рд▓реЙрдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 1.0 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдЖрдкрдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ред pgFoiune рдХреНрд╡реЗрд░реА рд▓реЙрдЧреНрд╕ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ (рдХреНрд╡реЗрд░реА рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдиреАрдЪреЗ рджреА рдЧрдИ рд╕рдордп рд╕реАрдорд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ, log_min_duration_statement



рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ), рд╕рдмрд╕реЗ рдзреАрдореА рдХреНрд╡реЗрд░реА, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЖрдВрдХрдбрд╝реЛрдВ ( рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ) рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рдЯреВрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ PostgreSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдФрд░ рдЕрдВрдд рдореЗрдВ, рдмрд╛рдХреА рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:





рдирд┐рд╖реНрдХрд░реНрд╖



рд╕рдВрд╕реНрдХрд░рдг 8.3 рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреА рдУрд░ рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реИред рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдЧреИрд░-рддреБрдЪреНрдЫ рд╕реБрдзрд╛рд░, рдЙрди рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рдЙрджреНрднрд╡ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдХрдИ рдЙрдкрдЧреНрд░рд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ - рдпрд╣ рд╕рдм PostgreSQL рдХреЗ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред



рдЗрд╕ рд╕рдореАрдХреНрд╖рд╛ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рд▓реЗрдЦрдХ рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:




All Articles