PgModeler рдореЗрдВ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдлрдВрдХреНрд╢рди рдмрдирд╛рдирд╛

рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рдЬреНрдп рдореЗрдВ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ ... рдореБрдЭреЗ pgModeler рдкрд░ рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдХреНрдпрд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП ... рдпрд╣ рднреА рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рднрд░рдиреЗ / рдЪрдпрди рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред

pgModeler рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреВрд▓ рд╣реИ рдЬреЛ PostgreSQL рдХреЗ рд▓рд┐рдП sql рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдЙрдкрдХрд░рдг рдФрд░ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдПрдХрд▓ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдореЙрдбрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред



рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВред



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



рдЖрдЗрдП рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдирд╛рдо , рд╕реНрдХреАрдорд╛ , рдорд╛рд▓рд┐рдХ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рд╣реИ, рдХреНрд░рдорд╢рдГ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛, рд╕реНрд╡рд╛рдореА рдФрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгреАред

рднрд╛рд╖рд╛ рдЙрд╕ рднрд╛рд╖рд╛ рдХрд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдЪ рдХрд╣реВрдБ рддреЛ, рдореБрдЭреЗ рдХрднреА рднреА plggsql рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдкрд░ PostgreSQL рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЙрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╛рди рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЪреБрдирд╛ рдерд╛ред

рд╡рд╛рдкрд╕реА рд╡рд┐рдзрд┐ ред рдЪреВрдВрдХрд┐ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣рдореЗрдВ рдпрд╛ рддреЛ рддрд╛рд▓рд┐рдХрд╛ рдпрд╛ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рд╕рд░рд▓ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред

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

рд╢реЗрд╖ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ PostgreSQL рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрдирд╛ рдкрдбрд╝рд╛ред

рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рдХрд╛рд░ рддреАрди рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ: IMMUTABLE , STABLE рдФрд░ VOLATILE ред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ PostgreSQL рдкреНрд░рд▓реЗрдЦрди рд╕реЗ, рдЖрдк рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рддрд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

  • IMMUTABLE рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рддрд░реНрдХ рдХреЗ рдХреБрдЫ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред
  • рд╕реНрдерд┐рд░ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдПрдХрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдХреЗ рднреАрддрд░, рдпрд╣ рд╣рдореЗрд╢рд╛ рддрд░реНрдХ рдХреЗ рдХреБрдЫ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред
  • VOLATILE рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХрд▓ рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреИрди рдХреЗ рднреАрддрд░ рднреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рдХреЙрд▓ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддрджрдиреБрд╕рд╛рд░, рдпрджрд┐ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ IMMUTABLE рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред STABLE рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди AFTER рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╡реЛрд▓реЗрдЯрд╛рдЗрд▓ рд░рд╣рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╕рдордп рдЙрдкрд░реЛрдХреНрдд рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕реБрд░рдХреНрд╖рд╛ рджреЛ рдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рди рд▓реЗ рд╕рдХрддреА рд╣реИ: SECURITY DEFINER рдФрд░ SECURITY INVOKER рдФрд░ рдЗрд╕рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

  • рд╕реБрд░рдХреНрд╖рд╛ DEFINER рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдЗрд╕рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╡рд╣ рдЬреЛ рд╕реНрд╡рд╛рдореА рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдерд╛ред
  • рд╕реБрд░рдХреНрд╖рд╛ рдЪрд╛рд▓рд╛рди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдерд╛ред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, SECURITY INVOKER рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реНрдпрд╡рд╣рд╛рд░ рддреАрди рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ: STRICT , RULLURNS NULL ON NULL INPUT рдФрд░ CULLED ON NULL INPUT рдФрд░ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рддрд░реНрдХреЛрдВ рдХреЗ рдмреАрдЪ NULL рдорд╛рди рд╣реЛрдиреЗ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ред

  • NULL INPUT рдпрд╛ STRICT рдкрд░ RETURNS NULL рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрдо рд╕реЗ рдХрдо рдПрдХ рддрд░реНрдХ NULL рд╣реИ рддреЛ рдлрд╝рдВрдХреНрд╢рди рд╣рдореЗрд╢рд╛ NULL рд▓реМрдЯреЗрдЧрд╛ред
  • NULL INPUT рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА NULL рдЙрд╕рдХреЗ рддрд░реНрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╣реЛред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ NULL INPUT рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрд╕реА рддрд░рд╣, рдЖрдк рдЗрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЛ рдХрд┐рддрдиреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЙрдореНрдореАрдж рд╣реЛрдЧреАред рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдПрдХрд▓ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд╣рдо 0 рдЫреЛрдбрд╝рддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдкрд╛рджрди рд▓рд╛рдЧрдд рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред Plpgsql рдХреЗ рд▓рд┐рдП , рдбрд┐рдлрд╝реЙрд▓реНрдЯ 100 рд╣реИ ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдорд╛рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рд╣рд╡рд╛ рдХрд╛ рдЭреЛрдВрдХрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдЗрд╕ рдорд╛рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдареАрдХ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡реЗ рд╕реНрд╡рдпрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗрд╡рд▓ C рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ)ред

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

рдЗрд╕рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдЦрддреНрдо рд╣реЛ рдЧрдП рд╣реИрдВред рдлрдВрдХреНрд╢рди рдмреЙрдбреА рдХреЛ рдбреЗрдлрд┐рдирд┐рд╢рди рдЯреИрдм рдкрд░ рдПрдХ рд╣реА рд╡рд┐рдВрдбреЛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЯреНрд░рд┐рдЧрд░ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред



рдЙрд╕рдХреЗ рдмрд╛рдж, рдЯреНрд░рд┐рдЧрд░ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред



рдЗрд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдирд╛рдо , рдЙрдкрдирд╛рдо рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде, рдлрд┐рд░ рд╕реЗ, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдпрд╣ рдХреНрд░рдорд╢рдГ рдЯреНрд░рд┐рдЧрд░, рдЙрдкрдирд╛рдо рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдирд╛рдо рд╣реИред

рдЙрддреНрдХреГрд╖реНрдЯрддрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЯреНрд░рд┐рдЧрд░ рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ: BEFORE , AFTER, рдФрд░ INSTEAD OF , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдШрдЯрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ, рдмрд╛рдж рдореЗрдВ рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЯреНрд░рд┐рдЧрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдлрд╛рдпрд░ рдХрд░реЗрдЧреАред рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ SQL рдХрдерди рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдмрд╛рд░ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЗрд╡реЗрдВрдЯ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЯреНрд░рд┐рдЧрд░ рдореЗрдВ рдХрд┐рди рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдХрдИ рдИрд╡реЗрдВрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╡реЗрдВрдЯ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ: INSERT , UPDATE , DELETE, рдФрд░ TRUNCATE ред рд╡реЗ рддрдм рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдПрдХ рд╣реА рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╡рд╛рд▓реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдмрд╛рдзрд╛ рд╕рдВрдХреЗрдд рдХрд░рддреА рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдмрдВрдз рдЯреНрд░рд┐рдЧрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реЛрдиреЗ рдкрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рддрд┐рдмрдВрдз рдЯреНрд░рд┐рдЧрд░ рдХреЗ рд▓рд┐рдП, рдЖрдк Deferrable рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЯреНрд░рд┐рдЧрд░ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ: рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ IMMEDIATE рдпрд╛ INITIALLY DEFERRED ред

  • рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ IMMEDIATE рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрдерди рдХреЗ рдмрд╛рдж рдЯреНрд░рд┐рдЧрд░ рдореЗрдВ рдЖрдЧ рд▓рдЧ рдЬрд╛рдПрдЧреАред
  • рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ DEFERRED рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЯреНрд░рд┐рдЧрд░ рдХреЗрд╡рд▓ рд▓реЗрдирджреЗрди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрдЧ рд▓рдЧрд╛рдПрдЧрд╛ ред

рджреЗрдЦреЗрдВред рддрд╛рд▓рд┐рдХрд╛ рдмрд╛рдзрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рд╣реИред рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдмрд╛рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдмрд╛рдзрд╛ рдЯреНрд░рд┐рдЧрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИред

рд╢рд░реНрдд рдПрдХ рд╢рд░реНрдд рд╣реИ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдирд╣реАрдВред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрд░рдУрдбрдмреНрд▓реНрдпреВ рдЯреНрд░рд┐рдЧрд░ рдХреЗ рд▓рд┐рдП , рдЖрдк рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХреНрд░рдорд╢рдГ рдУрдПрд▓рдбреА рдФрд░ рдиреНрдпреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛рдиреА, рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдХреЗ рд╕рдорд╛рди)ред

рддрд░реНрдХ - рддрд░реНрдХ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреЛ рдЯреНрд░рд┐рдЧрд░ рдЖрдЧ рд▓рдЧрдиреЗ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рджреА рдЬрд╛рдПрдЧреАред рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдХреЙрд▓рдо - рдХреЗрд╡рд▓ рдЕрджреНрдпрддрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЯреНрд░рд┐рдЧрд░ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдо рдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХреЙрд▓рдо UPDATE рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдо рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣реЛред

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


рдпрд╣, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рднреА рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ рдФрд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред



рдЗрд╕ рдЖрд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рд╡рд┐рдВрдбреЛрдЬ 7 x64 рдХреЗ рддрд╣рдд рдирд┐рд░реНрдорд┐рдд pgModeler рд╕рдВрд╕реНрдХрд░рдг 0.9.2-рдЕрд▓реНрдлрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред PgModeler рдХреЗ рдкреБрд░рд╛рдиреЗ / рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдорд╛рдореВрд▓реА рдЕрдВрддрд░ рд╕рдВрднрд╡ рд╣реИред

рд▓реЗрдЦ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЛ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

Source: https://habr.com/ru/post/hi424121/


All Articles