рдордЬрдмреВрд░ PostgreSQL рдХреНрд╡реЗрд░реА рдЕрдиреБрдХреВрд▓рди

рдЬрдм рдПрдХ рдмрдВрдж рд╕реНрд░реЛрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рдмрд╕реЗ рдЗрд╖реНрдЯрддрдо рддрд░реАрдХреЗ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВ? рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЯреНрдпреВрди рдХрд░реЗрдВ, рдФрд░ рд╕рдВрднрд╡рддрдГ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реА?

рдпрджрд┐ рдЖрдкрдиреЗ рдРрд╕реЗ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рдкреВрдЫреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╣реБрдд рд╕рдлрд▓ рдФрд░ рдХрдареЛрд░ рдбреАрдмреАрдП рд╣реИрдВред

рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдкреВрдЫрд╛ рдЬрд╛рдП, рддреЛ рдореБрдЭреЗ рджреБрдЦ рдФрд░ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рджреЗрдВред

рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ, рдпрд╛ рдХрд╛рд░реНрдп рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдкреНрд░рдгрд╛рд▓реА рдереА рдЬреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдмрдВрдж рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдкрд╛рд░реНрд╕ рдХрд░рддреА рдереА, рдЬрд╣рд╛рдВ рд╕реЗ рд╣рдордиреЗ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рд╛, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЙрдкрдХрд░рдг рднреА рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рддреНрдпрд╛рдЧрдиреЗ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░рд░реНрдердХ рд╡рд┐рдЪрд╛рд░ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

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

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

рдЗрд╕рд▓рд┐рдП, рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдгрдп INSERT рд╕рдВрдЪрд╛рд▓рди рдкрд░ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдерд╛ред рдлреЛрдХрд╕ рдХрд╛рдлреА рд╕рд░рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА рд╣реИред рдбреЗрдЯрд╛ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреБрд░рд╛рдиреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛рдирд╛ рдЕрдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред

рдЬрдм рддрдХ рдХреБрдЫ рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрдорд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

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

рдирддреАрдЬрддрди, рдЕрдиреБрд░реЛрдз рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдп рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдиреАрдЪреЗ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рд▓реЛрдб рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред

рдмреЗрд╢рдХ, рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рд╣реИ рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдпрд╛ рддреЛ рдкрд╣реБрдВрдЪ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрд╣ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдФрд░ рдкреНрд░рдгрд╛рд▓реА рдХреА рд▓рд╛рдЧрдд рдорд╛рдВрдЧреЗрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдХрд┐ рд╕рдВрднрд╡рддрдГ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░реЙрдХреНрд╕реА рд╣реИ рдЬреЛ рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╣рдореЗрдВ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреА рдЬрд░реВрд░рдд рд╣реИ


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

рдЗрд╕рд▓рд┐рдП (рдареАрдХ рд╣реИ, рдмрд╕ рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП рднреА, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ PostgreSQL рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЖрдиреЗ рд╡рд╛рд▓реЗ SQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЬреАрдердм рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛

рдЬрдмрдХрд┐ рдореИрдВрдиреЗ рдХреЛрдИ рдмрд╛рдЗрдирд░реА рдкреИрдХреЗрдЬ рдирд╣реАрдВ рдмрдирд╛рдпрд╛, рдореЗрд░реЗ рд╣рд╛рде рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗред рд▓реЗрдХрд┐рди рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рд╕рдм рдХреБрдЫ C ++ / Qt рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ ...

рд╡рд┐рдиреНрдпрд╛рд╕ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдХрд┐рд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдирдирд╛ рд╣реИ:

listen_address=0.0.0.0 listen_port=5433 

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

рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЧреЗ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХрд╣рд╛рдВ рд╣реИрдВ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреНрд░реЙрдХреНрд╕реА рдЙрд╕реА рдорд╢реАрди рдкрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ):

 dst_address=127.0.0.1 dst_port=5432 

рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрд░реЛрдз рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 query = SELECT \* FROM tablename WHERE (.+) 

рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:

 action = rewrite 

рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ:

 rewrite = SELECT * FROM tablename WHERE (col3 >= '$(now-1M)') AND $(1) 

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

рдХреЛрдИ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 rewrite = SELECT * FROM tablename WHERE (col3 >= now() - interval '1 month') AND $(1) 

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

рдкрд░рд┐рдгрд╛рдо (рд▓реЙрдЧ рд╕реЗ):

 ORIGINAL query: SELECT * FROM tablename WHERE id=1; MODIFIED query (rule 1): SELECT * FROM tablename WHERE (col3 >= '2018-11-12 11:25:23.0+00') AND id=1; 

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

рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ:

 query = .+ action = log 

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд╣реИред

рд╡реИрд╕реЗ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдЕрдХреНрд╕рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЕрдиреБрд░реЛрдз рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдзреВрдореНрд░рдкрд╛рди рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

 INSERT INTO tablename (col1, col2, col3) VALUES('value1', 1, '2018-12-31') 

рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

 INSERT INTO tablename (col1, col2, col3) VALUES($1::varchar, $2::integer, $3::date) 

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

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

рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдХреНрд░рд┐рдп рд░реБрдЪрд┐ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реВрдВрдЧрд╛ред

рдЖрдк рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles