
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛?
рддреАрд╕рд░реЗ рд╡рд░реНрд╖ рдореИрдВ PostgreSQL DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдмрдбрд╝реЗ рдЬрд╛рд╡рд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕рд┐рд╕реНрдЯрдо рдбреЗрд╕реНрдХрдЯреЙрдк, рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдиреБрднрд╡реА рд╕реАрдирд┐рдпрд░-рдЬрд╛рд╡рд╛-рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛ред рд╕реЛрдЪреЛ, рдирд┐рд░реНрдорд╛рдг рдХрд░реЛ, рддреЛрдбрд╝реЛ, рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдУ, рдлрд┐рд░ рд╕реЗ рддреЛрдбрд╝реЛ ...ред
рд╡рд░реНрд╖реЛрдВ рд╕реЗ, рдХреБрдЫ рдЕрдиреБрднрд╡ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рджреЛрдиреЛрдВ рд╕рдВрдЪрд┐рдд рд╣реБрдП рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдореИрдВ рдЙрди рдЪреБрдирд┐рдВрджрд╛ рдореБрджреНрджреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдЬрд┐рдирдХрд╛ рд╣рдордиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЬреЛ рд╣рдордиреЗ рддрдп рдХрд┐рдПред
1. ORM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рджреНрдзрд╛рдВрдд, рд╕рд╛рде рд╣реА рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ рд╣рд░ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░ рдЬреЙрдм рдореЗрдВ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдореБрдЭреЗ рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдЬреБрдиреВрди рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рд╡реЗрдХреНрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рджрд┐рд╢ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╣рда рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рдХрд▓рд╛, рдЬреЛ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдмрд╕рдиреЗ рд╡рд╛рд▓реЛрдВ рдФрд░ рдЧреЗрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╣реИред рд╡реЗрдХреНрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрдЯрд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдХрдИ рддрд╛рд░реНрдХрд┐рдХ рдЧреБрдг рд╣реИрдВ (рдпрд╛рдиреА рди рдХреЗрд╡рд▓ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рдмрд▓реНрдХрд┐ рддрд░реНрдХ рднреА)ред рдЙрдиреНрд╣реЗрдВ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдореЗрдВ рдХреИрд╕реЗ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рдП - рдореИрдВ рдХрднреА рдирд╣реАрдВ рдЖрдпрд╛ред
рд▓реЗрдХрд┐рди рд╡рд╣ рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдПрдХ рдбреАрдмреА рд╕реНрддрдВрдн рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреЛ рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрди рдмрдирд╛рддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП - рд╣рдо ORM рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо JDBC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА XML рдореИрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдФрд░ DBMS рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЕрднреА рднреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ (!!!) рдХреЗ рд╕рд╛рде рддрд┐рд░рд╕реНрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
2. рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕рдВрдЧрдарди
PostgreSQL JDBC рдбреНрд░рд╛рдЗрд╡рд░, java.sql.Connection, рдФрд░ рдЖрдЧреЗ - рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдореЗрдВ, рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдирд╛ рдФрд░ рдмрдВрдж рдХрд░рдирд╛ред
рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХрд╛ рдкрд╣рд▓рд╛ рдХрдкрд▓ рдерд╛ред
рдЖрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд░реНрдЧ рд╣реИ - рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдмрдВрдзрдХ, рдмрд╣реБрдд рд╕рд░рд▓ред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ - рдХрдиреЗрдХреНрд╢рди (рд╕рдВрдкреВрд░реНрдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ!) рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдХрдИ рдереНрд░реЗрдбреНрд╕ рджреНрд╡рд╛рд░рд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
3. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╕рдВрдЧрдардиред
рд╡рд┐рдХрд╛рд╕ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рд░ рджреВрд╕рд░реЗ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред
рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд▓реЗрдирд╛ рдФрд░ рдирд╛рдо рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдирд╛рдо рдмрджрд▓рдирд╛ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдкреБрдирд░реНрд░рдЪрдирд╛? рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдХреЗрд╡рд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рднреА рдХреЙрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдХрд╣рд╛рдВ рд╣реИ, рдФрд░ рдЙрд╕реА рдирд╛рдо рдХрд╛ рдЪрд░ рдХрд╣рд╛рдВ рд╣реИ ...
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдореЗрдВ 2 рджрд┐рди рд▓рдЧрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП
рд╕рднреА SQL рдХреНрд╡реЗрд░реА рд╡рд╛рд▓реЗ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛
рдЬреЛ рдХрд┐ рдпрд╛ рддреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдпрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рд╕рднреА рд╕реНрдерд┐рд░рд╛рдВрдХ рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╛рдорд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ: "<query_type> _ <рд╡рд░реНрдЧ рдирд╛рдо> _ <рдХреНрд╡реЗрд░реА рдЕрд░реНрде>"ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рдлрд╝ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдПрдХ рдирдореВрдиреЗ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ
SELECT_GRAPH_LINES рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рд╡рд┐рдзрд┐ рд╣реЛрддреА, рддреЛ рдЗрд╕реЗ
SelectGraphLines () рдХрд╣рд╛ рдЬрд╛рддрд╛ред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ sql text рдХреЗ рдмрдЬрд╛рдп рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдФрд░ рд╕реБрдВрджрд░ рдХреЛрдб рд╣реИред
4. рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред
рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ PostgreSQL рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рдЬреЗрдбреАрдмреАрд╕реА рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рд░реЗрдбреАрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ - рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯ рдмреИрдЪ ();
рдпрджрд┐ рд╣рдо рдбрд╛рд▓рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: рддреБрд░рдВрдд рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдбрд╛рд▓реЗрдВ?
PostgreSQL рдмрд╣реБрд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЖрдк рдХреБрдЫ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
insert into table (a, b, c) values ( (1,2,3), (4,5,6), (...) )
рдЗрд╕рд▓рд┐рдП, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрд╣реБ-рдЖрд╡реЗрд╖рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦрдирд╛ рдХрд╛рдлреА рд╣реИ
PreparedStatement stmt = db.prepareStatement("insert into table (a, b, c) values (?, ?, ?)").
рдФрд░ рдлрд┐рд░ рдПрдХ рд▓реВрдк рдореЗрдВ рдХрд░реЗрдВ
stmt.setString(1,a); stmt.setString(2,b); stmt.setString(3,c); stmt.addBatch();
рдФрд░ рдлрд┐рд░ рдХрд░рддреЗ рд╣реИрдВ
stmt.executeBatch()
рдФрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рдХрдо рд╕рдордп рдореЗрдВ рдЖрдк рд╕рднреА рдбреЗрдЯрд╛ рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░рд▓
INSERT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ~ 10 kB рдХреА 1600 xml рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдбрд╛рд▓рдиреЗ рдореЗрдВ 10 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдордп рд▓рдЧрд╛ред
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рд▓реЗрдВ 2 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдХреАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ рднреА рд╕рдорд╛рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
5. PostgreSQL рдореЗрдВ XPath рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рд╕рдХрд╛ рдЙрддреНрддрд░ Google рдореЗрдВ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ PostgreSQL рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рджрд┐рдпрд╛ рдЧрдпрд╛: xml рдкреНрд░рдХрд╛рд░ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ред
рдЖрд╡рд╢реНрдпрдХ: рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╣рд╛рдВ рдХреБрдЫ XML рддрддреНрд╡ рдореЗрдВ рдРрд╕рд╛ рдФрд░ рдРрд╕рд╛ рдореВрд▓реНрдп рд╣реИред
рдмреЗрд╢рдХ, рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо XPath рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдирд╛ рд╣реИред рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
SELECT xpath('//child/child/text()', < XML->) from
рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЦрд╛рд▓реА рд╣реИрдВред рдЦреЛрдЬреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ XML рдбреЗрдЯрд╛ рддрдерд╛рдХрдерд┐рдд рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо рд╕реНрдерд╛рди, рдЕрд░реНрдерд╛рддреН рд╕рднреА XML рдЯреИрдЧ рдмрд╕ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ:
<xmltag></xmltag>
рдФрд░ рдирд╣реАрдВ
<ns:xmltag></ns:xmltag>
рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд░реЗрдВ:
SELECT xpath('//my:root/my:child/text()', < XML->, ARRAY[ARRAY['my', 'http://example.com']]);
рдЬрд╣рд╛рдБ
рдореЗрд░реА рдкрд╕рдВрдж рдХрд╛ рдХреЛрдИ рднреА рд╢рдмреНрдж рд╣реИ - рдирд╛рдо рд╕реНрдерд╛рди рдХрд╛ рдирд╛рдо
http: / /example.com - рдорд╛рди
xmlns :
xmlns="http://example.com"/
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рдореЗрд░реЗ рд╢рдмреНрдж рдХреЗ рд╕рд╛рде xpath-request рдореЗрдВ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдЙрдкрд╕рд░реНрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВред
6. PostgreSQL рдкрд╛рда рд╕рдВрдкрд╛рджрдХреЛрдВ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐рдпрд╛рдБ
рдпрд╣ Netbeans SQL Editor рдореЗрдВ рдХреЛрдб рд╣реИ
CREATE FUNCTION AAA (a int, b varchar) RETURNS int AS $body$ BEGIN ... END $body$ LANGUAGE plpgsql;
рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред SQL рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдФрд░ рдЧреНрд░рд╣рдг рдореЗрдВ рдПрдХ рд╣реА рдмрд╛рдд рд╣реЛрдЧреАред рдФрд░ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ JDBC рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ SQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рд╕рдорд╕реНрдпрд╛
$ рд╢рд░реАрд░ $ рд╣реИ - рддрдерд╛рдХрдерд┐рдд рдбреЙрд▓рд░-рдХреЛрдЯрд┐рдВрдЧ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╢рд░реАрд░ рдХреЛ рдирд┐рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
$ рдмреЙрдбреА $ рдлрдВрдХреНрд╢рди рдмреЙрдбреА рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░рддрд╛ рд╣реИред
PgAdmin рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ SQL рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреИрд╕рд╛рдЦреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддреАрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╢рд░реАрд░ рдХреЗ рдЕрдВрдд рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реАрдорд╛рдВрдХрдХ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ /ред
рд▓реЗрдХрд┐рди рдиреЗрдЯрдмреАрдиреНрд╕ рдореЗрдВ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЧреНрд░рд╣рдг рдореЗрдВ рднреАред
рдкреБрдирд╢реНрдЪ
рдмреЗрд╢рдХ, рддреАрди рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рдХрдИ рдФрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ рд╕рд╡рд╛рд▓ рдереЗред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ рдпрд╛рдж рдерд╛ рдФрд░ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдпрд╣ рд▓реЗрдЦ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрдпрд╛рди рдирд╣реАрдВ рд╣реИ "рдРрд╕рд╛ рдХрд░реЗрдВред" рдпрд╣ рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдордиреЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред