PostgreSQL рдореЗрдВ рдПрдХ Jsonb рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдорд╛рдирдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбрд▓ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдирдЯреАрдЬреАрдПрд╕рдХреНрдпреВрдПрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде EntityFramework Core, рдлреАрд▓реНрдб рдбреЗрдЯрд╛ рдХреЛ System.String
рдкреНрд░рдХрд╛рд░ рддрдХ рдЦреАрдВрдЪ рд╕рдХрддрд╛ рд╣реИ
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреНрд╡реЗрд░реА рд╕реНрддрд░ рдкрд░ EF рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Json рдЧреБрдгреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╢реБрджреНрдз SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдореИрдкрд┐рдВрдЧ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдпрджрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд╣реАрдВ рд╣реИ), рдореЙрдбрд▓ рдЧреБрдгреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдлрд╝реАрд▓реНрдб рдХреЗ рдирд╛рдореЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ, рдЗрд╕ рдирд╛рдордХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред ORM рд╣рдореЗрдВ рдЬреЛ рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддрд╛ рд╣реИ рд╡рд╣ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЛ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдореБрдЭреЗ, рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИ!
рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдЫрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рдХреНрд╖реНрдп рдХреЗ рд╕рд╛рде рдЬреЛрдВрд╕рдм рдЦреЗрддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ:
- рдпрд╣ EntityFramework Core 2 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ (рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)
- рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдПрд╕рдХреНрдпреВрдПрд▓ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА
- рдлреНрд▓реИрдЯ Json рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ (json рдХреЗ рдЕрдВрджрд░ рдХреЗрд╡рд▓ json рдЧреБрдг рд╣реИрдВ)
рдореИрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдХрд┐ Npgsql.Json.NET рд╣реИ , рдЬреЛ Json рдФрд░ Jsonb рдорд╛рдиреЛрдВ рдХреЛ CLR рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдЬреЙрдиреНрд╕ рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд╝реАрд▓реНрдб рдХреЗ рдЧрддрд┐рд╢реАрд▓ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЗрдХрд╛рдЗрдпрд╛рдБ рд╣реЛрдВред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
- рдПрдХ рд╡рд┐рдзрд┐ (рдпрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдЬреЛ рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧреАред
- рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рдмрдирд╛рдПрдБ рдЬреЛ SQL рдХреЛрдб рдХреА рдкреАрдврд╝реА рдореЗрдВ рднрд╛рдЧ рд▓реЗрдЧрд╛ред
- рдпрд╣ рд╕рдм Npgsql рдХреЗ рд▓рд┐рдП рдкреЗрдВрдЪред
рдирд┐рд░реНрдгрдп
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП:
context.Entity.Where(x => JsonbMethods.Value<string>(x.JsonbField, "jsonPropertyName") == "value")
рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдБ рд╣рдорд╛рд░реА рд╡рд┐рдзрд┐ рд╣реИ:
public static TSource Value<TSource>(object jsonbProperty, string jsonbPropertyName) { throw new NotSupportedException(); }
рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдВ EF Core, Npgsql рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЪреБрди рд░рд╣рд╛ рдерд╛ рдФрд░ рди рдХреЗрд╡рд▓ SQL рдкреАрдврд╝реА рдХреА рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдерд╛ред рдореБрдЭреЗ рдпрд╣ рд▓реЗрдЦ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирдХ рдЙрдкрдХрд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдиреНрдп рд╕рдорд╛рди рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдореБрдЭреЗ рдиреЗрдЯ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕реВрдЯ рдХрд╛ рд╕реНрд░реЛрдд рдорд┐рд▓рд╛ред рдореБрдЭреЗ рд╡рд╣рд╛рдВ рд╕реЗ рдПрдХ рд╡рд┐рдзрд┐ рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдореИрдВрдиреЗ рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдкреИрджрд╛ рдХрд░рдиреЗ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ рдЖрд╡рд╢реНрдпрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ
tableAlias."JsonField"->>"insideProperty"
рдкрд╣рд▓реЗ рддреЛ рдореИрдВрдиреЗ рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ ColumnExpression рд▓реМрдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЗрд╕реЗ рдмрдирд╛рддреЗ рд╕рдордп, рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЙрд▓рдо рдирд╛рдо (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдкрдХрд╛рдпрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдзрд┐ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВред рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд╛рдБрдЪ рдХреА рдЧрдИ, рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдЬреЛ рдЧреБрдЬрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рд▓рд┐рдкрдЯрд╛ рд╣реБрдЖ рд╣реИред рдирддреАрдЬрддрди, рдПрд╕рдХреНрдпреВрдПрд▓ tableAlias.""JsonField"->>"insideProperty""
ред
рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ, рдореИрдВрдиреЗ VisitColumn
рд╡рд┐рдзрд┐ VisitColumn
рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣рд╛рд░реНрдбрдХреЛрдб рдерд╛ рдФрд░ рдХрд┐рд╕реА рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдерд╛ред рдпрд╛рдиреА рдореИрдВ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рджреВрд╕рд░реЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рддрдм рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ Expression
рдмрдирд╛рдпрд╛ - JsonbPropertyAccessorExpression: Expression
рдпрд╣ ISqlExpressionVisitor
рд▓рд┐рдП рдЗрд╕рдХреА Accept
рдкрджреНрдзрддрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ISqlExpressionVisitor
ред
рд▓реЗрдХрд┐рди рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рдХрд╕реНрдЯрдо рдСрдкрд░реЗрдЯрд░ рд╕реЗрдЧрдореЗрдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдИ рдпрд╛рддреНрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖред рдкрд╣рд▓реЗ VisitColumn
рджреМрд░рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ VisitColumn
рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рдИред "JsonField" рдХреЙрд▓рдо, рдлрд┐рд░ VisitSqlFragment
, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдлреЗрдВрдХ рджрд┐рдпрд╛ "->>'insideFieldName'"
ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓рдЧрднрдЧред
рдЬрдм рдореИрдВрдиреЗ рд╕рдЯреАрдХ рд╕рдВрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкрд╛рда рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рддреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ tableAlias."JsonField"->>"insideProperty" = JSONB "value"
рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ tableAlias."JsonField"->>"insideProperty" = JSONB "value"
рдЧрдпрд╛ tableAlias."JsonField"->>"insideProperty" = JSONB "value"
, рдЬреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛, рдХреНрдпреЛрдВрдХрд┐ JSONB рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╛рда рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдЗрд╕рдореЗрдВ рд╡реИрдз Json рдирд╣реАрдВ рд╣реИред ред рдФрд░ рдЬрдм рдореБрдЭреЗ рдкрд╛рда рдЪрд╛рд╣рд┐рдП рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдореИрдВрдиреЗ рдореИрдкрд┐рдВрдЧ рдореЙрдбрд▓ рд╕реЗ рдЬреЛрдВрд╕рдм рдХреЙрд▓рдо рд╕реЗ рдЪрд┐рд╣реНрди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рднреА рдХрд┐рдпрд╛, рдХрд┐ рдпрд╣ рдЬреЛрдВрд╕рдм рд╣реИ, рдХреЗрд╡рд▓ рдЗрд╕ рдЪрд┐рд╣реНрди рдХреЛ MigrationContext
рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдпрд╣ рд╕рд╣реА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░реЗред рдФрд░ рдпрд╣ рднреА рджреВрд░ рд▓реЗ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореБрдЭреЗ рдПрдХ рдмреИрд╕рд╛рдЦреА рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдлрд┐рд░ рднреА, рдореИрдВ рд╡рд╣реАрдВ рд░реБрдХ рдЧрдпрд╛ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ CAST рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ Value
рд╡рд┐рдзрд┐ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИ рдФрд░ Json рдЧреБрдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ ExplicitCastExpression
рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдХрд╕реНрдЯрдо Expression
рдФрд░ рд╡рд╣ рдкреНрд░рдХрд╛рд░ рдЬреЛ Value
рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрд░реНрдХреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рдерд╛ред
рдЬрдм рдореИрдВрдиреЗ рдкрд░рд┐рдгрд╛рдореА рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЛ рддрд╛рд░реАрдЦ рд╕реЗ рдЦреЛрдЬрддреЗ рд╣реБрдП рджреЗрдЦрд╛, рддреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рддреБрд▓рдирд╛рддреНрдордХ рдореВрд▓реНрдп рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдкреНрд░рдХрд╛рд░ рдХрд╛ рдерд╛ред timestamp 'some date value'
ред рдФрд░ рдлрд┐рд░ рдпрд╣ рдореБрдЭ рдкрд░ рдЫрд╛ рдЧрдпрд╛ред рдкрд┐рдЫрд▓реА рд╕рдорд╕реНрдпрд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдПрдХ рдмреИрд╕рд╛рдЦреА рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рдерд╛, рдЕрдкрдиреЗ рдЖрдк рджреВрд░ рдЪрд▓реА рдЧрдИред рдЬрдм рдПрдХреНрд╕реЗрд╕рд░ рдХреЛ Json рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкрд╛рда рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЬрдирд░реЗрдЯрд░ рдиреЗ JSONB рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рддреБрд▓рдирд╛ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдмрд╛рдИрдВ рдУрд░ рдкрд╛рда рдерд╛, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ Jsonb рдлрд╝реАрд▓реНрдб рдХрд╛ рдПрдХреНрд╕реЗрд╕рд░ Jsonb рдкреНрд░рдХрд╛рд░ рджреЗрддрд╛ рд╣реИред
рдЖрдЦрд┐рд░ рдореЗрдВ
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдореИрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХрд╕реНрдЯрдо рдЕрдиреБрд╡рд╛рджрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рд╢рд╛рдпрдж рдмреБрд░реА рддрд░рд╣ рд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдб рдЖрджрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
рдпрджрд┐ рдХреЛрдИ рдХрд╛рдВрдЯреЗ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрддреНрд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдкреБрд▓реНрд░реЗрдХреНрд╡реЗрд╕реНрдЯ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рд╣реИ