Postgres 4.1
Postgres 4.1
Editado por
Thomas Lockhart
PostgreSQL
"!#
$
&%'()*+#,.-'(
/$021436587:9;=<?>
36@A9:B9(C
0EDGFH7I@ 5KJ3KL*MONONOPRQ4NS$9(/021436587I91TU 0WVHXU8YZ9:[H9U 0ED\]9:B3.T7:0W^D
_
Tabla de contenidos
`ab8cdeaf]ghg ghghghgAghghgAghgAghghghg ghghghgAghghghg ghghghgAghghgAgAghghghgAghgAghgAghghghg ghghghgAghghghg ghghghghgAghgAghgAghghghgAgAghghgAghghghg ghghghgAghghghg ghghghgAghgAghgAghghghg ghghghgAghghghghg ghghghgAghgAghgAghghghgAgAghghgAghghghg ghghghgAghg
??
ig$jkclmonaqp]b8cmrstgAghg ghghghgAghghghg ghghghgAghghgAgAghghghgAgAghghgAghghghg ghghghgAghghghgAgAghghghgAghgAghgAghghghg ghghghgAghghghg ghghghgAghghgAgAghghghgAghgAghgAghghghg ghghghghgAghghghg ghghghgAghgAghgAghghghgAgAghghgAghghghg ghg
??
u(v=wx
,8 xyvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv
??
z8!] {q|} v6vAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
~
'(2RO
vhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
,.G,
Ro
2 xvv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
,8 O v vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
??
%)* x ( v vAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv ??
R,. xovhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv
| "RG)* x wx( )*qG ,8 G vAvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
'(RW,.$ 2R
vhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
v " x R"|"!# vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv ??
??
vAvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
)* x R vAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv
)* vAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
x x v6vAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
)* ) x $ vhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
??
x v vhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
(v Ro%H vAvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv
)*GO,%H vAvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhv ??
??
x $O%H vhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
'(O$,.RZ%H vhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv
??
R
"%)*q%H vhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
~ x %H vAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv
)*R,%H vhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
w e xko k-
x
k2
.2G vv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
(v
v6vAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv ??
??
#G",8H,8
( x ,8 vAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
+ x vhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv
x )*{,8 vhvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
+)*{G,8 v6vAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv ??
+
q x R$+
R)* vAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
w w vvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
w ow % vAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
(v= x ,8 x G vAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
x ,8 x H!]# vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAv ??
x ,8 x G)*,8G vhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
??
" x x ,8 x v6vhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv ??
x ,8 x
,8'(("k vAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv
x ,8 x
)*R vv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
x ,8 x )*{,8 vhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
x ,8 x w v vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
(v x
x
R vhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
x ,8R+ x vAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
x ,8 x v6vhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
+
q,8 x $ vhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
x $ kw vhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
(v=wx
,8 x
G
vhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
vhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
??
$ w4x
,8 vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
v RO,8. vhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv
v kG x ,8 vAvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
??
x
x
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
h
v
A
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
h
v
A
v
h
v
A
v
h
v
v
)*R|
,8 ,8,. make
??
"q#,8 vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
x R,8,8 x vhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv
u v 2RO
,8 x
GHR)* v vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
??
vw4x $,8 xvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv
x G
,8)* x $ vAvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
??
,8G
)* x R
wx ,8 xv6vhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
u(vw4x $,8 x x x( vhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhv
x ,8,8 x
qG vhvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
wx 2R,8 x
+GO$ vhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
??
2 x
$ v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
v x x
R)*
qOI,8 ,. xv6v vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
??
x
G
x vhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
wx ,. x
vv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv
postmaster
??
2 x
R x vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
(v HG
vhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
x R ,.$,. x
2 $O vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
)*+
O vAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
x R
,8,.G2 vAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
x ,8 x vhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
(v Z)* x ] vhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
(v x
,. v6vhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
??
#,8,8 x R x
vhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
(v x
x
q
R vAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhv
G,8 x
x 2
R vhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
,.,8G2]o
vhvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
??
R ,8,8 x
x
$2
R vhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
2G
G O$,. xvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv
(v %H$)* x ]
q)* vhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
q x ,8
qR)*2R vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
??
G)*|,. x o,8 x x
G x R vAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
,8 x
)* x I v6v vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv
v ,8 ,8 x
|
q
R vAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
v G
$
G
. xv6vhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhv ??
??
x R x
. xvvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
R ,8R Oo
q
,8R v vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv ??
,8G
)* x RqGR(
G
G2 xkvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
x
xqv6vhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
,.'(
+
q,.)*,8 x ,8 ,8+
$ )* vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
v R+
x v6vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv ??
??
xk(v v ?vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v u?vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v &v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v u?vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v &v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v u?vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v &v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v u?vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v uv u?vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
xk(v u&v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
x (v v vhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
x u(v vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
x u(v vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
x u(v u
vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
x u(v v vhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
2RG o~ R v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
2RG o~ R v vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
2RG o~ R v uvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
%)* x vhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
iiigjkcl4mqna
rtrmdym$nt
rgAghghghgAgAghghgAghghghg ghghghgAghghghg ghghghghgAghgAghgAghghghg ghghghgAghghghg ghghghgAghghgAgAghghghgAghgAghgAghghghg ghghghgAghghghghg ghghghgAghgAghgAghghghg ghghghgAghghghg ghghghgAghg
??
u(v
R,8 vAv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv
x ,8R+
G,.R O
2RG vhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhv??
v "R x &"!#=G
vhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
)*'($,.GG"R x ROI vAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
??
%
"2R)*
vhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
., ,8G
x
] IR x
|
# w4~ ! vhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
??
)*o
HRG)* v6vhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
w( x ,8 x vhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv
wv
??
(v v6vhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
x ,8 x
x x o ~
R vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vh??
v
x ,8 x
HI,8 ,8 x
x R vhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhv ??
??
,8G2)* x x ,8 x
x R vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
vAvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhv
R ,8,8 x 2 x ,8 x vhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
x ,8 x ,.$
|,. x )* x
vhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
x ,8 x
%"OG
vhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
libpq
x ,8 x
,8 x
vhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
libpq
x
x
6
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
h
v
A
v
h
v
vAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
Z|
R
??
)*|
HI)* vhvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
(v ~ x
x vhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
x R w4x ,.$,8 xvAvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhv ??
|
q v vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
x ,8 x
x x o ~
R vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
x ,8 x
HI,8 ,8 x
q$ x R v6vhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
R ,8,8 x 2 x ,8 x vhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
x ,8 x ,.$
|,. x )* x
vhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
v
R,8 vhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
)* x
v6vAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
??
HI)* vAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
wx( )*,8 x
q x ,8o
,8)* x
R,. vhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv
vw4x R $ ~ vhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
??
%"O x
vhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
,8,8 x + x
k vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
wx 2R,8 x x vhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
,8'(+
x( O,8 x|v6vhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
v vhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
v ~ w4x R $, vhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
~
x '( ~ w4x R $,. vAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
??
E x '(qRG2 ~ vAvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhv ??
2 x '(]
vhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
w )*R x ~ vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
??
#
x '(q
vhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
x(x ,8R x R'(]$ vhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv
w 2 x o!] x
,8 x R'( v6vhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
??
)* x
R v vAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
x R'( x(x ,8 xvvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhv
??
2 x # GRG,.R v6vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
x 2 x RR'( ~
w
vhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
Postgres
OR'( $
x vAvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
u(vw4x R $o
)*,8 x #2 vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
??
]g$jkcl4mnakab8mrrt
mntrghgAghghgAghghghg ghghghgAghghghg ghghghgAghghgAghgAghghghg ghghghgAghghghg ghghghgAghghgAgAghghghgAgAghghgAghghghg ghghghgAghghghg ghghghghgAghgAghgAghghghg ghghghgAghghghg ghghghgAghghgAgAghg
??
v
x RqR
vAvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv
)*R vhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
(v
x
q$+,8,8GK,8+ x G x $
"!# v vhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvh??
v
??
,8)* x
x ,8 x vAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAv ??
)*G2R,8 x $,8 x " x vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
??
#q$o
RO$
,.,8 xvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
)*
|
R
vhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
x ,8
")*$
vhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv ??
HI,8 R vhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
??
(v
$R x v6vhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhv
(v R)*,8 x x {R,.o
x x ")*$
~
R v6vhvAvhvhvhv vhvhvhvAvh??
v
??
x
x
x
,8
&
,. q )* )*OI
R)*,8 v ??
)* x {,8 vAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv
R)*,8 x x {G,8
x R ! x vhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv??
+%".+
w )*)* x R,8 x q ]
vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
(v ,8 x x
~ $,.- x
v vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
wx
,.,8 x*vhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
??
R,. vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
x
h
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
A
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
A
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
A
v
v
%
RG
)*R+
q x I vhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
(v HG(|
q2R
G vhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
??
v
)*R x v6vAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
vw4gcc
x R $,.G+
~ ,8-
x
vAvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhv ??
)*R
,8'( ~ wvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
)* x
x vhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv ??
??
,8 )*)* x
vhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
)* x
+
q ,8 xvAvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv
??
HI)* v6vhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
v ,8'(
x vIvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv
??
R ,8R Oo
qo x vKvAvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv ??
,8'( vhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
~ vhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAv ??
??
]ig$c4trsmghgAgAghghghgAghghghg ghghghgAghghgAgAghghghgAghgAghgAghghghg ghghghgAghghghg ghghghgAghghgAgAghghghghgAgAghghgAghghghg ghghghgAghghghg ghghghgAghgAghgAghghghg ghghghgAghghghg ghghghgAghghgAghgAghghghgAgAghghgAghghghg ghghghgAghghghg ghghghgAghg
??
u(v H!]# vAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv
??
]
q ,8 x vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
)*
$
|
G ,8 x
R vhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv
,8 x x
G
R ,8 x $ vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
??
# x
I"!]# vAvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv
v
R,8 vAv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv ??
??
2RG x ,8R+
q
R,8R vAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
(v )* x
vhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv
x( x
x R x v vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
??
HI,8 ,8 x
G x wx GO,8R]
vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
)* x x
x ~
$ vhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
(v # x R
q,8 x R vAvhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
??
x & x R,8
vhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
x ,8R vhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv
G,8 x
x x
o,.2 v vhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhv ??
??
# x x
x q,.q,8 x x 2R x ,8 vhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
x $&o x ,8 vhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv
,8,8 x $)* x
,8 x 2 R"# % vhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
x x x x R,8 vAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhv ??
,.R G,8 x G vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
~ O
vAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
??
2
x ,8 x G
,8 x I x R vhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
(v ,8GK,8
x
(+
"!#e x vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv
??
kG x ,8 v vhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhv ??
h
v
A
v
A
v
h
v
h
v
h
v
A
v
A
v
h
v
h
v
A
v
h
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
h
v
A
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
h
v
A
v
h
v
A
v
h
v
h
v
h
v
v
h
v
v
Z )*,8
??
%)*q%"O
H|I x )* vhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
|,8,.R.O2R,8+ x
vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv ??
]iig$]$fns8abgAghghghg ghghghgAghgAghgAghghghgAgAghghgAghghghg ghghghgAghghghg ghghghgAghgAghgAghghghghg ghghghgAghghghg ghghghgAghghgAgAghghghgAgAghghgAghghghg ghghghgAghghghg ghghghgAghgAghghgAghghghg ghghghgAghghghg ghghghgAghghgAgAghghghgAgAg
??
uv
q
,8'(("'(O vhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhv ??
x $'(O vAvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv
??
kR vhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv ??
u(v
2R
G vAvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv
x ,8 x
GOH
vhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
??
%)* x
# x G x x )* vvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv ??
%)* x
# x R " vAvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAv ??
v ,. )* x ,8 xvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhv ??
,8 ) x $,. xvhvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhv ??
G,.R
,. )* x ,8 xvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
x R
,. )* x ,8 xvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv
??
k,8 x
,8 )* x $,. x vhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhv vhv ??
x
y
x
h
v
A
v
A
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
h
v
A
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
h
v
v
h
v
h
v
h
v
A
v
h
v
h
v
A
v
A
v
h
v
h
v
h
v
A
v
h
v
v
+)*
x GO$,. x
,8)*G2$+O (v ov vAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvAvhvAvhv ??
??
kGO)* x R vAvhvhvhv vhvhvhvAvhvAvhvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhv ??
+'(O$)* x $ vAvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhvAvhvAvhvhvhv vhvhvhvAvhv
~
vAv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvAvhvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvhvAvhvhvhv vhvhvhvAvhvhvhv vhvhvhvAvhvhvAvAvhvhvhvAvhv ??
??
Resumen
R
G2
x $)* x x GG)* x
x ,.$o
)*
,8 x
~ -
G. x
q)* ,8'(
,8 x ,.G . x RqGI
$'( x
x G x x
R,.)*,8 v ,. x
x I]"!# ""!# H x RO
$
x RO x 2$,.,8 x ,8,8
G
]
x 2 x
R v GH!]#G+ x
,8 x
x x 2 ,.
R,8
] x
~ GO- v
Captulo 1. Introduction
,. )* x () x
$Ok
G(2R)*
)* x x )* x
$2G
RR
"!]#?O x )* x R
$
x * x GO
x
xe~ -
G v "!#*R]
x R
G v v ,8
(( ,8'(
HR x O$-
R x
GOq
$
x )* ,.$q ,8
]G x ,8
,8Ro
w4x
,8 x
x G
e
x e
] ,8 x y
w4x
R
,8 x
k
)*
( $ x
,8 xk ,. x o x ,8o $"# w4x , v
Qu es Postgres?
#Z)*$Z
&)* x x )* x R
~
|$Z$,. x RO$
,. x G ~ "h
x x )*
q,. x x x x ,8G,.,8 x
qG,. x ,. xkx )*
Z
k,. x x x ]
x G,. ,8 v x )*$,8)*,8],8
G2Hqqq x ,8
xx )*{GO,8o
x x
x ,8
x $
,8OG,8{GG2,. x
$
])* x RO$ ,8'( v R x )* x R,= x ,8
G
)*
x
G,.
(o$,8,8 x R O$+
,8
]
q
R v )*
G,8 x 2R y)*
G x K)*,8
$
R x v
H x )*,8)*e]'(])* x ,8 x $
G2R)*,8
R)*{ x '($,.)* e
,8
)*)* x ,8 x
],8,.$,. x v 2R
Gq ,8 x x ,.
,8 x
x ,. x ,8O$2 x R,8 e,. x ,8R$
,. x G,8 x x k
x
q
x x
G $,.)* x qGH2R)*
,8
'( x ,8
x ,. x
R|,.$O,8RR,.$ x R x ,8
,8 x K
G 2RO,8,8 x x RO x R
2O$
.RO
G
+ G
w4x RO
$
x ,8,8 x $
HR)* |
~ $2G
oR $,. x O x
$ IR,. x ,.
,.
)*k"!#*GG)* x R)*$
$
R
GG,. x*~ GO- v x ,8,8
] x
{,8
]
RO{G"!]#
G(
G2R
R
,8
kGOR)*
x G
k'( x
,8 x
,8 x
,8 x ,. x ,8)*
x ( x
e,.$2
x "!]#4 x
,8
x
,. x $2R x ,.,8 x x ,8 x Gq
x
,8 x R x
R)*{ x ,8 x x $)*],8 x I x ]
x ,8,8 x x I&
)*,8 x
x ,. x
$$R,.
R'( x v
0 Z x
,. x
G G)*G
,8 x "!]#)*G)* x $
* x
|
v #2 ,8 x 2 R x x 2OR
'(GH!]#
)*$
I
k
x )* $
x R
,8 x* x ,. x q"!#
x
v #$ x ,8 x G.
G x )*G)* x $
v %")
{ x ($
x o)*)* x R,8 x
q,.$ 2 ] ~ v # x libpq O)* x ,8
x qq
)*$+G2,8 x v
0
)*
O)*
])* x O$,8 x
] x ,8 x*x
e
)* psql
$OG$,8 x 2 R"!]# x RO$,.R
| 2 x
readline v
0 x x
GO
x G libpgtcl
,8 x R
x %,8 v x
'(
qRG)*,8'(OR x
+
x |%,8o x R,8 ?,8 x )*
R?R
)* tcl
0 HqG x R o,8 x GIR
x
G v #GIO x
+
w4x
x G x
% x ,8)*,8 x )*O*)*$,. x GIkO x
G+2R)*y
*$,8'(
wx GO x G)* x
v
0 "e)* x R)*{ x G)*y
e x
x x ,.$& x
x
x ,8)*|
G2,8 v
0 "
,8 x GH,.
x R x
R O$H x
,. x
$+,8,RR
,8|,8)* x G
q"!]#
(v
0 Hq R )*-o4 x
~ H )*- o,8)*,8 x|v R)*
{ x
qZ,8)*
],. x x ,.,+ x ,8'(&"'($2,8
H
G)*
x ,8 x
O$|
x
R
*
v
PostgreSQL
xu $ H2'(
x R
x )*21R
43x ](k
)*
v G
)* x]x
x )*.R
"!]#8RG,8 x x R
x GO x )*,8 x R,8 x ,8$,.
(
"!]# v ()*)*eR)*'(,8
)*|
x %)*|
x OR x
(v G
x
]qq,8 x ,82G
x )* x Rq&
G,.R v
O x R|
G2$O
2RG 2'($'( x ,8{e x
x R ,.$ x x
G)* x G,8
)*R
R v x "!#H
{ x( '(]$2$
)* x R,8,8GK,8?,8,8
G
$ x
GRO$Ro,. x R x % x
??. v
#| x ,.|)*OI+ x R
"!]# x ,8
x
0 # o
]R'( x
2 R
G,. x R
],8 x ,8 x ,8)*
x
,. )*Ro,8,8
o2,8R O,8 x R x + x
,8 x
x
x R,8R ,8 x
2R)*,8$
G
x
,8 x R
+
)*)* x RO$2
$?GO)* x G,.
2 x ,. x
$ v
0 Ho'( x )*)* x R
)* x R,8G,.RR,.
)*R
" x ,8 x
,8 x $28
(
,R8G2R,.,8 x $ x Z,8)*,. x x R
.+4R
v
0 H'( x $(
x ,8 x
Z x x ,8 x G2R x
H!]# G x ,8 x
,8
)*H
x ,8
x R,8)*$
O$
R,.$
x G2H,. x
x
R x
q
x R x '"$
,)*G v
0 #R+ x R x '( x
)*OI
$ x ,. x
x
|R+
G,.'(H'(O
x )*ORoq+
G)*{G,.$
,8 x G v
0 #k
,.
G?,8
y
Z)*Rq
R'(
y x ,8G)* x $
)*
G
)* x x x $ / Hk yR)*k
O x '(]
=R
/
G
xv x
v
R
"!]#R
x
k x ,. v 2Rk)* x &
,8O
x(v
G!# v
Recursos
) x o
x
( x
x R|G
%H R
w4x R
,8,8 x x
v ,. ,8G,.R,8|
x $
v
o
2
w4x( )*,8 x x GOH$O 2 $O x ,8 q,8)* x
+R
v
o
GHO)*$
w4x( )*,8 x $ x $
kO)
,8,8 x G vw4x ,8 x
y
k"R x x
x ,. x "GO
o x R $,.Gk K
k
(k
o,8
,. x v
o
)* x
w4x( )*,8 x x ,8 x
)* x RO$,. |
x v
# o
q
2OR
v
o
$
w4x( O)*$,. x
E
v
,8 )* x RG$Ok
GO x
x ,8 x RO x
y
,8R*
65 x( O)*$,. x
"*
,8,8 x G$.,8 x 87 8]8 8 v ,8
)* x x ,8
x 7
8]8 8 v
x
x ,.
wx( )*,8 x
G
oq,8)* x
v ,8R $)* x x ,.
x 97
: v
G)*
q{o)* x $'(,8 2+
oq2GO
x
q
o x $
x
,8 G
R
)* x
#
x $
k)* x )* x ,. x x x )* x( )*,8 x ,8
)* x
v
!]4.
x R
x
#o,8,. x
q x
x R ! ,8 x x q |oG
x R|
x
|+2 x R
qR x x
q
?,8 x oR O)*o x
qq
v
#
#,8'(
$)*
# R x
x x ,8 x
,. x v
"
2Rk
2R
G;",8 x R x x( )*,8 x x
RO ,8 x x x
,. x|v k x ,8R$)*
)*'( x , ,8 x x G'(R,8
q2R
,8],8RO x ,8 v
Oq x ,8 x RR x x( )*,8 x|v
#|
O
#2R
o,.G
x =<
,8'( ?> G x x &$O,8 x R&
x R v
]R
@
R
? x
,8
,8
GOR v )*R
x
,8)* x
$O 2OR v )*
] )*G )*K
k
x
G
R$O
$
x kq)*
y
,. )* x ,8 x
x Ro
,8 v x 2
],8 x R
x
v " x
e
G
2,8 e x {
,8 )* x
,8Oe,8 x RO v "(
x
,.$OG,8R,.$+$,8
'(| v
x $
&,. x ,8 x x
x G"GO x ,. G
x ,. x ,8OG,.,8 x
,8)*)* x +
,8 )* x R,8 x
o x x )*
q)*G v
,8=6(,8'(
R
q,.++ x x &$O,8)* x
2 +
v
Terminologa
)* x R .|
,8)*
,8
o,8 x x R)*G"2R
x Ro,8)* x
] x x 2R)* R v
Notacin
y
$ Z
)* x |%"G)
2RGH!]#
,8 x G
,8
y
2 k$
R
,8)* x
,8J%,8 x
$O x x G2 x
* ,8)*$)* x Rk x
)* x v H x )*
x )*)* x R
G2,8 (
S
8
O=UT.e 4"V $ ) B& 4XWGY
O8] 8= .OT8
$ . 8 .$q 8 8 . 8 (8 S $Y
"V ) B$4( 8
8
H[Z8|\(8 W
+^]8_ k 8 (8+k4(` 8==UT.
8 8 8 8 8
8 H6a .=(8 v
R
"!]#kR x
'(cb u G ZR
"!]# wx , v ]
RO I
{GO)* x
,8 x ,8o
~ GO- v
R
x
'(b u x Rk
ey x
x v " O$ ,8)*
,8,8 x *
RO ,8 x
Rky
,. )* x ,8 x ,8 $
R"2 xex x % x $
Hk x x $,. G
(k|
,8OR")*
)* x x
x ,8
'(Z
( k x RRO kk
x G x R
$,8 v
xx x % x ,.]o x GO
x q'($O x
($,8
,8
G x x
.2G x R&
,8R. x
,8,8G2.,8,8
x R
,8 x ? x x ,8
x
,8,8 x Ro
G2 R x
oRo2 kok
,. )* x ,8 x x ,8 2 x
'(
x ,8
R
( v
# x
O
$
x '( G2,8 ,.$)* x R G,.G,8 G x R x
,8
x
x )*R
d% x ,8)* x x Rk)*,8Re
,.)*,8
,8G,8
,8 )* x
G)* x
R v k$
2 x R]KR(,8 K x
O
$
y
x x R x x x
x
,8 x
)* x x )* x
$
,8 G,8 x )*R)* x R)*
,.$,. x|v
x G x )*,82R
k
x #R
v H x( " (" x ey"2 x
)*,G
(
" x ,82R)* w4x , v ] R x '( +y]#
% +w *2 x )*$,8G2R
?
R )* x v |w k4 x )*
,8?
G
kkR,8-
$E
v u G)*,8G
RO
x " Rk
x
R x|v
Notas
u8u(v
u v
u(v
u(v
u(v
u(v
u(v
Palabras Clave
] ! $
v
#&
x +$
G+G2GO
(|
R
x 2 x K|
$+
"!#
x
q"!#
RG x )*R
+o2G|R
R
q,. ) x x
x R ,.$
G
ABORT ANALYZE
BINARY
CLUSTER CONSTRAINT COPY
DO
EXPLAIN EXTEND
LISTEN LOAD LOCK
MOVE
NEW NONE NOTIFY
RESET
SETOF SHOW
UNLISTEN UNTIL
VACUUM VERBOSE
#
x Rqq
q
]o x )*{ x $OGqG2GO
G
H!]# e"!]# eGO)*R
]{ x x ,.)*eG G
,. ) x
x ,8)*
x R ,.
G
CASE COALESCE CROSS CURRENT CURRENT_USER
DEC DECIMAL
ELSE END
FALSE FOREIGN
GLOBAL GROUP
LOCAL
NULLIF NUMERIC
ORDER
POSITION PRECISION
SESSION_USER
TABLE THEN TRANSACTION TRUE
USER
WHEN
#
x Rqq
q
]oR)*{ x x $OGqG2GO
G
H!]# "!]#
ADD ALL ALTER AND ANY AS ASC
BEGIN BETWEEN BOTH BY
CASCADE CAST CHAR CHARACTER CHECK CLOSE
COLLATE COLUMN COMMIT CONSTRAINT CREATE
CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP
CURSOR
DECLARE DEFAULT DELETE DESC DISTINCT DROP
EXECUTE EXISTS EXTRACT
FETCH FLOAT FOR FROM FULL
GRANT
HAVING
IN INNER INSERT INTERVAL INTO IS
JOIN
LEADING LEFT LIKE LOCAL
NAMES NATIONAL NATURAL NCHAR NO NOT NULL
ON OR OUTER
PARTIAL PRIMARY PRIVILEGES PROCEDURE PUBLIC
REFERENCES REVOKE RIGHT ROLLBACK
SELECT SET SUBSTRING
TO TRAILING TRIM
UNION UNIQUE UPDATE USING
VALUES VARCHAR VARYING VIEW
WHERE WITH WORK
#]
x R$
"!# x
x $OG,.$
x
x
x
x
R
&G]H ,8)* )*
8, RO$
,. x )*? x ,8 x
length
CHAR_LENGTH CHARACTER_LENGTH
# x R$
G,8
G2GO
G
R x
"!]# "!]# yx
x $O
,8 x v '(,8 ] y 2 x e]
k x 2RG2 x )*)* x
o,8OR o (v ]2GO x +
(+ x Z
Nota: Algunas de estas palabras clave representan funciones en SQL92. Estas funciones
estn definidas en Postgres,pero el interprete no considera los nombre como palabras
clave y las permite en otros contextos.
HANDLER
INCREMENT INDEX INHERITS INSENSITIVE INSTEAD ISNULL
LANCOMPILER LOCATION
MAXVALUE MINVALUE MODE
NOCREATEDB NOCREATEUSER NOTHING NOTNULL
OIDS OPERATOR
PASSWORD PROCEDURAL
RECIPE RENAME RETURNS ROW RULE
SEQUENCE SERIAL SHARE START STATEMENT STDIN STDOUT
TRUSTED
VALID VERSION
#
x $O,8
x
Gq
R
x OG,8
|
"!]# H!]#
ABSOLUTE ACTION
CONSTRAINTS
DAY DEFERRABLE DEFERRED
HOUR
IMMEDIATE INITIALLY INSENSITIVE ISOLATION
KEY
LANGUAGE LEVEL
MATCH MINUTE MONTH
NEXT
OF ONLY OPTION
PENDANT PRIOR PRIVILEGES
READ RELATIVE RESTRICT
SCROLL SECOND
TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINUTE TRIGGER
YEAR
ZONE
#+2 x R$
G,8
x
x R
o"!# H!]# x x
,8
x x x ,82 x R
ADA
C CATALOG_NAME CHARACTER_SET_CATALOG CHARACTER_SET_NAME
CHARACTER_SET_SCHEMA CLASS_ORIGIN COBOL COLLATION_CATALOG
COLLATION_NAME COLLATION_SCHEMA COLUMN_NAME
COMMAND_FUNCTION CONDITION_NUMBER
CONNECTION_NAME CONSTRAINT_CATALOG CONSTRAINT_NAME
CONSTRAINT_SCHEMA CURSOR_NAME
DATA DATE_TIME_INTERVAL_CODE DATE_TIME_INTERVAL_PRECISION
DYNAMIC_FUNCTION
FORTRAN
LENGTH
MESSAGE_LENGTH MESSAGE_OCTET_LENGTH MORE MUMPS
NAME NULLABLE NUMBER
PAD PASCAL PLI
Comentarios
&G? x
x
2G,. x ., ROK
+,8,8GZ,8
x
x
'( x
x v % )*{ x q2OR
o
q$Oq v
- This is a standard SQL comment
// And this is another supported comment style, like C++
%"$)*
{ x OR)*
q
q,8)* x $O$H v
/* multi
line
comment
*/
Nombres
Constantes
x
dig x )*
v )* 2 x ,.
x dig o x *)*
v ]R
e
x ,8 |,8)*)* x )* x
{+
G2 {
A D(G2,8 x v x G" x x R x )* x R x ] x ])* x ] x 2GOR
u(v.
'( x x % x ,.$OG,8q x ,8
x q,.$
x v
x ,8 x 2R x R
x R x Z
$o v
+G,. ,8
,8R)* x R x
x R,8 x
,8
x q
q"!]# x R,8 x
float4 1.23 - string style
1.23::float4 - Postgres (historical) style
?
q
x R
,8
x k,8)*y x
k R x
,8 x GO x
*)*
type v $
eo x k,8 x x R
e x
,8
v #R
q)*RO x '(k)*qG
eo
o,8 x 2RR
Gq2G x
,8Rqq )*,8)* x
v
x
delim GoG
G)*$
e)*,8 x $
x ,. pg_type v O
R,8 x R
G,8,8&,.)* v x RG)*
,8 x 2R x R
$O
{{1,2,3},{4,5,6},{7,8,9}}
,8 x x G|
|
)* x x G2 x qO$
,8 x 2R x R& O
x v
x G)* x R*
x x
$Z G
*
R x )*,8o
)*R
O$)*k
e2Ge2e$OeGRG)*]
)*qG
,8 x G,.R
,8+ x x ,. x ,.$ v
Campos y Columnas
Campos
x 8] +,8
?RO R
x ,8
$
o x
x
")* x
")*$
,8)* x
,8)*
x R ,.$
r% x ,8e
x x ., (
R
$q$q x R x 8,
)*R,.$)* x v #
x x $q x x x x
v
x ,8
?
qo x ,8,8 x x $
v
x ,8
?
qo x ,8,8 x O
v
x ,8
?
,8)* x
x R
x ,8,8 x|v
x ,8
?
,8)* x
v
Columnas
x ] q,8 x 2R
q
q O)(
instance{.composite_field}.field [number]
x instance
x R ,8 x q,.$2,. x ,8
)*| x R x
q,8)* x ,8
,8 x
x x ,.$
k,82 v
x )*
O$
G x
x x ,8 x R k
o,8
x
+G
x ,8
,8 H
o$
Kq,.$ + % v= | %e
x .,.G x x
)*
$,.,8 x
)* x &&
|
x x ,.
x O x
,8 $
|
G,8OG,8 x H!]# v composite_field x ,8)*
o x k
o,8)*
q") x +
2 ,8
,.$)*
,8,8 x x RO R+
,.$2HG
G$?%,8)*,8)* v x )* x field x ,8)* x )*
$2
o2%)*,8
"
.,8,. x
v " field
qR array x R x ,8
x
+,8 x number x
,8(G)* x G,. ,8k
( v " x k2 x
,8
x %)* x R x ,8+2
x R
+)* x R
G$O v
Operadores
GGO$
G
x
x
Z 2
2 x "!]# v
o
GO$
.G
x
,8 x 2 R . . Gv qRo
q
x
( ,8 x
)* x
)*OI,8 R,8 x
R,8 pg_operator ,8 v #{ x R
x k$
)* x Rq
| x x v
Expresiones
)*G
x x ,8 x
x
G
G,8 x
Parmetros
x Z8] K& 2 x
,8 x $O) x x x ,8 x "!# v %,.$)* x G2R
?G
x ,8 x
G,.$O,8 x
x 8, x H!]# v # )*,. x $O{ x
$number
$,8)*
dept
Expresiones Funcionales
x u V T8vp
= 8 | x )*
x x ,8 x G
H"!]#
o?2 +
)* x R+ x R{ x R
function (a_expr [, a_expr ... ] )
OI)*H
x Ro,8,8 oo,.
O
q
H
x )*$
?
sqrt(emp.salary)
Expresiones de Agregacin
x "V T8*$w \(8T8 . x R,8,8 x
x x ,8 x
,8 x
{q
2G,8,. x
$o,8 x v x x ,8 x
$
,8 x
,.
)&%G x R
+ x
|
q
,.)* )*)*
q x R
v
#o x $"+
oG" x
,8 x +o x
aggregate_name expression
# expression
aggregate_name #
w
w %
aggregate_name "%
expression
c
x
aggregate_name
x
aggregate_name ,8 x
)*
x
x
x x
x x x
x R
x
H
expression
,8 $
?
,. R o2
o x
G
,8 x|v
#O)*GO )*q
". x
G,8 x )*q
G
,8 x qRO${G&
R
$
$
x
"G2 x
x
x x v #e x
)*
)*&oO)*GOG ##G&
,8 v #oR,.GO )*o)*q
G,. x
e
e x
,. x
2R x R x e x x v #&%)*
)*)*oq
$,. x $O,8
x
$ |
x RO
x ,. x
x
x 5$ x ]2,8 ,8 x
Z,8 ,8]
x R
x GO$)* x ]%RH
o,8 x ,8 x R v
(OI)*8,. x x
|G x %)*Gq$$
$Z
& x
R52,. x u
G
x %)*
e x R
x
4u*x G x 5,8 x R
2R x ,8 u
G
G
x %)*]
q
x R$ x x
u(v
Lista Objetivo
x S ] x 2R]
{ x R",8
q x
G
x k
)*G)* x RO$
+,8)* x R
)*(
a_expr [ AS result_attname ]
Calificadores
xe=8 y=8 8,8 x 22R x ,8
G x %)*G
,.$ 2 ,8 x ,8
$
,8
%
x ,.$ 2 x a_expr
kG$?%,8)* x
x x ,8 v
boolean
2k?,. x I x Wy
Lista From
# S
Mp K G x ]]
V 8 v
G,8)* v
K. x
) +
G2R )*(
[ class_reference ] instance_variable
{, [ class_ref ] instance_variable... }
m)~m)gtb84ra$bkmmqJab
Postgres Type
x
,8 x
,8R x
? x x
,8'(K x
,.'($O,= x
x R',8'(,8G
x
w
O xqx k-
'(
.2
,.,8 x x
,8 x
?
k'( )*
G"$,. x )*, &LO $
O
R x
x x )*R'
,8 x
,82 x
R x 4 x x )*
w
2 xox R-
'(
.2
x G
*Rk4 x
2 x
x
x
R x R
G
x(x IR x q x x
x o
)* x ( x x
H,8 x ,8
"$,. x )*, &LOO
O
x x
e,8
e
G)*G,
$'k x x
,8
,8,
G
R
.,8)*
G,.)*$4
R
x
x
x
x
x
)* x
x )*,
G'
2)*$ x
x x R
G
,8)* $
x )*GO,8h
Description
Postgres Type
x
x
R)*
R)* x
R)*)*
,8'( x
R)*
x R
R)*$)*R'k)*q$ x
,.'($O,=
O x x
Description
)*RO, x x x
Nota: The cidr and inet types are designed to handle any IP type but only ipv4 is handled
in the current implementation. Everything here that talks about ipv4 will apply to ipv6 in a
future release.
m)~m)gtb84ra$b
{cf8st
f^t
fb8mfb
x )*
Postgres Function
SQL92 Constant
GG
n x ^n
R)*n x ^n
R)*)*n x ^n
,8
,8 O
,8 O
x R
R
x R)*
x R)*R)*
Description
R
+'( G .'( x ~ ]
GG)* x vwx
x "!]#
,8 x( O)* x ,8GH 2R x R(OR x q "!# $k R
v R'( '*k
(H!]# ,.)* x ,88R'(|&2)*,8 R'(+2R x
k'(,8']|$,. x
x
k'(,8''(
x
R'( '
x 2R x
( v k x )*-
G R ,8 x( O)R'( R W65"'(k
R'(G2R x
x RG4
?2 q,8$ x
q,8 G x (-
x x RR'() v
& '( x | x
x ,8 x ,8 x
x y*R'( v v
x R
GO& x
x x x )*
)*I,8'(,8- x v ")* '(R& x
x ,.R x v v $
R x x
e)* R,8 x
x ) x R)*GOI,8'(,8-
x
x '( x RR )*
x G",8 R x G
v x )*e2G)*2 G")*'(
x )*,R 2)*q
RqR
G)*$ x R x
v
'($)* R'( x x
k x ,.R x & x x
v %'(GR'(G2
x x ,8R x )*o.,. x k'( x ,8)*
RR'(qO x x v
Nota: The original Postgres v4.2 code received from Berkeley rounded all double precision floating point results to six digits for output. Starting with v6.1, floating point numbers
are allowed to retain most of the intrinsic precision of the type (typically 15 digits for
doubles, 6 digits for 4-byte floats). Other types with underlying floating point fields (e.g.
geometric types) carry similar precision.
Numeric Types
m)~m)gtb84ra$b
|kcd*arsB
ab
Numeric Type
Storage
.,8)*
O$
x
x
G
G
x
x )*,
O$
R
Description
2GI,8 G
,8 x
?:,82 x
?:,82 x
,8 x
H,8'(,8
"G
,8 x
GO
O x
"G
,8 x
2GI,8 G
,8 x
w
x ?
,8 x ,8
Range
x )*
G,.)*$$,.G
u
G,.)H,8
uG G R
uG $
HI u
G,.)*$
,8
x )*
R uG G
G
x (R,8 x
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename
Atencin
The implicit sequence created for the serial type will not be automatically removed when the table is dropped.
w )*,8(G
x ,8+2 x '(qH x R)*,8
k'( x
R
,8 x R x x *q
v "
R'( k x *,8)*)* x
,8 G
x
k-
K
CREATE TABLE tablename (colname SERIAL);
DROP TABLE tablename;
CREATE TABLE tablename (colname SERIAL);
%'(
x ,.k)* x x '(
R x R,8
y x k`kz
plz|^z v
Monetary Type
Obsolete Type: The money is now obsolete. Use numeric or decimal instead.
m)~m)gtb84ra$b
t
fa$4m$rBab
Monetary Type
)* x
Storage
Description
,8 x
Range
u $ G(v R
uG v
Character Types
m)~m)gtb84ra$b
m$rm8IarBab
Character Type
Storage
Recommendation Description
,8'(
,8'(K x
Character Type
u
R
x
R
Storage
"!]# 4 ,8)*R
H!]# 8, )*R
Recommendation Description
R"
,8'( x
R
x
R
~ ,8'(,.
H!]# ,.)*R
m)~m)gtb84ra$b
a8sImQm$rm8arBa
Character Type
x )*
Storage
Description
G
%'(k,.'($O,8R
x R x
Date/Time Types
R
"!]# +R'(
"!#e
$ x
e)*qR v
m)~m)gtb84raR ^ kma6Wsd*aB
a$b
Type
R)*)*
x RO
G
G
R)*
Description
G
Storage
$uq~
Earliest
u$ u
Latest Resolution
u
G
u $$
G
$uq~
u G u *
) ,
G
u
G
$ G v
v
Nota: To ensure compatibility to earlier versions of PostgreSQL we also continue to provide datetime (equivalent to timestamp) and timespan (equivalent to interval). The types
abstime and reltime are lower precision types which are used internally. You are discouraged from using any of these types in new applications and move any old ones over when
appropriate. Any or all of these type might disappear in a future release.
u )*,
u )*,
Date/Time Input
e x
R)** x k,8,8R
x ) x x )*R& x ,8
x w
,8)*$."!#,8)*R
GR
x x
'( v %'(
GO x )* x '
x
y x
x |,8 x )* R'( R x R*,8 y'(
?'(
x ROG
v %'(],8)*)* x
SET DateStyle TO US SET DateSty,8 R'(
x 1)* x '*
$ 3 R'(,8)*)* x
SET
le TO NonEuropean
2Go'(
x H1
* ])* x ' 3(v %'( O)*GR'(
DateStyle TO European
G v
HG X a" 8 q R'(],82 x
$
"R)* x x
R'(]
,8 x
R)*q x v
G)*)*'(Z x
R]R)* x x G
q] x ,82G
x 2 x
G2
-
G"
2R x
v
date
m)~m)gtb84raR ^ kmaqifc
Example
x $O u G
u u
u u $
u u $
u u u $
u v G
u u
G u
u v G
G
x $O ~
Description
x )*
w u )*R$ GO
]5$
$
u x x )*
x 5$
e$
u x )*
g5$G
x K u x x )*
G& x
G
w u R)* x '$
$
w u R)* x '$
G& x
G
x
'(,.)*)* x
m)~m)gtb84raR ^ tfl~~ra)sImst
fb
Month
,8.)*
E
x $O
x
Abbreviations
G,
G
x
x
Month
,8'
)*
,.R
G
)*G
Abbreviations
,.
"$"
Nota: The month May has no explicit abbreviation, for obvious reasons.
m)~m)gtb8
ra) ^ km)t
Haa)kl~~ra)s4m$Ist
fb
Day
x
x
%H
x G2
%'( 2
G
O
G
R
Abbreviation
H x
x
%H $%" G
%'( %'( R%'(
H$
time
m)~m)Xg$tb84raR ^ sd*aifc
Example
(v G
G
G
Description
w u
w u
w u
w u
")*
")* u
")* $
")*
")*
G
G
timestamp
*$
R)*R)*
?k'(,8' w ,8)* x v
w4x
R x ?'(k
G
)*
January 8 04:05:06 1999 PST
v
m)~m)gtb8
ra) ^ sdya9|t
faoifc
Time Zone
"%
$
Description
,8
w
w
w
interval
x GO
|,8 x ,8
k'R'( k x x R
Quantity Unit [Quantity Unit...] [Direction]
@ Quantity Unit [Direction]
k'(
Quantity vhvhv -1 0 1 2 vhvAv 5 Unit second minute hour day week month
century millenium8$
G x & ? ' x R65 Direcyear decade
x
,.
ago &G)* v
tion
Special values
%'( k x "!#4,8)*R x ,8 x ,8 x 2G
o)* x q'(
,8 x
x
$R
CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP v
R
"!]# OR
H,8H,8 x x R ,8 x x x ,8 v
m)~m)gtb8
rabi ^ a8smG(km$4as4d*aMtfb8mfb
Constant
,8 OW x
,8'
x(x
I x(x
Description
x
x ,8 x )*G
E
u u u $ x ) )*
#R?'( x R'(&
R)*
OR'( x '(
)*G
Constant
Description
x
x
R
G
R)*O
(
w G
x R
x R x 2$,.R x R)*
x '(
x '(R)*O
x
'(R
k'( x '(
x
current G
GGO)*R'(
|ZG
v "q
qk x "R now x )H,8R x v ,. O
Date/Time Output
R )*R,. x R x R'( 2R w u G"!#k w4x .RO
x
R
$ x
)* x $ x R'( zkma)\a v %'(q
$
+'( w )* v
m)~m)gtb8
ra) ^ kma6Ksd*aMkcccab
nw n
n "!]#n
n2RG6n
Style Specification
w u R x
%H
x 2R
x 2R
Description
n GO)* x n
x $R
Example
u u u
u u u
eG, u
"%
u$(v u v u
u
u$(v H%
uou
G uv "%
%'(* q R'(y
$e x
)*k ,8 y x '(
ReR)**$O x
,8,8
x ,.k''(q$
)*G
%'(y"!]#'( x x
x x x x R|k'(,8'
GO)* x G
k'(R'()* x R' k
k,8
v HGkR
"%)* wx '(
'(+R x R ,8| x ROGR x x
v
m)~m)gtb8
ra) ^ kmakrnarHtf
a$fIst
fb
Style Specification
E x
Example
u$ u u
u G u(v
%
u u u $u
v $ "%
x GO
R -
|-R'( x O)*$",8'( x R&-
,8 x
G
GO| x
vw4xkw *
)
q'q R (--
week
century
%'($2GGO$H$
|R R ,8
'(q$ x ,.q
HR)*R
G
Time Zones
R
"!]# x
$R,8)*$kR'"!]#
x R x R,.$+ v
x
x
0 '(
'e'(
RR
x '(
x ,8R
)* x HR'()*,8 x
v
0 %'(q
)*q$ x ,8
|,8 x R x ( x R& R 2G ) %"]% v
%)*] x x '((kO
,. x '( x e)*G x x e x G2q,8R
kR'y
R$
kR)*o2 x ,8oR'( R ()*$OR'( ''(oR'e
$
'(
x
)*
x
$OG v
%"y
ER'(k
R ,8 ("!]#,8RR)*k$ x x k'
x
)*R
Gk'(,8',8 x R x
R'
R x
)*G( x
)*,8?R)* q x
,8 x R x x x k
R|)* v8 OR'(RR)*$ x q
)R'(q x
x x
R))* x ,.$R x
'( x ,.,. x '( x
'(
2$ x
)*q x
R'(,8
k'(
v
R
"!]# x kR)*y$ x ) '(* x
x x 2R)
RRG xu $ x
x Go'(R
,.
)* x "
R)* v
R
k '( x $
R )*
R,8
x
x x
2
x $
k%)*o4% v
+
R x
R)*$R
x R x x x GO+]% ?$ x R- x x
x k,8'G x %
)* % v %)*G,8 x
G
R,.$R)*e x '(
RH
O
x x RR'(,8 x x R x
'( x ,.
x R'(
Z)*
x v
%'($2GGO$H$
|R R ,8
'(qR)*q x q'(
0 % '(q% x
x ) x
O$
eR'(q,8-
x
e
G,.R x 2R)*G&R
|R'(q
)*q x v
0 %'( % x x )* x
o2G'(,8 x 2G
yk x
y)* x
x( O)*$ x RR'(q,8-
x
x ,8 x(x ,8 x|v
0 %'(q"!#,8)*)* x
z+iz#^|^z RR'(q)q x &R'( xv
w4 x x $
R)* x o2,8 G
(R'()* x ,8) % x )*|2G)*
x k v
Nota: If the compiler option USE_AUSTRALIAN_RULES is set then EST refers to Australia
Eastern Std Time, which has an offset of +10:00 hours from UTC.
Internals
R
"!]#* x
G +
$
"),8,8 R x v %'(Gk'(
R'( x ,.
o ,8,8o
,8 x ?",.$,. R x x
R+)*,8 x '( x]uG~ R ( x
'( R $ x R'(q2 )* x R'((R'(q x 'k R'(q? $(v
$
v
,8 x x x R'( u R',8 x R Oy)*$-
x GG x yG
x & x
,8 x x x
'kO x
,8
x x o
R
HR)*q'( x
G v
Boolean Type
R
+ R+'(o"!# x R
v
,8 x '(
q x q x k$
Gn nn n v '(
RXn x - x x n. x )*)* x G
x
x
R
x "!# 5 ]##& x R ,8
R R v ,. x
x x ] x x
x
G x ". x $$
|
RRo
,.)*Rqk''(+R
v
2G u O v
m)~m)gtb8
rab+tt
am$fB
a
State
Output
%HW
nhn
n n
Input
% ]
+nnRn 4n)nn)n6n
nu n
#"Rn n4n nn x n)n x jn
n n
Geometric Types
)*,R
GG x k
)* x x $&2?GI,8 v %'()* x
$)* x $
$R'(q x O)*+'(
$2 ? R'(qR'( v
m)~m)gtb8
rab+jkat
d*arsB
a$b
Geometric Type
x
x
Storage
Representation
G'
u
G'
x
x
R
x
R
hA
,8,
h hP
R
G
R
x
R
h
4 u
4 u
u
u
h
h
h
h
u h h
u h h
u A4 h
u vhvhv
u h u vhvhv D
u h u hv vhv
Description
x x 2,8
wx(x o x
x Rq x o2G
)* x
,8R x $&
e')*
R
x
x '
x )*
,8
e$'
,.,. x ? x
O ,8'2GZ Z x ,.R x
x
yR
G
kG O)
O )*,q
O$ x ,8'k|2,8 x x R x R x x
R)* x x x R2G,.R x v
Point
y )
y
is the x-axis coordinate as a floating point number
is the y-axis coordinate as a floating point number
Line Segment
# x )* x R $.2 x G
| x R v
+,8 G
x '( k x 2 x R
( ( x1 , y1 ) , ( x2 , y2 ) )
( x1 , y1 ) , ( x2 , y2 )
x1 , y1
,
x2 , y2
where
(x1,y1) and (x2,y2) are the endpoints of the segment
Box
~ "| x
e+ x R k'(,8'kRq,8 x '(q v
G,.
e x R'( k x x R
( ( x1 , y1 ) , ( x2 , y2 ) )
( x1 , y1 ) , ( x2 , y2 )
x1 , y1
,
x2 , y2
where
(x1,y1) and (x2,y2) are opposite corners
Path
'(].2 x
,8 x(x G,.R
R] x v ',8 x K x Ek'(R'(
O+ x
+ x R x '(2G x ,8 x(x G,.R
x
K,8
Kk'(kR'( 2+ x
( x q,8 x(x G,.R
v2 x ,8R x popen(p) x
pclose(p)
R ,8
R'k x ,8
H x
x ,8 x isopen(p) x
isclosed(p)
2G,8G'(q x o
GO v
R',8
e x R'( k x x R
( ( x1 , y1 ) , ... , ( xn , yn ) )
[ ( x1 , y1 ) , ... , ( xn , yn ) ]
( x1 , y1 ) , ... , ( xn , yn )
( x1 , y1
, ... ,
xn , yn )
x1 , y1
, ... ,
xn , yn
where
(x1,y1),...,(xn,yn) are points 1 through n
a leading "[" indicates an open path
a leading "(" indicates a closed path
'(&
2 x ' O2 x R v= RR'(|
2 x |OZ] (v u 2G
)* &R'(k'(,8'e'($
e x o
x x '(G2K,8
?" x x R
,8 x & R'( x )* x R2('( x R'(2 x R kG
*,82 x x
'( v %Z'(]
R xy x ,8R x upgradepath o
Re,8 x GO'(q
)*
x
G
) (v u
G v
Polygon
x k. x R
R] x v
x ]
2'
$k,. x
x &e,.
R'(2
&]R
R G x R * x
'(
'(G x &
( x G v
x +2G,.
2 x '( k x x
( ( x1 , y1 ) , ... , (
( x1 , y1 ) , ... , (
( x1 , y1
, ... ,
x1 , y1
, ... ,
where
(x1,y1),...,(xn,yn)
xn
xn
xn
xn
,
,
,
,
yn ) )
yn )
yn )
yn
x o R ? x '( O x R v. '(2RGGO x Ok (v u
2G
O)*
x k'(,8' '(
x yG
x x '(G2|R'(2q "
&,.
x G2G'(
+,8
x R G
,8 x $ x '(G2 v %'(
x x ,.R x
Z2
o,. x
H x
)*
x
G
) : (v u
Rupgradepoly
v
Circle
,
,
,
,
y ) , r >
y ) , r )
y ) , r
y
, r
where
(x,y) is the center of the circle
r is the radius of the circle
m)~m)gtb8
rab.i+aGrb8st
f#oBab
IPV4 Type
CIDR
,8
$O
Storage
w x Rk-
Description
x
O$
x R+ x '(R
%'(,8
qR'(
w x Rk- v %'( )* qG,. x ,.$2 x GkO-
k'( x.x.x.x o'( x Rk-y x
/y R'( x )* R x R'(
x x.x.x.x/y
"
v
w
R)*)*R
,8,8 R
x 2 )* x ) R'(k
o,8
x )* x
R/y
) ,.G|'($++R x
y x ,8
k$G+$ '(,8R] x R'(
x v
k)*qG")*
m)~m)gtb8
rab.iB
abzmd*Iab
CIDR Input
u v u v u
u v u
u vu
u
u v u(v
u v u(v
u vu
u
Range
Z
w w
,.-
Z
w w
,.-
CIDR Displayed
u v uG v u
u v uG v
u v u u
u v u$
u v uv
u v u(v
u v u uG
u
inet
%'(k x GR
k
G x
'(
x x
& '( x( O)*$ x '(
x ,8
x y'( w x |R'(|| x|v R'(|
k x |R*2R
w yx Rk-2
k'(
'(,.
R v %'( x |)*ZRR'(,8
R
,.G|'(+R'( x R'('(|,8 x x x G v" x ,8 x G"+,'(
O |)* x + '(
v
%'( x )* R'( x ,8 x x.x.x.x/y k'(G x.x.x.x x x R x ('(
x
y '( x )
G q x '( x R)*- v$w R'( /y OZ ? R
&q$
v x R'(
x
x G
e ( /32 v %'(kR'(qR
/32
/y $O( (
x
|o'(('(2(qI
R '(O v
Captulo 4. Operadores
,.+GO
|+
x G x v
R
,8 x x
xx %)*
+?
+
. v ?
.? x
,8K
x GZ,8R
G2R)* pg_operator v
x RO
x pg_operator
x ,8
x )*
,8
)* x k
)*)* x RG(O$
+,8 w
R
x
v
O
R
$
x R|
H
,. x ,8 x ,8 x
2RO x
1MGG 3
SELECT oprleft, oprright, oprresult, oprcode
FROM pg_operator WHERE oprname = ||;
oprleft|oprright|oprresult|oprcode
-----+-----+------+----25|
25|
25|textcat
1042|
1042|
1042|textcat
1043|
1043|
1043|textcat
(3 rows)
psql
Lexical Precedence
m)~m)g)krnafnaotarm$nt
rab
ra8ana$f.smna8ra8sIafa)
Elemento
w
k
h
AD
Precedencia
Descripcin
G
Elemento
Precedencia
Descripcin
G
GG,8'(
G
GG,.'(
$
$
G
x /
w ]
##
% ##
IR
+
)*+O$
.
w4
~ (%
# w
I
,8'(
,8'(
G
G
%
Operadores generales
m)~m)gtb84ra$b
ka$rmt
rb
Operador
O
I
l
I
I
O
GG
@@ O
ff
Descripcin
x ?
}
x ? $ }
}
w
}
$
}
?
}
x ,8 x o x
% w4
)*
Utilizacin
u
u
O
u lI
u O u
I u
I
O u
n2R4n[GG-n"!#gn
@U@ O
n,.8h)*,h'()*hngff
n / ,. / n
Operador
@ ff
fx
@f
@ fx
Descripcin
,8)*
x ,8
x ,8q
G
2 x 2qq)*
,"")* x
x ,8
x ,84G
2 x 2qq)*
,"")* x
,8 x ,8
q
2 x 2qq)*
,"")* x
,8 x ,8 G
q
2 x 2qq)*
,"")* x
Utilizacin
8,
8,
8,
8,
Operadores numricos
m)~m)gtb84ra$b
ka$rmntrab+fcd*rs8tb
Operador
@@
/
/
x
5
e
G8
G G.
Descripcin
,8R
,8HO$
%H x ,8
,.$,. x
" )*
G
x
x x ,.$,. xkx R
#
R)* x R O$
? R
x x ,8,8 x
o,8
o,i%,8
Utilizacin
@
@U@
/
9
/(v
x
(v
5 v
e (v
v e(v
G8 (v
GG8 v
Operadores geomtricos
m)~m)gtb84ra$b
ka$rmntrab+atdyrs8t
b
Operador
Descripcin
Utilizacin
Operador
,8 (?"R,8 x
Descripcin
,8 (?"R,8 x
wx ,8,8 x
)
mlm
m
mI
6I
l
IlI
I
}
}8
}8cG
eo
e
}rG
}rGG
e
ee
Utilizacin
n h u u nEh
n v nWh x
n h u u nEh
n v nWh x
n4 $ h u u 4 nWh 9x
n v nWh x
n $ h G4 nWh k
n v nWh x
n4 u A u h u u n
n4 u u h u h u n
n u h u A4 u n
n nE x )
n4 $ h G4 nWh
H2 GO x q}
n h u u nEh ,8IMm[m
n4 $ h G4 nWh ,8R
" x q?
n4 $ h u u 4 nWh ,8Rm
G}
n4 $ h G4 nWh ,8R
" x q?
n4 $ h 4 nWh ,8RmI
.,.'($}
n4 $ h G4 nWh ,8R
x ,8o x
n u nEh ,86,. &6I
n4 $ u nEh ,86,8
o
o
}
n u nEh ,86,. &l
n4 $ u nEh ,86,8
Ro
I]
}
n u nWh ,8,8
n4 u nEh ,86,8
o
G,8'(q
}
n4 u nEA ,.6,8 IlI
n4 $ u nEh ,86,8
Ro x ,8)*
}
n4 u nEh ,.6,8 QP
n4 $ u nEh ,86,8
wx GO,8o22 GO x
n4 u G h u G nWh }
n4 h $ A nEh ,=RR5
|'(O$ x R}
n u nE x }.
n nE x
| x
,8 }
n4 $ h u 4 nWh }8cG
n4 $ h u G4 nWh
x
(
x
x
#
R
e
,8,8 G ,8 een h u nEh G'
+
,8}
n u nE x }rG
n nE x
|}
n u G h u nEh }rGG
n4 u G h u nEA 2G
x x
x
n u u nW x Re
n4 $ nEh ,86,8
x R
e9en u $ nEh ,8,8
Operador
fO
Descripcin
,8
Utilizacin
n
n4 u
h u
u h
x QfO
x
m)~m)gtb84ra$b
ka$rmntrab+naqs4far"
m$4tb+naosadyt
Operador
O
l
I
O
I
I
O
I
l
G
fO
}gI
Descripcin
wx
])* x &
}
4w x R$)* x
$
}
wx
x
$H
}
w4x R$
}
wx
])*
& }
w4x R$)*&
}
x
? x x GO
)*
w4x RO
])* x & }
)* x
x
,8
%)*
x ]
x
}
Utilizacin
Operadores IP V4 CIDR
m)~m)gtb84ra$bika$rmnt
ra$bie[Mik`
Operador
Descripcin
x ?
x ? $
w
H
Utilizacine
nu
nu
nu
nu
nu
nu
v uG
v uG
v uG
v uG
v u
v uG
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
nEh ,8
nEh ,.
nEA ,.
M
O
nEh ,.
nWh ,8
KO
nEh ,.
Operador
I
O
I
lI
l
l
O
IlI
IlI
O
Descripcin
Utilizacine
nu
nu
$
nu
nu
nu
nu
2Ro,8 x x
x
nu
nu
Ro,8 x R x
x + $ n u
nu
x x
nu
nu
x R x q
nu
nu
?
v u
v uG
v u
v uG
v uG
v uG
v u
v uG
v uG
v uG
v uG
v uG
v uG
v uG
v u(v
v u(v
v u(v
v u(v
v uv
v u(v
v u(v
vu
vu
vu
vu
v u(v
vu
vu
nEh ,8
I
O
nEh ,.
nWh ,8
I
nEh ,.
nWh ,8
MlI
nEh ,.
nEh ,8
l
nEh ,8
nEh ,8
l
O
nEh ,8
nEh ,.
IlI
nEh ,.
nEh ,8
IlI
O
nEh ,8
Operdores IP V4 INET
m)~m)gtb84ra$bika$rntrab+ie[oi|^z
Operador
O
O
I
O
I
lI
l
l
O
IlI
IlI
O
Descripcin
x ?
Utilizacin
nu
nu
x ? $
nu
nu
w
H
nu
nu
?
nu
nu
$
nu
nu
nu
nu
2Ro,8 x x
x
nu
nu
Ro,8 x R x
|
$ n u
nu
x x
nu
nu
x R x q
nu
nu
v uG
v uG
v uG
v uG
v u
v uG
v u
v uG
v u
v uG
v u
v uG
v u
v uG
v uG
v uG
v uG
v uG
v uG
v uG
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
v u(v
vu
vu
vu
vu
v u(v
vu
vu
nEh x
nEh x
nEA x
O
nEh x
nWh x cO
nEh x
nEh x I
O
nEh x
nWh x I
nEh x
nEh x lI
nEh x
nEh x l
nEh x G
nEA x l
O
nEh x G
nEh x IlI
nEh x
nEh x GIlI
O
nEh x G
Captulo 5. Funciones
,.$ x ,8 x G x
x x v
x
x q)* ,8'(qq
$,8 x GO x
v x
,8 x x
x ],8 ,8
x ,8
$)*
x R x
x RO${G
O$
G
x
,8)*GO
v
Funciones SQL
m)~m)g){cf8st
fa$b ^
Funciones
#
list
Retorna
x #
input #
w
4
# # input value
" k
expr expr
%k expr A vhvhv D
#(H expr
Descripcion
R x
x
o
G x
o)*
]# x
]
#
input O value
Ejemplo
#
r"4P
c2
## 4w )n n
c1
Funciones Matemticas
m)~m)g){cf8st
fa$b mad&s8mb
Funciones
I$
Retorna
R x
Descripcion
)* x 2 x
x x
,8 ,8
)* x x
x )*
x x
,8 ,8
,8 x
x
o x RR
Ejemplo
v $
x
k v uv
x
x
R $
Funciones
x
Retorna
x R
GO
x
String Functions
H!]#
x
2 x
RO
,'($R" v
$
Descripcion
8, x
ORq x x R
o x RR x
,. x
q x x R
R x qq x G
Ejemplo
x G
GO v G
m)~m)g) ^ RMrsfv{
cf.stfb
Funciones
,8'( x '( x x
,8'(,
x
RK x '(RO x
Retorna
Descripcion
x
IR
G"R
x
I
G
Ejemplo
kORO x
2R x
,8 x
qG
)* x %,8 $
$)*,8 x oR)*(
HR
,.$o2,8 x
x G"R
,8 ,8
RO x R"R
,8 ,8
O,8,8G|
x G"R
kGOn% n
,.RR x '( x x
2R x 4RO x x
x
x
2R x
x
A ) x hDA x hD
x
x
RO)*A G
x QGERO x Q
GEW'BD
A RO x D )2RO x
.
G"
#)*
v x 2 x
,8OR|O
m)~m)g){cf8st
fa$b+nao
a)$4t
Funciones
,8'(4R$
Retorna
,8'(
Descripcion
Ejemplo
8, x
ORq x G"R ,8'(OnRO x n
R,8'(
Funciones
,8'(4
G,.'($
Retorna
x R,.$4R
R
R
RO)*R"RhR"
R
R"R2RhR
G"
)*Rh
,8'(
G"
R"RG,8'(
G"
R O x
RIR"R )*hR
R"
,'(,.'($
,8'(
,'(
$,8'(G
Descripcion
., x
q x
,'(o,8'(
O)*GOoGo
,8
qq
)*%,.
G x
,8O$,.REG
$
q
x
R
,8 ,8
G,.
,8O$,.REG
$
q
G
R"R
,.$o x R"R
,8 ,8
x
,8,8GE
,8'(o
x
R
,8 ,8
,8R
,8,8GE
,8'(
R"R
G"RO$
,8 ,8
,8 x
Rq,8'(R
R"
,8 x
Rq$,8'(Z
RR"
,8 x GORq,8'(,8
o x
Ejemplo
,8'(O
G,8'(
n
,8'(Z x n
x ,8n'()*6n
n'(?n n}8}in
,. x
q,8'(?
,'(
n,.'($
,'(
x n
,8 x GORqG"o
,('
n
2R x n
,'(
Funciones de Fecha/Hora
m)~m)gkma6Wsdya9{cf8s4tfb
Funciones
Retorna
Descripcion
Ejemplo
Funciones
Descripcion
,8 x
qq2R)*
Ejemplo
R)* x
G
$R)*h
GR)*
)*+
(
n x ^n n u
u nWh
$R)*
R)*
,8 x
ORq)q
R
RR)*
) n x ^nEh $2R)*
*
R)*
,8 x
q
R
RR)*
Retorna
)*
R
)*n x ^nEh
G)*
R
)*nR
nWh
R
,8 x
ORq
$R)*
G)*G
n u $
nWh
$R)*
n nEh R)* 5
,. x
,8'(
R=n
^n n x #nWh
GR)*
RORRh)*G2 x
,. x q'(O
RORn'( 4n n
'(
)* x 6nEh R)* x
RR x ,8n)* x 'Bn n x ^nWh )*
RR)*
RR x ,.Rh
$R)*
,8'(o x ,8
x R)*
x )* x }
x
Rn x L
nWh )*
x '( x }
x
Rn x L
nWh
RR)*
x R)* x
x '( x }
G)*
,. x
qoR)*
)* x
,8 x GORq
R)* x
x Gn
'(nWh )*G x
R)*n
'(nWh )*G x
)*G2 x n
'( O6nEh G)*
Funciones de Formato
Author: Written by Karel Zak 1 on 2000-01-24.
m)~m)g){cf8st
fa$b+na{
trd*mt
Funciones
Retorna
R"
Descripcion
Ejemplo
,8'( u (v
n $ gn
RR)*n ,
$ u nRn x
|+| k^n
R\n ,
$ n)n x
|+| n
R)*)*
n
, G nRn] x
|+| n
x
,8
q " ,8'( u Rn n
o x
,8 x
R
,8'( u v
" oRO x n $ n
R,8'(
G"
R,8'( x )*,.
R"
R
$R)*R
R"
R"
R $:R$
R
,8 x GORq x
R
RR)*$)*R
R"
R
,8 x GORq x
R)*)*
R x )*G"R
R"
x )*,
,. x
qRO x
x )*,
RR)*
m)~m)g){t
rdymscrabmrmonmasdya4tXmr"
arb8sfg
Format-picture
k
u
k
w
Descripcin
u u $
u u
Format-picture
"
"H
||
|+|
|+
|
%
x R'
)* x '
x
)* x
+
Descripcin
$2$
x ,8'( G
)*$
R ,8 x ,8)*
)*+
%R)*
R
H(
%)*
R
H$(
%R)*
R
H$(
x )*
q,8)*R
G)*G2 G
,8,8GE+ x )*%2,8
x )*
q,8)*R
G)*G2 G
)*&,8,R x )*%,8
x )*q,8)*R
G)*G2 4G
,8,8GE+ x )* x %,. I
x )
q$
.
H)* ROG
+,8,G| x )*%2,8
x )*q
H)*G2 G (G
)*&,8,R x )*%,8
x )*q.
H)*G2 G
,8,8GE+ x )* x %,. I
)*+ u u
x )*q,8)*G
R
,8,8GE+ x )*%2,8
x )*q,8)*R
RGO
)*&,8,R x )*%,8
x )*q,8)*G
R
,8,8GE+ x )* x %,. I
x )*q$
.
H
$ R
,8,8GE+ x )*%2,8
x )*q
H
RGO G
)*&,8,R x )*%,8
x )*q.
GH
R
,8,8GE+ x )* x %,. I
o
H( $ u $
o
H)* u Gu
o
)* x u 5$" O u
2G)* x o
)*G
x %)
) x o x (
,8 x R o
|R x
+
x u u ~
$OR
)* xkx %)*O$)* x w ww 5 w O
2 G
x
2G
x
)*
(
(
%"
q )*R,8 GO)*R x + R *k v 2 IG
q x x $ O)*$,8 v gn n+ R
v
m)~m)g)cwGabm$rmqt
rd*ms.c(rabmrmonmIa6Ks4d*aqtXmr"
Barb8st
fg
Sufijo
%
R'
"
Descripcin
Ejemplo
x '
%
%
x R'
H
m)~m)g){t
rdymscrabmrmofcd&~arKsf wt
m$WfcdyarsX
timr
a$rb8st
fg
Format-picture
v
$,8)*)*
Descripcin
&R x
(,8 x x %)*G
,8 ,8
q
x x
x G o,8 x x ,8
,8)* $] x
,8 x
x ,8 ,8
x R
,8)*
O$
Z
q )*
R x o
x G
R
x x
O$,.-R
R x o
x G
$
,8 x G x
)* x o,8G
)*)* x G4 o,8
Format-picture
w
#
+
% &R'
Descripcin
x x O)*$
]
n nRn#jnvn w n" x x ,8'( xx )*G5G,8'(O u
n G n
,.
-12
12
v ,8 x )*q Hn w nH
G x
Mn n x ,8q x q
o&)*
n n v
m)~m)g)ztXmr"
afa)ady:t
b8g
Input
Output
Tuesday
, 05:39:18
Tuesday, 05:39:18
-.10
-.1
0.1
0012.0
0012
Input
R,8'( n n
R,8'(
4n n
R,8'( n o n
R,8'( u )n n
R,8'( u )n $ n
R,8'( u v )n $ v $ n
R,8'( u v )n $ $ n
R,8'( u v n G n
R,8'(
4n )n
R,8'(
4n w n
R,8'( n w n
R,8'( n# n
R,8'( n n
R,8'(
4n n
R,8'(
4n n
R,8'(
4n n
R,8'( n# $ n
R,8'( n | n
R,8'( n | n
R,8'( (v n | n
R,8'( n 'Bn
R,8'( n
x )*G n
R,8'( v )nK:
,8)*K G
R
,8)*K v $ n
R,8'( u R n G n
R,8'( u v n n
R,8'( u v $ ) n $ n
Output
485
-485
4 8 5
1,485
1 485
148.500
148,500
3 148,500
485-
485-
485
+485
+485
-485
4-85
<485>
DM 485
CDLXXXV
CDLXXXV
V
482nd
Good number: 485
Pre-decimal: 485 Postdecimal: .800
12000
12400
125
Funciones Geomtricas
#)*{,8 x RH""" x GHR'( x x
*,8,8o x x x
x
,8 x I x
x ,. x x
|$
v
m)~m)XgR{cf8st
fa$bjkatd*Irs8mb
Funciones
Retorna
Descripcion
Ejemplo
Funciones
.
Retorna
$
Descripcion
.,.,8
"h
,8 x R4
x
,8 x
x ROG,.,8 x
,8 x
,8 x R
GHGIR
x
)*GI,8,8
$
'('(
$)*(
,8H
('
,8 x
'(R
n4 h u u Wn h
,8O$ }
,.
n h u u h nE '
x '
R}
2
x nA6 h u u h D nEh R'
x '(
x '($'
,82G4$'
R'
,8 x
RqR'
,8
x nA6 h u u h DnEh R'
x
x ,8,8 x
x Rn
u u I nEA 2G
n4 h
h nWh
x R'
x
x R'
R'
,8 x
RqR'
x
q
GG,.R x
Ejemplo
Gn $ h u u En h
Gn $ v En A ,.,8
"n h u u n n v v h n
,8 x
ROn4 h u Wn
,8 x
ROn4 v nEh ,8,
x '(n4 h u u h En h '
Funciones
Retorna
Descripcion
k R'(4
R)*('( x
Ejemplo
n v En h ,.,8
k R'( n h u u Wn h
m)~m)g){cf8st
fabnao8t
f
arb.sfnaqstbjkat
d*rs8t
b
Funciones
",8,
Retorna
" x h x
,8 x
Rq x
,8 x
"
x
8, x
R
x ]
,8 x
n h u u h En h
x
,8,.GI
,8,8
,. x
qq,.,8
,8
,8n h u u En h
,8,8
,8
,8n G nEh x v
4
,8 x
Rq
x
n4
u u I nEA
4 x Rh x
,. x
qo
R'( x
x
,. x
qo'
x
,8 x
qo x R
,8 x
x
., x
qo x R
x GO ,8,8 x
x
x
x
x n
u u I nEA 2G
x 4
x
,. x
q x
Descripcion
8, x GORq,8,8
,8 x
Ejemplo
n v Wn h ,8,8
n G nEh x n u u nWh x
2G
n
u nW x n u nEh x
R'(n h u u h Wn
x
Funciones
x 4,8,8
Retorna
x
Descripcion
Ejemplo
x
x u n v En h ,8,
npts
x 4'
x
,8 x
qq x
x n h u u h nEh $'
8, x
Ro
x
m)~m)g){cf8st
fabnao.c(ms
$m8s
fjkat
d*rs8m
Funciones
Descripcion
G2R'
I (v uq )
Ejemplo
.OR
x x
,8 x
Rq v u
x
K
n G h u u A En h
x
O ($'(R'
'
,8 x
v u
R'
G
R'(n u u u nEh R'
O
x
x
,8 x GORq
v u
x
G
n u u En h
x
Descripcion
Ejemplo
'(R'
Retorna
'
R'(n u u u En h R'
Funciones PostgresIP V4
m)~m)g){cf8st
fab8tb.rab8i[
Funciones
$ ,8,8
Retorna
G"
'(2R x
R
G"
8, x R
o
,8, x
,8 8, n u v u$ v uv n
,8)*G"R
,8 x R
o
,8, x
,8 ,8 n u v u$ v uv n
,8)*G"R
o
G,.,8 x
'(2,.)*R
'( Rn u v u v u(v n
Notas
Funciones
)*- x ,.
Retorna
x
Descripcion
8, ,8 q x
x G)*-
Ejemplo
)*- x x
x
,8,8 o x R
x G)*-
)*
- x n u v u v u
v n
x R)*-
x G
R"
)*
- x n u v u v u
v n
Conceptos generales
,8
x
x
GIR
+
q,8 x R
x o
G,.$O,= x H!]# w " % x o $
+
x ,8 x R x x R v
#] x x ,8 x Ry
G2GI
,8 x
?$
,. ) x +
HGRG
w " % v
x R+ kw
]G
*
R
(
x k
,8, x kw H# %
x
G,.Gq,.)*y x % x ,8,8 x R x R
,8 ) x $2]R
,8
k,8 2 k"
# %
G
x =R R
+,8 x
OR
o x ,8 x I x R x )* v
,8'(q
oo
,8 x
O x
R x o x ,8 x
x ,8 x x ,8
x x
2R)*
x ,8 x GGO
.
v kk$
|'(G R,8 x ZG
+,8 x GO x $O|
x )*OI+$Z,8 x
x ,8 x
R x R+ x
$
H!]# ,8)*)* x R x G
GO v
x
(
,8 x x ,. x
R
o x ,8 x
,8 x
x
oR)* x x
)* x ,8)*
oO x $)* x
)*)*
)* x
x v H,8 x
],. x ,8 x ],8 )*
,8ORGo x x ,8 x
],8 x GO x
2G
G x
(
k)* x v 2Rk2)* O)*$,. x
? x
(?
GoO$q
2
$
o,8 x x
ok x
,8
)*R x
kR
x
?)*)*+,8,8K,8+
)* x oR x 2 x v
x $
R
] x
,8
,8 x $)*I 2R)*o
,8 x
,8Rq,8,8
|| x
Z"!# v k,8 x ,.],8G
+
x
x RO x x )O,8)*,
x
v
q,8R,. x ",8,. x
o 2G4
( x
R x x KR
&G
,8
$OG|)*q
x R]o,8 x
$ v
]K I
x
+q K
K
G" x )
G x
x $
& x
,8 x
,8 x x
x
eG 2 $O
x
O,. x x Q% x ,82 ,8 x
)* x ROq
q
R x x $OoR
x
q 2 eGO x )* q
x x v
# x )*
R x x q ,8 x ,8 x e x ,8R]
xe ,8+
qG)* x +
$ x $)*
,. x
,8 x
x R,.$O
xe $,.)* x x x R x $( 2 $O x
,8K,8 x|v
Guidelines
%"
,8 x GO x
oRG2R x
(
x x
x R
GO
x ,.
0 #,. x
2 x )*,.R x k
GO x x G x x ,.] x $
x
x R
)*
,8 v
0 #&
x
|ZH O$
|,8 &H x G
x ] x ,8 x ,8)* x
RqO$
x
$R $
| x x ?
x R
|I
q
v
x R
o x ,8 x R)*,8
2R x
x &,. x
R
2G)*
x
+( + RH2k2],8 x GO x
x G,.G2$O v
0 #qRo
x
q x eG2R x ,8 x
v e x 2RG
x R x q
x o x( )*,8 x q+,8 x x RKRo
q
,8
,8
,8
OR
x
k$,8 x )*,8$2$
x
x ,8 x G
x x x ,8$ v
0
G
GO'(+ x ,.]
G x $
OI,8 R+2 x ],8 x 2 R x
x ,8G2R,. x
2 x )*,8k
v kG2R)* x x ,8 x 2 RG2Rk x
,8 x 2R
qq
G2R x
$G
2 x x ,8o,. x
GGGO
Operadores
Procedimiento de conversin
karm$ntr&naoa)mIcm8sf
u(vwx ,8,8 x x ,8o
x I q,8R x G,8R
]
)*R v
v "( x
)* x Rk
x GO$
+ x k x - x x x x ,8 )*
q+
)*)*
q]
)* x v
vw4x
R )* x Hk ,8 x I 2R"$,.R,8 x x
|,8
x qq{H)*)*o
|,. x )* R
v HH]'($ x x ,8| x GOR
)* x R x G$OH
x $
& 2qq
v
v ~ 2,8oG)*R&=R v
v
,8 x
R
+O$
.,8 x GH)*)* x )* v
v "2'( x O$
x
] x
]
2G O$
x o x ?GR x
O$
v
, v
R
ZGO$
.Z,8 x ZR RZ)*$G",8Z
| v $
x '(I G,8R+Ro2 x Ro v "
G
x
,. x
R$ GR
G
v
v "$% x )* x q
x RO
+?K x - x x K,8G
?,8 x
R
x
,.)*G x x )*,.
RO x
G)*R,.
2G4
x
v "'(
x q)*,8
,8R$2)*|
x R
x
]ZG" 2 $O x
x GOZ
o,8,8 x ,8O,8R x
G
G
,.
q x )+2R v
H*G2R x R x k,8R$ x R x ,8$2 x *
,. ) x
x R
q )* x RoK x - x x v
v ,8]G(,8 x
Rk,. x q=R Gq
R)*G",8R
=R R x
K
,8
,8R
|,. ) x
v "$
)*|
x ,8 x
$ x G
x x x x x ,8|2
x q x
v
Ejemplos
Operador exponente
tgl=> select 2.0 ^ 3.0 AS "Exp";
Exp
-8
(1 row)
Nota: Esta ultima forma es la que tiene menos sobrecarga, ya que no se llama a funciones para hacer un conversin implcita de tipo. Esto no es una ventaja para pequeas
consultas, pero puede tener un gran impacto en el rendimiento de consultas que abarquen muchas tablas.
Concatenacin de cadenas
x R,8GH x
()*oH2R% x
? x ,8H
?R
x )
|
)* x v H"R )* " x
GO
G
? x R
],.)*
v
Factorial
OI)*] 2Ro x x GG2 x G R
v %"OG
,8 x )* x G$H
,8R
+
x
o+ x R v ,8Ro
+GO
.Z
+ZR x )* x R
x ] x
,8R"
R)* x x R,8)*k
v "G,.o x
)* x R x )*{GO,8 x x 2RGq x R x R],8 x GORG2R$ )* x Rk x x R
qoG$ $,. x
,8R v
tgl=> select (4.3 !);
?column?
----24
(1 row)
Nota: Por supuesto, esto conduce a un resultado matemticamente sospechoso, debido
a que en principio el factorial de un nmero no entero no est definido. De cualquier
modo, el papel de una base de datos no es ensear matemticas, sino ms bien ser
una herramienta para manipular datos. Si un usuario decide obtener en factorial de un
nmero real, Postgres intentar hacerlo.
Funciones
zmcm8s
fnaocf8sf
u(v~ 2,8o x x R
qG",8Rq x ,8R
]
2R)*, v
v~ 2,8oo)*R| x
v
v ,8 x 2R
R
x ,8 x &,8 x )*2) x )*,8 x ")*)*
x %)*
qH )* x v
v "'( x x ,. x x $ RZ
x
+
x
2G,8 x GOR
2$
,. x ZH+R x ]
x ,8 x
v
, v
k
$ x ,8 x ,8 x I 2R)*G",8k] v
]R
2 x '(I ,.RR2 x R] v "(
x ,8 x
R oG2RqH
G,8 x GOR
v
v "",8
q
+$ )* x R&
x
2 x
]
,8 x ,8
,8
,8Z
)* x Z
+ x
,8 x
x ,.$OZ,8)* x x
)*,.$RO x
G)*G,
x
v HH'($ x )*$,.
,8RG
)*
x
x
+G OH
,8o x |
G,.,8 x ,8,8 x k
2G+
,8
2 x R x )*2R v "
2]'( x ,8R x x ,8& x GK]
,8 ) x
x
q
q x RGO
q
,8 x ,8
v
v ,8?,8 x
$*,8 x ?=R R
R)*G",8RZ,. ZI 2RG
K]
q,8
,8G
q
,8 ) x
G2
x R v HH'($
)*
x ,8 x
R2 x '($ x x x x R x ,8+q
,8 x v
Ejemplos
Funcin factorial
Funcin substring
k
x ,8 x substr
,8G
x , v " x )* x x
H )* x R8$
R
x (v
H)*
,8 x x ,. x x R
o,.$
x
oR2 x ,8 ,8RRR R
,8R)* x Rq,8 x 9% x ,8 x ,. x ,. x
Rq
RZ
tgl=> select substr(1234, 3);
substr
---34
(1 row)
qGRO x O)
H x $
?(
tgl=> select substr(text(varchar 1234), 3);
substr
---34
(1 row)
Nota: Hay algunas estrategias en el analizador para optimizar la relacin entre los tipos
char, varchar y text. En este caso, la funcin substr es llamada directamente con una
cadena varchar en vez de hacer una llamada para realizar una conversin explcita.
R6j?9Bi?j^??)&)Xj^^?Bh))g)BR??))j-?BBh)9XB??QM+
tgl=> select substr(1234, 3);
substr
---34
(1 row)
"4?&BM6Mh4ihX&
tgl=> select substr(text(1234), 3);
substr
---34
(1 row)
Resultados de consultas
)J)XL)c)X\)
B X^6\6M+)XlX^4"4?h)
B g BX6)?l?BBh9XB?H?9+"6?jd?4ih4&B)j?vg"6?R
B J "6?h)L?J#l?jBhhhj\&J?XB)$d)"iBR$4i?Rw)
ij&B?jB?hKBjBXM?BBhBXjB)rBBi?j&v6\6[?Q?B?
ijg?&lBj&"$+?[$?j)"&4Bj6J?&"[+B&"$
?vj6BQ^Bh"lijL??B?h
Ejemplos
Almacenamiento de varchar
)X)ij?&B8X?))J8Xj&&c)"XB)\)?6??BhijB6?^)6
"6?)BQh?BMjh)&Bv)X
tgl=> CREATE TABLE vv (v varchar(4));
CREATE
tgl=> INSERT INTO vv SELECT abc || def;
INSERT 392905 1
tgl=> select * from vv;
v
--abcd
(1 row)
Consultas UNION
[ijB6"Xi?j
)?L?
4iBh[#iRB^2&)j??2[B)
?j?6?Bhr^L"4?h)
)J)XL
B &J46?j
h?jr6L?4B?X)hj?r4?h)B
B
B?hX)r"6?h)M?rX?)6?
)r6\h)?)4h??r?&
i?R6? Q?X?&B9M"6?h)J
Ejemplos
Tipos sin especificar
tgl=> SELECT text a AS "Text" UNION SELECT b;
Text
--a
b
(2 rows)
UNION simple
tgl=> SELECT 1.2 AS Float8 UNION SELECT 1;
Float8
---1
1.2
(2 rows)
UNION transpuesto
jh?j4
6^j)Rh6h)6$M?jrh?$?M?&X?)6M8
!
"
lBl6)hl)?hB)?lB)BR??))jr$#?l6r6X
&%w&hj'%h?dB")(
j"d46#4&)?# i?J?#Q?v XB?XQ"X?l6)Q J)B)?))j +*
XR??r&jg26v&w% &hj$
% ?^X)B^B)X&jBv6?4iX?j&)"2B
R?,
tgl=> CREATE TABLE ff (f float);
CREATE
tgl=> INSERT INTO ff
tgl-> SELECT 1
tgl-> UNION SELECT 2.2::float4
tgl-> UNION SELECT 3.3;
INSERT 0 3
tgl=> SELECT f AS "Floating point" from ff;
Floating point
----------1
2.20000004768372
3.3
(3 rows)
-
B44M)"[?&R??#4
#4BB)BXv)h)6v4j&RBi . B6Bj?v4)(
BdR?Xj?&B$i?)6$Rh?h60/^B?X)"64 )r)??iR?jB$?#"J.(
?l4?4
B)"j?Rl6
/^??"6?K??1 /^$&)BX6?BXv)hl)B
?B6?jLh?&r)"?BX")6^?dhB"6BXjB?B?X
/^l
j&rjB?B?i4r&R4B4
2d)X2)$5)JB76?Qj9Bd?B4&)"8JX?4 )lX?& B)&98
Xj?& &) )?6&B)Q))6jX?)4j)hi?R ;: 4)hjX?)62?26 h
6X?8hB[j)h$896&
j[)?X?)?B4 3 j+)&?4["?B4
jC (Q?Bh4
/^j? 6^hB
X?)69 8JhB?[j)jMX?)6[?Bi?4
Xj&)?j cih?B9
jj (
hQ?Bint4_ops
44 < Bv)?-4RjX?)6?BvR) (
"j?hM4RjHX?)6
jKB)c4?#
>X@ ?XX)$ 5))#?B4Q?B jhB["6?j-l6 (iB4BX?j
2=3 j
)J??#8jB9&j")h?hr26?B?2X?)6 + B6BX?jB)c?B?i4$X)d
68jR?#)6)Xi46
8)2)6dj)j
BR) /Lj?Bj&)??^"?"
6j&M)B6&)h?^hQ)?QB4 hQhBM)6)h
243
f
Keys
Author: Written by Herouth Maoz 1 This originally appeared on the Users Mailing List on
1998-03-02 in response to the question: "What is the difference between PRIMARY KEY
and UNIQUE constraints?".
J?&)j
6#?hBl?6-6hd?4B?Lv6X?1/ 3 j
+)&? jX?) <(
X?hQB&?Bh?
?B8Jj
k Xj&?B)?jLc?B)BhB?vhQ/^?^?Bh??BQBM"1/
: 6?&?
D B6?&?#R&?B?dXB6)?B 3 j
R&?
HB)lXj??X?jBj-??& 6 < Ri#i1(
??X?j#?r?Bh?4 82B?9B&hJ /^B?i#?
B9?&)!
6 l B?
68?$6
?^4?h?c
/L4c4hR&)J??i)h?jL"4?"B))X^X??4ih?
/^??)?6QB)9B?B)&
m 1
E BM
n 9hB)j$B&Rv?B
/^BV
/^RBHh2&?
9Xj??X?jo
/^??r)?h2?Bh?
?
D B&XB)"J
6BM /MR?^BRc$ /^[X??4ih?jBBR&
% ?
X?BX< %wiB$B
B)4 ) ) ?BMjBM#B)BdBBMh) pqq4 ?rBj
jhB6$6?XBvXj??X?j ?9BR& EQB"4
j"l& 6v6"@ /^?B?B hB
)h)6hB)B)&M)"9B? < m 1 /^hjB#jhB$h)?l?&hBv)hR[4?hM
Bij??Xh?Br)?MvBMXj??X?jj
^)& H BR& /^?#?B4hi?4B
(
r "ih)6?hM?B8B?4hBMX??4ih?j#B)&MjBjRih)??vBBMX1
??X?jX
s 3 j-R&??j&jlX?8[XB)B$hBBR&jB$X??Xh?Q
"j
% ? X?BX< %$
% ??jM %w?_
/^??H6h??H8hB^6)&X??4ih?jBjB?t
/^?hCL?h
i"B
B)& H : ?B8RrhBMB)&?B?+hB) BUu
v
U
:
?&Ro64w
2
x
-y
r6#jH?4B??B8B1/
)B#"?4?BQ?
r?&j66h?jB)"BJhQ)
Bj?#BJ)??1/z )
x
x
lB?M4?H
: "6d))8)?hB)?RiX6vBM"1/
6 cB?
x : ")h4?)6Q?jB8)B4)"F
!
"
x
x
w
/^B8BBj& (B?B{
6rRB#+??X???d6RB)" k 6BRnE??
j#&6B46RB&hB)J?B?X
)"M?&?&Bh)h?&(4BB k 4
Bj<(
BMBM?&?4&Bh)?jB)&"?QBM"?4?jB
4 /^4L)LhBM)h)6 9 j6"
j)??1 / Bj& (B?M?B?X6Rc?B?X46^lB"X k 6)"
)Y/^)BY(
Bj#&RQ4QR?RBQXj&?c)?jdjc?X?&B6)6?hhBM)ihB)
j j& B-B)[)#?B&hB6[Xj?&B < B2?B+)"9&"?L)?&?4&Bh (
?jB)J)?|
/^B?i Ri W_*[
r h?&j"h#X)6[Xj&&B?#4?
dvBl&"vhX?Bh? 4 j& W_*[
r &R?cvjC)??jB)&)6"66X
)
64?BCR
66h" ? &)? &&j M B}
/^??B)d4X?)ij&&)B-j
+)&?
:
COLUMNS ~ cols
B??rBjB)^4?6?BQX&&)B\6J)8+)&?4
)XM
/^B4X")hlQ?&)R
6#vB?Qij&?B)h?H?6BM/^B4
?hB k 6X?X)h?j4?-6)LhB))?BQ?X")hijBj
hB)B["w?4cRB
)hMhB{
6?j?B8hQ&j"MhX?BB)^64B?)j6X)X
s
/^)B8dXj&?B)?jjr4?
/^B?i?lBj
B?^)[L6XjB)
jB?rj
64i)#"??&
BUJB)MQ4i?Q)BB?B
()h6J6h)c"??BQB)Bij&?B (
?jX
s m 1 /^h)?Jj
/^)Bcv& 6BM"h?4c4jhX?Bj) B?B)Mv4jchB
&)Bj WX*[ r "jc?4H?
j
(JM?B)^?B+)&8?&)?B) r}r W_
X&&)B
)&?Bh???B WX*[
/^?hBjK-j
6B1 /L\
r /^B?X i"4)4?B?i4{
)6LjdhBM)XB)cjdB)M4BB?B&RB?)6LjLJX?
X&?B)h?j
, 6
c?4)B" 44?4Bi4
Partial Indices
Author: This is from a reply to a question on the e-mail list by Paul M. Aoki 2 on 1998-0811.
r B jHRJ PP J)?Rg?B?i4r6?B6?B?<(X?)6M"?Xh
Bl&)?&&j?)h?j$)h?)B?B?XM?hB? 4?K)?KhBl?Mj)9 6#hB)-i)
"h)?^2)?B4Q
R?B?BLlX4h)?)B /^Bd??)?cQrhB
/^Bj?
R?8)B 6hhB^)66X?)h 6)X@ h?&^X6h9 n8 B")"8jc2"4)6Blj1 84
X$ C XD 9 f-.f Hh)??
B
j) BLB)?
B^&)XB?B4??)h^RB Rh?)H?B?Xl?6&
)$R?Bv6?X?j /^B?X&?B?X$
-??
ni)B Ljh?&?))?j /^B?X
?B?X2
6< nX 8J BhB^Rh9hB)?Bcj?8X??B|
/^B)"J?X)h6&)hiB
:
/^$6?)4?
6X
/^) 3 2Bj6
/^B)"L?B )R6dhBiKhB
"?4&
)")6?X)??8)B)?jh8B9X"6B?B^&)4?)??R#?</ "j?&6
)??u
/^? ?hi4B
Xj
))&hvRB &?) B4^)"? hBd4BRiR4
B)""?&jB$6)BRj"?B) k hJ9 8B4@ BU
6 (B)""?w
/^?
?)C 6@(j2+hB6?^h4)X)6hB6?4ih??46?&)h?LhXBB?j?r6X"
; f;f ))B jH&j"M?B&)h?
BC 6X$ C XD l f-.f ^l"iM
Notas
-
B B 4j&Sj&)? jB ) ?
B ) 16YS $ '6?4 &*
Captulo 8. Matrices
Nota: Este debe convertirse en una captulo sobre el comportamiento de los matrices.
Voluntarios? - thomas 1998-01-12
6h"r&?99?)h?hj$Bl?B6h)BX?[6R#B?j$X&^B[&)h?
&???&4B6?)Rr?B?8h2cR?Rg? 4li"46$&)h?i4KrX)??JY(
[?Bi?Bv?jB?jJK6)? ' )M??6hRH6^6RJ?&4lX"&j
BX?)6XL&)h?X?j
)6
CREATE TABLE SAL_EMP (
name
text,
pay_by_quarter int4[],
schedule
text[][]);
r4ih 6"???Rv?QXcc4Bi?j&RB&4Ri?j)6)[&B1Q)[?)
&)h?X66h 6-B#&)h?L ?&4BjX?B)#Xj ) CB)??)#Xj
)4w
: Bj)Bj&j[B)XM)?B)[XB6?Rv6j : e 0r} ?&"B&jl(
)&j2X& )XX4L?&4B BL?)2&R?X2^?L 68XB6?h
"6d?j[Bj&4[^?jl&?R2Xl)j[iR&?R"C4CH6B Y (
&6"M
SELECT name
FROM SAL_EMP
WHERE SAL_EMP.pay_by_quarter[1] ~\
SAL_EMP.pay_by_quarter[2];
+----+
|name |
+----+
|Carol |
+----+
6??4BMXjB?h9"XMjRljh"iiH?&6"jj
?jr4&?)j
-
+----------+
|pay_by_quarter |
+----------+
|10000
|
+----------+
|25000
|
+----------+
R&Y 4j&jMRiX)?)?&4Bll?6?Bh)"X?jB[?l&)?ld6M(
&)h?X 6h&XjB6?&"X#?&l4?&BhCd?)Bd ??)#?
?&"jr)#?)?96&RB
SELECT SAL_EMP.schedule[1:2][1:1]
FROM SAL_EMP
WHERE SAL_EMP.name = Bill;
+-------------+
|schedule
|
+-------------+
|{{"meeting"},{""}} |
+-------------+
Captulo 9. Herencia
XBh?Bl?R$iR?)?4$9?4h)j$2j
"i&jMj$X?)6 C lX?)6
R&Y48X?) ^)h)?&capitals
BhR?X?)6
B44H
capitals
(
text,
float,
int
cities
- (in ft)
"") "$hj2?j[)?j2B)&4
6X)jBB^?B6h)BX?L
j?)?jB+)??hBM?9X?)6 capitals9 j?J8j )?QB)&Mr+h+L
)hlBR?[ jh4)X)cities
BR :l
?jB?h#cR?4? H h?l)h?h
j?)?j
N)hc ?J)h6R&Y BR?cR& &"j9QBhR
Njh)B
[?v"X?6?j . : 4&)
h?Bl )h?hLh)j6)hv&6Q
6R)K^hBX ; capitals
j6"2B^i?RB4")B?B^ )?)
h)HX?)66lBXjB?h$B)X4
4BX?)BhlhR?)H?B6)BX?)
B
X?)6X&v9j)?)?Bh)BX?)6r4XB?B4
Nota: En realidad, la jerarqua de la herencia es un grfico dirigido y acclico.
h4&??26??Bh9ijB6?[BXBh2h)r?)
X?)r6?h))
2B2)?hY(
d\ PP ?4&)
SELECT name, altitude
FROM cities
WHERE altitude > 500;
+-------+-------+
|name
| altitude |
+-------+-------+
|Las Vegas | 2174
|
+-------+-------+
|Mariposa | 1953
|
+-------+-------+
h"d?Rg)vBXjB)
?Bj&4lj)?)X?)i6?BX?B#?)X(
?R?26RB^46)?X)??)R)2^C)?h?BX?&^? PP ?4B?
XB6?96$ #?,
lM??Q6??Bh@
+-------+-------+
|name
| altitude |
+-------+-------+
|Las Vegas | 2174
|
+-------+-------+
-)
|Mariposa | 1953
+-------+-------+
|Madison
| 845
+-------+-------+
|
|
)#g4&$l6)$
?B?il[?lXB6?l24??R)696"
j)?)2X?)626cities
4 jM6\&Q??^?2\)")#8B44BX? <r cities
XB)
M?)r"B4
[c&
)B)??))v
\ u ^ B&?4d?
???)Ri?j^\
)R)9 #gXj&j"6RXj&484 1,X
Introduccin
Aislamiento transaccional
6)c) :
9
k BriR"B??4Kr)?6?)&?Bh9hRBRiX?jB)l
& (
X?vr"-BXB
4Q6hB?jHvX4BBh"
h)B6)Xi?jBHXjBi"Bh
6jrB4iBjB6)Bj
6X
?X)X%w6i?Rl%
lB)B6)XX?8?$)h6X?jJ-BhRBRiX?jBQ44RJ)4BQX6)
?X)BQ"J??4
[B^h)B6)Xi?j ?Q8?)j9"?)&4BQB)M#?<#?&BXB
MB)^6?Q&j?iRjBhRBRiX?jLX6)
?X{%w)Bh)6&%
lBQhRBRiX?j&c4?c[v\Xh)$BvijB6?)4cj??BLXj)hh#[(
?)lL6)?6)XCBdijB?X?j 8M 4#BXB#^hRv?)v
R?6)XL?XB?i?jLB)^?Q?B6)RJHhM)B6)Xi?j^X6)
jX)h"^B?c4?2R??R&?BLdX"6jB?Bh)XX?B4M626i?#&)
)\
\^)
)X\&)\Qi)
Lectura "sucia"
Lectura no
repetible
Lectura
"fantasma"
-)
Lectura "sucia"
XhBX6)
Xhi6)
Xh"h??
???)R?
j ??
^v6??
8Qj??
8Qj6??
Lectura no
repetible
j 6??
j??
8j??
^j??
Lectura
"fantasma"
j 6??
j??
j6??
8Qj6??
?{?X)4BB?B9)?6?)&?4BLjX84
6h" )B^Bvh)& (
6)Xi?jC6^h4ihL4C68B???^XB6?dj?c)h[XR[RB[8?
XB6?X&BR)lBBXM
B)hw
%w6X?jl %JB?X)&?jQhRBRiX?jBX& (
X"iBX6)jRB?Mh4XX?jd?XB6?h
BBv?4c4?QJ
BijB6?&?4B)M[\XQB4i?R4X? )u
^ gj
) \}@ u 4hv6?B^)Xh)??RljBvh)B6)iX?j
XBX4B9B^i6))+BhBX?[6Bv)B6)XX?d[?BhBhl)XhR??)6
?M6)wM?hMh)B6)XX?Q$X6l)" ' 8X)6[)"44?Mh)B6)C (
X?L69MJjXK2X)&?)K?[? 9 LX)6M6X66c?9?
j)@ #?l+?hj
\&?jB#B6?#j)lj$?QjQh)BRiX?jB?QXB6?h
6$"h4ih)
6h?[
X&Jj)$$?B$?6)?6)Xr?XjB?X?
M [?lXjB?h i ?lB4c2?j?[?l6)h?)XM?[XB?X?jBj6
)X)??4)v))v&)"XJ)M4H)Xh)??))B)
4BQ4&i4BQv?M"6?)BMl?v\Xi?j
0 \ $
X ij&B
XB6?RBBQM)8R
46)j)B6)XX?B4XjBX"Bh
ERROR:
jB&h)B6)XX?j 6?)??))?dBJd&j?i)[?R8X)&?)48[h)
)B6)XX?B44J) rM?hRBRiX?jL64?)??R)?B)9&4)
Nota: Tenga en cuenta que los resultados de la ejecucin de SELECT o INSERT (con
una consulta) no se vern afectados por transacciones concurrentes.
--
Bloqueos y tablas
6h"M"Xl)?j&jl?j&RlijB"j?)$)Xi4dXBX4BvQ?j
)h&h)?) C: ?BM[4hjM&jjM[?j#?j)?" 6h")h&(
?X)&4Bv)BhMv?\XX?vBX?)4i?jBc&?Bh)vj"j96"j(
X?B)
J)M46)jrj?)r)??X)X?B4 9 j$?j
&jj$M?8+i4
) : iX6 B" C 6cR??8^)B6)XX?86)B?4B^B)6?M)X?j
?h)B6)iX?j
: 4&$M?4Xh)&Y L6962X&Rh?X?LdX?6?9)2XjB"j?))X4l (
6H
?Xh& 6X?
?)K)B)K
R?RKvh\Xj&)? $ hr
h
6jB8&)"XBM?B&4?)h)&Bh6) $M8?v #[Q)XhR??)
/
W 1
BR" j+6
: ??8_
\}MO u \, _ )9X?))X?jB
IN
/
W 1
X?6? j+6
vR?" u ^
X \,X )M4i?R4X?B4
c)" j C6
)Q4i?R4X?B4
#)?4" \u"$^ )\, _
IN SHARE
MODE
N?X X ?^&jj W M/ +X?? C 6 B)" W M/ +X?? C6
h Xj&
C6
X?6? j+ 6v : Xi4 +X?? j
c)" W M / +X?? C6
Qh& \, _ R4X?)w)X?B4
-f
+i?6? j+6
Qh& \, _ R4X?)w)X?B4
IN EXCLUSIVE MODE
C6 W M/ +X?? jC6 B)" jC6
B
lX&N?ih2Xv?-&j W M/ B)" j
BR W 1 / +i?6? jC 6 +X?? jC6 : X X6 X?6?c C6
Bloqueo e ndices
B jh4$"J"X?B24?j^)9?Xh&6X?h92Rj
dR?R
BQjX")9#)X)M4jQ)Xi4v) #?B?iM?&J?&Bh)Q48 6h"
#B?XjL&)B\)jr?6??Bh&)B&
jr?"iB4rh?{
:
B?XXA2
W ( 4
^?r?4
#B?X&rh? j&)?X?jXg4X?6?c?)R)XX6
?X&6i?h B ?jL?4Bl?)6)2[?lX?))6?j&6[B)
\X)
fy
B?XB)6
"i
rRv?jj
B?c4+r)?B$X)h?X?X+X??\)Ql?K)Xi4j
M?X&6X?h l $?jj69??4cRd2X)?B&?))&4B4)4
Mgh?
#?B?X64?B6h)vQ6iR
#B?X h""j"X?jB ? &)8R?&XBX"BX? 6? "X)
%w6)
!
&hjl %
Notas
f
B4' #
csh tcsh
B)?
#4BiB4"
X&
.login
4;B)?
sh ksh bash
$ PATH=/usr/local/pgsql/bin:$PATH
$ export PATH
)gic"
86d?"6h?QJjB) H* M)Bj8)4?)B$)6&?"&jr
BLB.profile
R?-?"6h? ? 6h"9^6 R ;: 4&)6BBR4&2"iX4&(
4&Bl4
4"BX?!
)XBRB8cR?4?Q6B?Y8R)XBRBcR?R?
vBhB1 ^?#?)"dv6hX&Bh R -B4B?4BvX&?4)&4BQ
??&
)4[j"$Xj&[&?X)-68)h
M )$ #?$Xc?h)-?)H)?B)H
&)B)gF
lB?[M6X?86d6B?)B4MijBh?BR
cB)&?B?h)r26 6??#BLXBL?)X6)Xj&d?B4&r4
4ihjjY (
))hBQv")??4)
)?Bv)"l&) .
\&?j64J6?j
l)6l; (
jBv&)?B"4&h)gB4i4?h)v44i?X)rJ)?jrl?v)?)?2[BhjB
A m
X 4B&"L^?d&)?BL6?L?#)6^^)hj #cR?4?L
BhB A W vh)&Y 6BX4)? . i6h?vB94h 864
?B4B)BX)$B)??X)X? "4i?[&B66\l"
Q?XlQB4
XBXh)XQ
' * $ #?$XjB?h)-?B&?)h)&c
ij4+)&?B?6h)
6d?h?QJ)Mpostmaster
)4)66dBjBQ6h9ij46R&BijB)
f
96)KjXlUUX)XHC?Xgr"6B6)?Mj?26?jLcRM?9?B6h(
?)X?# j6"6j)?B)$)69)h?B6h)?))$Jd4
R&?B?6))$J
h6B))??))MjX [X)XK)HU
X)-)iX H "6B6)???Rd?9)
(
&?B?6)X?#2?424c&j&Bhd#262i"4[?[)692Rj + : 6)?
6?)K????v)X")-B4c))6)jw
QB4cjr6)? [
R?[hBM?jh?$?c??4?l$")??4)-?M&)$ #M$?)?)"
)&?B?6)h?)
6"6+"Bj&R?&B2B84B[?j&?6&????$
6?h&j)h?cvMj)&?c?hRK?jiR
A2) #?M : &?B?h)j j6" k hRM46j
h?XjrXjL&Rr4)??
% createdb mibd
QJ)MhBHg&?6&"6?)v4B"l
psql
6i?
B ?4B&4
????BX6)?J)&X"4vB)6#)h6Kc4&r6??Bh
&B66\@
% createdb mibd
WARN:user "your username" is not allowed to create/destroy databases
createdb: database creation failed on mibd.
f)
$j6??2X")Bl)92)h$4?)r?"Bh[c2[6h?B)8)
Xhd)Bhv??Bh)?)X?j <W X"[Qi)?XjB6?h?)6lvRj
9B4XB^"R?&Bl^h), 49&jjMQ?8)6)j6BQ&RB84-?)
jB6X")?)6MRj4&?h?j)XX6l)g&hj
)?i)X?jB)?4BR?)M)6rM)j
6MX"4dj#"=?)&?Q
B8c)?)?QQ6h)8-iR&?B&)j?)K?)jBQ)?&Ri4B)?
)629)hj + 6[cR?)?26R89B)6?LB?lRB2))BXr
&hj$Lc?)r)[Bl)Bhl42&?h?
4X?v462?li4BlB)) (
&?B?6)jjh4 9 B6?h9Xjd4)&?B?h)j?jiR6j"M?X)X?jB
"Xj& (
)))L)628Rj ) 8486)MX)??4MB&"88)?)?Q)??
)?B?X)M?ji)?42)?hB)?jc)B68"4ij&?B86)MBj&"2Q)?)?
X^g"4g\o
A * :1: M)?h)HXjB?jBrij^h)r)?)?i
Nota: En versiones antiguas de Postgres, tambin se permita el uso de nombres absolutos de fichero para especificar diferentes locales de almacenamiento. Aunque es
preferible el uso de variables de estado ya que da mayor flexibilidad al administrador local para gestionar el espacio en disco, tambin es posible usar caminos absolutos para
especificar ubicaciones alternativas. La Gua del Administrador discute como activar esta
funcionalidad.
$R)B4v6?)&[?B?)X)??$X)&?B#)?)?v[6)
)B9?M)44^)gB)j)?Bj
X)&?Bj)?X?B)?4 ' )?X)X?jB)?4BR?)
86K"Rw))\XRB
initlocation
)8X"4MC)")?&)Xc)&?Bh&6)B?^)?)? A * :1:[ )89 (
9\&?^h?B9B)?j
)64"6
+?69L
Q6X?? 4K8)/alt/postgres
?M?8XBhL4-R&?B?6)/alt/postgres
jM j6" J j6?j$ (
&BhR6?9Y #?BX&)c6)6X?
% initlocation $PGDATA2
Creating Postgres database system directory /alt/postgres/data
Creating Postgres database system directory /alt/postgres/data/base
)2X"4Bl)699)j$4#)"2)?&)XB)&?4B8)?hB)h?c
)?-M?MY#?BMij&)Bj6)M4g??Bhij&)BU
A * :1:l
QJ)MB)XH?v&?6&)h?H
psql
4X?
RB2h?B
+????2BX6)?2)
i"4)J)6-$)j6$R??Bh&4BhM
% createdb mibd
WARN:user "your username" is not allowed to create/destroy databases
createdb: database creation failed on mibd.
j 4?jX)4??B8+?6M8&jj?9)6M)hrB8?4B)j?R)6?j#)
Bh)K84v6X??H86?"Xj?j6)c4?6??c@
% createdb -D /alt/postgres/data mibd
ERROR: Unable to create database directory /alt/postgres/data/base/mydb
createdb: database creation failed on mibd.
% psql mibd
46)?)lX^j6??4BM&4B6\@
Welcome to the POSTGRESQL interactive sql monitor:
Please read the file COPYRIGHT for copyright terms of POSTGRESQL
type \? for help on slash commands
type \q to quit
type \g or terminate with semicolon to execute query
You are currently connected to the database: mibd
mibd=>
6#9 #?&j??B?X#4
&jB?jQ?6iXBX??l? k
"6jB
Bh"#v)"QQhR6hdQ&)Bh?BQ&B?hc < jR&
X?j2v6X)vQX&?4BX Xj?8)v?Bc4h?)@& psql
h4&?jJ
hBK)6"?96?Bh)+?rc)?jrXj&)Bj k 6h"jH&4?QM
mibd=> \h
lB#L4&?BdL?B"jX?[6QXjB6?h)v
XBhB?v)j4?jH 6"6X??B
)"i#dh)\K8)6)9
mibd=> \g
mibd=> \i miFichero
f)
)6)??
psql
Q"i6)HlB?+R6X?
mibd=> \q
6 [HR&?B?6)jM^?^)68^)hjl&J4h"??LRB
6??BhMX&RBo[B?)
% dropdb mibd
6&"h?^ #?X)&4Bjj[?[XB"
lB?d)6ji?R2XjC?^)68)h9 B
j)4H"X46)&RBM4BXBvij^&iB9J4&?h)X?
f-
ff
yy
ABORT
Nombre
ABORT
M?)B6)XX?^^X
Synopsis
ABORT [ WORK | TRANSACTION ]
Inputs
^jB
Outputs
ROLLBACK
4BhM4c4?l64rXj&?h)QXjL4?h
jBvB)h)c)XX?jBr48X6Q)Xh)?&Bh
Descripcion
6B)XM?[)B6)XX?L#X6^X)2hR$?)
Rih??))X?jB
BXB)
jH?9hRB)XX?jL6R86X)h)B) 9 hXj&)BQ4r?4B?XQ4LXj&jh)&?Bh)
X&)B \X\ k p) Q6M"6Bj?)&4BMj))jBB?6j?iR
XX
Notas
lh???X \O$
)Mh&?B)H?hjR&BB9)B6)Xi?j
Utilizacion
))jh)Kj?j
X)&?
ABORT WORK;
Compatibilidad
SQL92
_ \
MODIFICAR GRUPO
Nombre
MODIFICAR GRUPO
: B)?-6)?jM8"??&?B)-6)?j"
Synopsis
MODIFICAR GRUPO nombre AADIR USUARIO nombre de usuario [, ... ]
MODIFICAR GRUPO nombre ELIMINAR USUARIO nombre de usuario [, ... ]
Entradas
nombre
jB&"Mg"Q9&j?X)
nombre de usuario
l6)?c)M6KB)?jv4??&?B)jr4" H
?jr8+?6?
Resultados
MODIFICAR GRUPO
y
4BhM"X??B6?McR?)X?j8Mij"X
jB&"$(
Descripcin
6
6)
X)&?)4+ BR?6R?j$"2[??&?c)(
?^" 6 ?v?r)&?B?6)j")6)j86)K69j"
: B)?6)?[JvB[X"$66)?
)?&Bh4??&?B)-6)?
^vB6?B?X9M6M??&?BMR6)?v4^j&?6&
l6)X
]_cc7\]_^7`8)i"R8"lBl
[ ]_^ `\]X^`L)??&?B)K
"
O$M$\ }\
Forma de uso
: B)?K6)?jr9^"U
MODIFICIAR GRUPO personal AADIR USUARIO karl, john
??&?B)Kd6)?vML"
Compatibilidad
SQL92
^[+?h
?Mj" $M$\}\
k )p)$ XBXJ[
"?RH6?&??)
MODIFICAR TABLA
Nombre
MODIFICAR TABLA
j?)irM?)&j?X)i?jBrh)?)
Synopsis
MODIFICAR TABLA tabla [ * ]
AADIR [ COLUMNA ] columna tipo
MODIFICAR TABLA tabla [ * ]
MODIFICAR [ COLUMNA ] columna { SET DEFAULT valor | DROP DEFAULT }
MODIFICAR TABLA tabla [ * ]
RENOMBRAR [ COLUMNA ] columna A nueva columna
MODIFICAR TABLA tabla
RENOMBRAR A nueva tabla
y;
Entradas
tabla
jB&"M^h)?+?6BhM)M&j?X)?
columna
^&"MB9ij?&B9BQ9+?64B
tipo
??B4c9Xj?&B
nueva columna
^QBj&"M)MB9X?&B99+?hBh
nueva tabla
^QBj&"M)M?9R?
Resultados
MODIFICAR
4BhM"X??B?Mij?&B2Q?h)?M6MB"Bj&)
ERROR
4BhM"X??B6?M)?v?9X?&B9BvjLcR??)
Descripcin
^[Blij?&BvX)&?2?&[6[&RENOMBRAR
j?B2B?B^2?RjijB4B?jM4
?9R?M)X)B 9 * 6M&jj?9h)?9?9Xj?&B[J&RBXj&?6&8?J
R& Bv46) rM6hMij&)Bv6\XR
l6hd4H4X"4j4hh)?)jKX)&?)Kd64&
Notas
B)?RMX?)
&6)jK?M6&?h?
COLUMNA
$$6??4BvBj&$
Bh)??B?i$?Mj"Q4rh4Xh)6$6j
6
R?Qhj)?))?R6486hl??48?\)") #?66B. 8RK4ih4
)h?h8BL6[ B)?8[8"Bj&)8B?BBv9?)6i?R4 C 6^6?&"
B#BX?BR)&J"v?)6X?)4B))&J"?LR?Lv6vBXBh)
8?96"X?)6
?"44B$?&?&Bh)X?jBR?)i?R6?)jKX[v??&?R))?MB
X?&BQ6)&?B)R l642R$?v"
O@\,X )
jB?jH)?"4KjPONER
2&VALORES
)-)"
POR
[6DEFECTO
QhB
R&Y 4^M)X)??R)H?Rr??BRr+?64Br?j
Bj
)?"4j4
46j+RB
`[_)c
l6h ^4[X")j9L?X?)6d)#j9X)&?)[44& 1
W 4B&)
XR??)h$$64&M+iR)?j[
6?64&B[6&?? ' F
)0 $X
)w
`X Bw$ @ ?4BM&)r?Bj&)X?L?)B"4Bi?R66Bh
* ?' #R9 \
,X )lBv6i?Ji?j&)R&??l9?jMR&Bh)?Y (
j
Moda de uso
) B)?KB9Xj?&B9?J :WXFm: W B9h)?&
MODIFICAR TABLA distribuidores AADIR COLUMNA direcciones VARCHAR(30);
)"Bj&)KB9X?&B94?64BM
MODIFICAR TABLA distribuidores RENOMBRAR COLUMNA direcciones A ciudad;
)"Bj&)KB9R?+?hBh@
MODIFICAR TABLA distribuidores RENOMBRA A proveedores;
Compatibilidad
SQL92
["
6hv)6&?vXj&?v+XX?j9lBLjjhv?jc;(
COLUMNA
?"4vj9AADIR
XC
?&?)X?jB6-ij&C6L4??X &RQ)? 1 L"
MODIFICAR
4h^6&?6?c^X&?4
COLUMNA
k pR 46X?X2)?B)$X))X?4$R?iB)?4$) O$M$\ O, _ j"< (
BMBQ4h)^j)@ #??"XR&Bjjh))j j6" k
yR
: B)?rd??&?B)
BQ??&?h)X? lh)?vXj&#BQ??&?h)X? [ij&";(
i?jBg?&?)X?jB?X)g8???)X?j#9"4d4h;B) + )9X")H8??&?B)B
??&?)X?j
B?X)4X"4[??&?B)
#B?X
B?Xj4"64ih?)&Bh
X]_cc
a
b [cdM < RQX)&?)$j)X?)6vv??&?h)X?jB9B4i4?h"X")$&"X4)
?
)?)cQj"jr))&4"jR?9_
]Xc clo cd"4
jh4&?)J)??&?B)HiR?????)X?jd48B9h)?
distribuidores
??&?B)B
X?&B$B
h)? j?4B&4BXRr4??&?B)B
Xj?&)
?6hBh?9R?M6K"X"RQ"4iRgR&
CREAR TABLA temp COMO SELECCIONAR did, ciudad DESDE distribuidores;
ELIMINAR TABLA distribuidores;
CREAR TABLA distribuidores (
did
DECIMAL(3) DEFAULT 1,
name
VARCHAR(40) NOT NULL,
);
INSERTAR DENTRO distribuidores SELECCIONAR * DESDE temp;
ELIMINAT TABLA temp;
)2X?)6?)l)L"Bj&)MX?&B)lR?R[j+4B?jBl)
k pR BQ?Rr"jc4
j6" k
MODIFICAR USUARIO
Nombre
MODIFICAR USUARIO
j?X)K??Bj&Ri?jd?XBh96)?
Synopsis
MODIFICAR USUARIO nombre de usuario
[ WITH PASSWORD palabra clave ]
[ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
[ VALID UNTIL abstime ]
Entradas
nombre de usuario
jB&"Mg6)?QXh)??)^6&j?X)j
palabra clave
B9)?)w9X?)MM46)M4^69XBh
FWX:F*[
FWX:F*[
6h)9X?)6?)B ?X)Ri?RQ 6)?)X4R49vRj
g 6M64i?X FWX:*[ j6)?QjMB?6"?))6)j
l6)B! W_:*[ 69B?4[2#)?8?[iR)6?)&X"))6r
)j
FWX:F W
FWX:F
W
abstime
QXBQiji?jB)?&4B?Bj)4?v?)?)wX?)lv4hv6R?
J?)w
Resultados
MODIFICAR USUARIO
4BhM"X??B6?M&?X)X?jdXj"Xh
B66\
r"j"X??96)+6)?96X?X)2B2+?6
l?)6rr)h
yR
Descripcin
Modo de uso
)&?)-?9R?)X?)c^6R?U
)&?)-?9)??4ML6)?vB)6M?XB
)&?)
?)??vl)?#BRh?XB)64i?X)BdQ)h?))X?j
+?4[R?j?99 r )Q ppq 6)B?9)jB[Bj)?99h?B Bj
&)M1 U
Compatibilidad
SQL92
R?jrM??&?&4B)X?j
k pRB< h)B)$\?8B?X?
BEGIN
Nombre
BEGIN
&?4B)B9)B6)XX?^^&jQ4BX)B)
Synopsis
BEGIN [ WORK | TRANSACTION ]
y-
Inputs
EO W v
W_:
:u
R?)RX?)jX?BR? ^Qh?B^Xh
Outputs
BEGIN
6v?B?KXMB9B4cM)B6)Xi?j^B6?QXj&B))
Descripcion
-4ih 6" k \X?))B6)XX?B44lX)r@?X)iR
h)&?Qi1(
BX?#ij&R
)Rhjij&&?D^4j"j96?6&R9v)6vv)j6 < j)9R?)w)6
X)26)L96)?dh4ih)84Jj?[)B6)XX?LXj&&?K62\X(
L?&??X?)&4B8)B)HK6)h6H?d\XX?8+?jR8h"&j
\X8C"j??)C 6 ?B?X?dB^)B6)Xi?j 86)?&C&j BX)iB (
jj j?jM46)j26)?jM46[&Xj&)B
[\X))
BLhRBRiX?jB?X^B)68 4??X?h&_
^}aK& ]_^ @ QX
hrJ&RjQ?8\< (
XX?j . jM46)j&&jd4BiRB)^6l\Xh)&&XBd&))?jjj"l?
)B6)XX?^6R' gXj&&?"?"B2)Xh?c?46?B?X)?2 F 8M?6X l
\XX?L&???46)j
B"9B2hRBRiX?jdh)&?d
"?9)
?XB6?64Bi2X)BQ6MX)&?)8&XB)rh)?)"?)X?jB)4
jh" k W_: *
B?
&R??R&?B jQ6h ?R8)B6)XX?B^4
r}r
0* jjB9?)$XjB?h)Bh"89?lhRBRiX?j#6?^h?B2#XBhl?j
X)&?2XjB6??R2RB9Q?^h4iX?jCQ?8XB6? J : -6B2h???))
_\ \X$ uX$
\$X _ \66 )
)2XjB6?)[4-h?
$ 6HB4i46?)2R??R&?B&8hRBRiX?jB2&)9?"6 J
)W
:
:[0 6?hB) XB?j8X)&?jXB6j??)j8)BhL#?
)B6)XX?lBhXj&?BX
"4?&Bh)B4Hr?$\Xi?jQ+?&J6) * r
8B9h)B6)XX?^6?)??)4?
H?#)B6)XX?6h#XB6jh?R j6" k )6Rw#dh)v?)l)XR??)< (
X?B[6R BXB)96HB 8B?BBL84??)2? 6 )2hRB)XX?jB2h?BC?
"J?44h)BR :
* )h&i)ijB6?hBh))?6?)Q)?
Notas
y;f
Utilizacion
)X&4B))Kc2h)B6)Xi?j^6)?
BEGIN WORK;
Compatibilidad
SQL92
#B)#B?BX&RB
^
B4hB6? [?Bhv j6" k r
$ 4??X?h^ k p) 8g?[?B?i?Ri?j9B[)B6)Xi?j#6?4&"26h2?&??iv^4
4&?B)vvijLL4h) \O$ QXj \X\
Nota: Muchos sistemas de bases de datos relacionales ofrecen una caracteristica de
autocommit como una comodidad.
X?j?Q)?R
h???))l)v?"iBh"jj?hj k &Y(
kl4d)?6) )BEGIN
^L6dX?)6)i4"6d8?)l)B6)XX?B[6)B?X)
XRBvh)6?))??X)X?jB)6M)j
k pR R&?^4?" W
:
:l
J)M4H4B?jM)?6?)&?4BvM)B6)C (
X?^j4
46
CLOSE
Nombre
CLOSE
?^Xj
Synopsis
CLOSE cursor
Inputs
cursor
jB&"M^i6K)?vXR
C y
Outputs
CLOSE
4BhM4c4?l64X6Hi4)l+?j6)&Bh
h9)?hM6M6j
cursor
B6hX?)vQ9B6?QX)
Descripcion
??4l?"X"6^)6X?)X&&Xj
)? * 62l6QX<(
)B KXjhcB6&?4 j)X?B4266??Bh[ 4 [ X6jM?
6HX4)BXRBvBQcM4HB4i4?h)
l&X?jl?&??i?hM\Xh)dJ)lX)vXjR?4hLi)B#BQh)B6)XX?j4
4&?B)Mj \O$ v \)_ \
\
Notas
Utilizacion
HgX6j??)Bj&&
CLOSE liahona;
Compatibilidad
SQL92
\
4hh)?&BhMX&J)??MXj k p)B
CLUSTER
Nombre
CLUSTER
jj"i?jB)?6Q)?&)XB6\)")li6h?Bc)j6c?
Cl
Synopsis
CLUSTER indexname ON table
Entradas
Nombre del indice
jB&"M^?B?X
table
jB&"MB9h)?
Salidas
CLUSTER
j)")&?4BvB?)Q+?h6)&Bh
inherits "table"
Descripccion
)6)Bj6
&)B9 jh4
)"?[X?)664i?X)j
)"jR?&))&Bhd ?B?Xd64i?X)
B?XddBR
1 ?table
indexname
6?Q4B?vM
classname
B)lBX?)66M)")46?X)&BhM"jBB))6)Bj8??Bj&Ri?j
-?B?X J K)"R&?B&4[6)h?X Cj)2R?))6c&?BhR[^?^X?)68
)X)??4))+?jiR&?j$B^6&R")j ^2B)X2B?B&?BhB^9&)BhB
)R-B)-?B6h)BX?)K9h?))X)??R) w RB?"X4))?)
&)B)?&Bhh4ih)BQ4jij&)BvB
\
Notas
9R?[Rih)?&Bh62X)92Blh)?94&)ij#4j"L?B?Xg9(
$624B&l[6 Bj&"2??B) j
46[)RBjj?"&?6jXBXY(
jrvh"?B?XMJ?"8X)Bl6M\X4R")&?4BQX?64?B
8?j
X)6^M)XXBrMB9??B)j?))?)hj4&4BM4B"lMB?R)R
"4&)X)v?j9Rj4?R-v?h)?BM?&jh)Bh R ? Rj
Utilizacion
")&?BhQ?"?)X?j8&?))6)Bj^d)h?hQ6)?)?
:
Compatibilidad
SQL92
^QBRQB?Bd4h)hv?B6\ \
4 k p)B
COMMIT
Nombre
COMMIT
)??R?h)B6)XX?^)Xh)
Synopsis
COMMIT [ WORK | TRANSACTION ]
Inputs
EO W v
W_:
:u
Outputs
COMMIT
4BhM4c4?l6?9h)B6)iX?j86M")??49ij^+?
jBvB)h)c)XX?jBr48""6
Description
")??)? )B6)XX? )X) M j^?j8iR&?^"4??))j8jv? )&(
6)Xi?j 6jC???428?)2h)2h)B6)XX?B46J 68))Bh?)^6XB6) 6 K6
"X$B9iR?MM?)?B
\O$
Notes
C
Usage
)B)XKjj
?jrX)&?jr4&)B4B4J
COMMIT WORK;
Compatibilidad
SQL92
k pR 6?844i?X?)j
&)6
&BhX&R??
COMMIT
COMMIT WORK
H H?&)6)jh)Y(
COPY
Nombre
COPY
j?9)hj4B"XB"jrQ)?)
Synopsis
COPY [ BINARY ] table [ WITH OIDS ]
FROM { filename | stdin }
[ [USING] DELIMITERS delimiter ]
[ WITH NULL AS null string ]
COPY [ BINARY ] table [ WITH OIDS ]
TO { filename | stdout }
[ [USING] DELIMITERS delimiter ]
[ WITH NULL AS null string ]
Inputs
:W
R&?24BX&j)&?4B^&)h82X)&j6gjR)B[jj?)hj
)?&)XB)6v?6MX&v4\hr?BR?j6)^?)KXj&hh
table
jB&"MB9h)?M4?6hB
*[
EO
m
j?9j?Bh?X)Kj4h4?BhBoB?X
* c)X)?
filename
"9)6j?4Lj)lB?2giB4"Q4B)Q6)??
stdin
JX?X?9B)c?4BM^XBXhQh&?B)
stdout
JX?X?9R??^ijBXQQh&?c)
delimiter
X)Xh??&?h?riR&4B)Q6)??
null print
lB
X)iB
)""4iBh)J)?j") r
cR?Bc4
4ihU
r)966?)6&(
RK))jBB?h?X) 9 "i?H\&?j)B9iRB\N
^
)C#?
Nota: En una copia de entrada, cualquier dato que coincida con esta cadena ser
almacenado como un valor NULL, por lo que debera asegurarse de usar la misma
cadena que us para la copia de salida-
Outputs
COPY
X?96MXj&?hQ6)?6)Xh?)&Bh
ERROR: reason
X?9)??lj?9)4L?B?X)48j&B66\M"
Descripcin
\
&)hBh"h)?) 6"vXB"jg6?h&)"XB?6h)&(
) \
?B?X$)R4?j 6h"-
?$26i?
r2$QXB" RiB4B
r6-?'4X4&B$???$)$+6?h[+Bj&"Xj&?hlB
6X?X)6
6l4JBl?hJ6? J6v6X?i
?R??iRi?j^X??B)g6?jKJvc?X6)
Notes
stdin
?j9RjM)
stdout
MR?)X?)c
: W j??2MMjjr?jr)jr6)?&)XB8v?)^X&vM(
h4jH?B)?4Q?)
ij&[4h 624H?l&RHR?9$+Xj&jh)&?Bh
B&) ""6?RB8rcR?&B9j)?)^?j$XB"r4B<(
R6^)v&)r)B)BM4hM^)ihjHMB?j
)hj4L9#
-4ihX)B[6XJ?M84h[$6M8R?R %+ %wXj&v??&?R
C)
??&?h)j$4lX)&?)6[jX)??4$j"diR4X
&?4)B#?v)?)vX?(
A *)
r
&W+ $X))X4"$B"8?jX)&
)j$9"6?4
X?BX??Hij^j??&?h)jH6)84Bi4)jB"ij&???)
m 8QB)XQ?&"U$ ?C ?'?"M4 X)??)?8Xj2)?"496)??j
j \
lX)Ri\C ?H??)?$Q?$6$))Q?B6)?j)?"4
[B?[)4i4j
6"X)??4XB"QM)
g6c?jHBX6?9?jr4&?6j
?6Q4X??6ij^6MXj&)B
?vR?)li?RcV
!A *
r
U)W 6X?XQ&X)Rihi$v6l6)vR[?Y (
&?R$Bh"vX?&B) v46X?X)&)?jX))Xi"M ?QX)BQ??&?R)
6?vM6)j?&KX))ihi
Sugerencia: No confunda COPY con la instruccin \copy de psql.
\
B^?BXl"4?[Bc)XX?jBjX84#?)$Xj?&B) ?#&Rjg
?BX)K"X&?Bj?J)R
\
4?4B?R9j)X?B4?&4"j < hBJjXv"?4&)44
X)6d \
M\ J"L4J6?Bjj$66h6vRX?4?&Bhv&?X)
X)d \
X F d6)6d)??&?)2)BXj?
)???
* ?8[24B?"iih?^9)6\84?j 6h"B^
B&)?&Bh[4
&?6&Q4g?"Xj?l)hvg6)?4g"6?)[ij?)-gXB"
%
%
? B)?M?Bj&Ri?j8?d")rJ4^RM?)L"6?h)Bl?B64)[foo
)
B)X)[X
K6)?&?B)? ; C4h8X)6jJ4 ?)M
H?QB)?R4' #M6)6M?"9X&J?9h)gXfoo
c4' #M6$PGDATA/foo
j4?jhR)
6X?X)-?rXB"jrMij?)
jMXB"j6)jMXj&#)"&BhM) \
4&4??$L6
)iX4??lJ
)?[&)?B[4?j9)692Rj+d??Xj?X)?4$8##?6h&
XB""4
)B#&LB8XB4?j F
J 64i?X8 iB4"&4\h?cj?XB
iB4Q96X??2d?[&R?BvjB624D 9\X)B846?hB8#?2& (
?B9g6)?
File Formats
Text Format
)Bl6M6 \
tX 6?^?jX?
:W RjiB4v4B)lBX)?
?Bh)BX?)K BQ6j???B)X X)QBQv?)Xj?&B)M
R?jK4))vj
gX))XK?&?)j H jrX))X4??&?h)j4?BhBj
?X))ih"ir?BhB
LXj?Bi?)ij??&?Rr6L"Xi)KiR)XhM)L))[ %+%w j
)?"ir)h?hv6LX)B4hhQB4)jH?BX?jL6)??)6ji?R
X&X)lB#2?M?jMl)h?h . vBi?j 2)??Q)v&h?#Bd$ #
)hHB)KjX)4X4))h)9 8;4h6B)lH^X&RB \
g&)hQ)i)?B6)BX?9
~ attr1 \~ separator \~ attr2 \~ separator ... ~ separator \~ attrn \~ newline
Binary Format
BX)6^ \
X$
?jMJ?&4jX)"84BXB"^4[BB&4
Q?B6)BX?)24 -iB4 ) -B"&2X"jB4KX&RB \
O_$
?
B)6l[6l4Bi4B"9J&BXB" j"LX)jjhR[[rX)B^2?)
6B&"v?B6RBi?R 9 jr"4h)Bh)j^jic"Q6?B))
cj&R^)[i)[?B6h)BX?v#BXB"L4$X&L6? ^j62[4h[j&R
#6l6?$ 5)C ?
C [
@ RX)Bh?)QB4RiR" 486?6?B 6
Bj&?B)^?B R ^?9RRgM6?
\)Br
?B )
4! QX
^j?BX??Q4XB"
?B )
?B )
?B )
?B ) ?B R
(
B&"Q?)
)X)?
jB?hj)j??9)h
?Bh?X)j6g6M6X?X)
B&"lM)h?hB?
B&4"M)h?h6RXBh)Bv6
X"
I
h?)h0
L
C -
Usage
J6??4BQ\&?dX?QBh)?QQ?6)??v6)B)hj6)B#BQRQ?X)
X&v??&?h)jX)&U
)X?R)hdXB"[B?[?M)?%ijBM%+
COPY country FROM /usr1/proj/bray/sql/country_data;
AF
AL
DZ
...
ZM
ZW
\.
stdin
AFGHANISTAN
ALBANIA
ALGERIA
ZAMBIA
ZIMBABWE
j
&?6&Rj+Xj&8R??[4dj&R8?B)?LB[&)?B ?B)Y qcC j
)h268&6)ChR24?h)9ij-ij&)B|[B? Lh)?Lh?B8"
X)&jl 8cJ?&484
^B6B^
l j)?)$?)h?Bd)?
B?4d4c4"iiX)& char(2)
^j6X&84X)& text 62"??4BXLB?$BRh
)?X)B4)H?j
X)h"v4r4gX)&Q4hQchar(2)
"Xi?Qj6d?c?h
355
006
A
\0
L
\0
G
...
\0
\0
\0 \0 \0 027
\0 \0 \0
A
N
I
S
T
\0 \0 006 \0
B
A
N
I
\0 006 \0 \0
E
R
I
A
\n
\0 001 \0 \0
\0 \f \0 \0
\0 \0 \0 001
F \0 \0 017
A
N 023 \0
\0 \0
A
L
A 023 \0 \0
\0
D
Z \0
\0 \0 \0 002
\0 \0 \0
A
\0 \0 001 \0
\0 \0 \v \0
\0 001 \0 \0
\0 \v \0 \0
\0 \0 \0
F
G
H
\0 \0 002
\0 \0
A
\0 002 \0
\0
A
L
\0 \0
\0 002
\0
Z
A
M
\0 006
B
A
A 024
\0
Z
E
\0
\0
I
Z
\0
M
B
\0
B
I
\0
W
\0
W
Compatibility
SQL92
^Q4?6h?96B4Bi? \
4 k 7p)B
C f
CREATE AGGREGATE
Nombre
CREATE AGGREGATE
BMB9BBX?^M)")
Synopsis
CREATE AGGREGATE name [ AS ] ( BASETYPE = data_type
[ , SFUNC1 = sfunc1, STYPE1 = sfunc1_return_type ]
[ , SFUNC2 = sfunc2, STYPE2 = sfunc2_return_type ]
[ , FINALFUNC = ffunc ]
[ , INITCOND1 = initial_condition1 ]
[ , INITCOND2 = initial_condition2 ] )
Entradas
name
jB&"M?M BX?jd)44Q9X"i)
data_type
j?v)hQB)&4B)g6jjMj6M
BX?jd)44
sfunc1
MBX?86h)[h)BX??j8$B??R&)6$)X)X)&[BvB?
6^?LX?&BBh &Bdc)?4?Lh?
ij&QJ?&H)"&Bl4X)&JvXj&6Bv)"sfunc1_return_type
&4B
sfunc1_return_type
j?v?v?J?&4BX?jd)BX??j
sfunc2
MBX?86h)[h)BX??j8$B??R&)6$)X)X)&[BvB?
X
M?9X?&B2j? l j&9B2cR?)?M?
)"&BhlB?iQ?B9)?)?$j&?6sfunc2_return_type
&?
sfunc2_return_type
?v?hvj?M4B9BX?^Mh)BX??j
ffunc
vBX?
B)J??)&)v)XBh?$hM?X)&j2BhR 6hv&(
i?j["4i??cj-)"&Bh?j-h?j
sfunc1_return_type sfunc2_return_type
initial_condition1
jc)?jK?B?i)j)Mj)"&4Bl?9?&BX?^MhRBi?6?j
y
initial_condition2
jc)?jK?B?i)jj)"&4BlM?6B9Bi?j^hRBi?6?j
Outputs
CREATE
4BhM4c4?l64Xj&)BvMXj&?h6)?)Xh?)&4B
Description
4&?h9[#6)?8^")&4hB?lBX?B;(
??) 6h"49B?B&B4cRBX?B42Q)44 : ?BR2BX?jB9
)i)R8h?2RQXj&
4h)^?6jB??2
min(int4)
avg(float8)
?l?h?X?j)6 X 2Bd
Bh?
86[B4X6?[BvBX?2)"<(
B&6Q"j"X?B)cQ6)6Q-Xj&)B \
_
) u )
"J"6?jB)?RrX))6h$ #?6?X)6)B)
lB
BX?l)"KJ"4?BB)6
h4-BX?B46jKBX?B4Krh),
(
X??j^M6h)
\u u
sfunc1
sfunc2
QB9BX?LB)gMX)?X?j
ffunc
)
&)BhB"6?RJj?B4&)?H6)jKXj&[)"&BhjHJtemp1
?)HBX?temp2
BK
)BX?6?
6)BX?B4rMh)BX??j^B)^hBH?)??Bh
Jj?)J4J
d4
?
j)"&Bj
?sfunc1
)?jJ?hMsfunc1_return_type
6B4?J
temp1
column_value
sfunc1_return_type
v
6MRQX&Q?&data_type
4HR&BhQ4L?M"+?&??)&)M
sfunc1
2 )"&4BM)?jJ4c4? sfunc2 B
6 temp2 4?J sfunc2_return_type
2 -)"&Bh9R
?$Bi?jlriR?i?BR)B$r6 temp1 temp2 26Qc)?j
4c4?2
6-h?[R
6"B[BX6)?)&Bh
$B
data_type
6?Q46X?X)vj :[
2 3
: 3 24r6X?X)L6Lj?#6J)&R
BX?jBM[hRBi?6?j&
6h)lj^6X?X))
2
lB8BX?Q)"4)B&Q"?j? BL&2XjB?X?B9?B?i?R?6JB
)X)Bi?j^h)BX??j 9 6)664i?X)Q)?&)XB)Q8?)6$)h
X&viR&h?Qh+
Notes
l6 \ u
)6XB)-BX?B4
R"4
6??v64i?X)
BX?jBMv)")dv4B) ?6)ijB?B)X?B4
Bi?jB26)^dBi?jBMB)? j$h??l
BX?j&l)")
"?" 3 B
BX?j?BX4&BhM4"B 3 $ 3
: 3 count
&?Bh)l#?#BX?j ^)"44
"?" 3 B#BX? L)?+ (
X?BJ"B 3 B 3
: 3 sum
^?[Bi?j9)")
"?")Bh
?)BX?B426RdXj&#B 3
: 3 BQBi avg
2?c?6?jBJ)
"X?6C4?h) CX)??MX)6jJ)-&BjlB^?)2BX?B4[Q6)
$4B?RRX)?? 3 hBKjX"6jB?Bh\
!
*[B
Usage
)64RX)0#???)BX?B4KR"[?A2?r4
`"
C[
U)c)\&J?M6Q&)X&?4j
"j)&)c`i"w$@
Compatibilidad
SQL92
\u! u
\
u
7
)u
4HB4hB6?j)?Bh
4 k p)B
6h"^2+?h
?j"
CREATE DATABASE
Nombre
CREATE DATABASE
"B9B4cM)M)h
Synopsis
CREATE DATABASE name [ WITH LOCATION = dbpath ]
Inputs
name
MB&"M?)6)jrMi"4)
dbpath
lc[?X)X?#)?4BR?2)[)&)i4B?[B[R9)hj$6?h&
)"6B?j K&))?4BMJ6??
Jj?&)
Outputs
CREATE DATABASE
4BhM4c4?l6?9j"86MX&J?MR?6)Xj?R&B
#4Bl4
c??4?4JX?) W_:*[ )i"4v)6Q#)j
m
_]Xc oO
] wo]_a^
hQjX"6jB9)6)j??)&)
name
+?6
BL&XjB4BrX&???)6?&? . 6hd
v)69[)j
?&"6i?B??$)name
?jdbpath
rX)B$6B?gX"48g?"Xh?[?MR
)h4)8\XR6M&jv4"
Bv)??)8&))h^ci1(
[J)B?j4BX)&?B^6X?iR
& ' &"4?M"M?Bhj\vldbpath
)6"6$$?)?4?4BjB
?MB9BXBv""BX?4?6h
\u7u,X
hj&B66\v6h)&&)M?&"?)X?jB)jMXj ?BX?Bh94&?6j6j"[
?"6h?[r)j6i?BX?Bh6)X?94Q)?6ij4Qj"jH"?4&)Kv+6?6h<(
&M
iB4j ' 6)?lh[+6hMX?B[6?-$)6$)hj
hBH)XX6v9??jX)??))X?j^6X?iR
Description
X4QBQBQ)6ll)j 6" k
. X4jJ)l
6H4j"?4)w?Q?B9)6)j
96X?iR69Bv?jiR??))X?#)?B)h?l)4jjr\&?jj)?&)XBR?v(
68QRj2 ?6i&?44B 8"^QB)4M?&"4)8XjC?8"4
C ?XX
\u"u, _
?"h^XjB?4BBR)?)hv?)BhQ6Q?B"hQX&&B)?)?l
BhB)96XjBX?9jHJjX6v6?j 9* M4h9&)&?B?6h(
jHM?MR)h\"X-ijBhjj"?)?X)??R)i?jBM486
Xi)R lB4?Xi?j Q6)?&Q6hcj\&?j0 B A * :1:[ B 6cY (
j6ij&??)lXj
X6Bl6$BRi$jXj
ALLOW_ABSOLUTE_DBPATHS
684&?h)&Y ?[
Bj&"2"^)6?h6?B?X)j[MB^)8)
?Bi?Q B
B
/usr/local/pgsql/data
Notas
B9+B6?j^j?B6h 6h"
l6"j)e)B)R))M??&?BR?)6M)j
c"j)&[X"hL46i?6B?BXjBh"?dR?4r262ij&)BjjL
6?BX?MjXjh9 #?
+?h )6XhMj"v6?)v?B?) v?j9)hj?&??X)j944-6#
?X)??R)X?BR?B)h?cR)M?))6$)j6X?X)Xj^B&"$"h
)6?h6dJ4
4ih6j?LB[)?R?92cjB^XBjX?[4B"X66Y (
j$4l64JX?X)v)vB?ji)??R)X? )?hB)? -4Q?
A2?)&Y (
B?6)jHR&R?Bj&)X?
\u7u, _
Uso
)X4)-B9B)6M)hjJ
olly=> create database lusiadas;
)MX"4B9B)6)h^^)"9)?hB)h?c
~/private_db
$ mkdir private_db
$ initlocation ~/private_db
Creating Postgres database system directory /home/olly/private_db/base
$ psql olly
Welcome to psql, the PostgreSQL interactive terminal.
(Please type \copyright to see the distribution terms of PostgreSQL.)
Type \h
\?
\q
\g
olly=>
CREATE DATABASE
Compatibilidad
SQL92
^#4?6hlX&RB \u"u, _
k 4h)B)-4 \
_ ^)O
k p)B. JXj&)Bd?)?Bhv
CREATE FUNCTION
Nombre
CREATE FUNCTION
Br9B./ BXh?
Synopsis
CREATE FUNCTION name ( [ ftype [, ...] ] )
RETURNS rtype
[ WITH ( attribute [, ...] ) ]
AS definition
LANGUAGE langname
Inputs
name
BMB)&MjB9BX?j^vX4)
ftype
B[)2h9j-
BXh?R"&Bh +
B2?B-h$&)L9)62jrij&?
6gjrX)4
?B?X)h$hB)B2cih?&RiXJ$)"&Bh$-R?&(
c)?d6Xd)opaque
XB)
rtype
BM48)hMh H
attribute
: 8jh?B)gJ?XjB?Bj&)?j8)jchBBih?jBR4LKj?&?R)?j H
B
B?l)h?rX"4B?26j8?
?B?X)4HB)jhB
iscachable
BXh?l)Y /^)K"hB-Br6)&r"6iscachable
?/^Bv?v
Br6)&r?Bg)?- X?
4rBj)h)4?jM 6$jjB4' /^?6?Bj&R?j#Bj?"6h?^"6B
?d?hrR)&44H??6h l BMj?&?R6
6B1 //^BhB?J?r6)
iscachable
v. (\)?)hX)?jjBhBMBX?j
definition
: 6h?BvB?BvB
BXh?&8RhB&4)B?BQBj8B$?)B)
c&)l
)&?B4B)BX?j B)&hBv) h#) j4h4iH?4cR k ijh+H?
"XBR?RB)
obj_file link_symbol
B?Hj hB Qi?R
?H68
jB)&?X)??M(??&6 ?)B)$BX?jB
/ B hB8BXh?CBR&8?B ?)BRQ6"XijQ?[BjB6)&8R2B
^
B)&jghB k BX?j B6?B
?BB)&B?XjB)?B?B
B9B)&?X)??^?R)?2j4\X)B obj_file
?$hB[j4h4iDB ??&L
6 6&j
/ B?i^?BM6)&MRhBMB)&MjJhBlink_symbol
^
BX?jL?LhB ?)B)6"XXj
langname
&)C7
B B
B
B
B
BjB
B/^B"B
B?hBBR&#
plname
i"i)hd"Cji4sql
R?)internal
BR _]X
c c oboo\plname
cLj4)??
Outputs
CREATE
B?
?r"4BL?BcMij&&)B#Xj&?4r6XX6??
Description
Notes
4
4h8B9XB)4?dB
`X B" @ `w BC [ X
U)dhB?B j6"
?
Bih?BHhBK?B&)h?L/^??BhB)gBX?jB
l6 \MF_$ hQ"jL4 (
BdBX?jB
6h")??1 /^HBXh?
%wjc4?j)?BM %8XB)?ihB
6)&B)&riRlr6Qj6R
?h\"4Bj
BXh?B6[?Bv)HhBlB)
?h?BXR"&BjhJ $ B?)X???[&6
47
/^?LX)?j^
RB (?)B)Bih?c)B1 /^
internal
BXh?BX)BBjBRc
hB$6)& B)&
/L?hBjcX)6?B["K)j??& 6
/^
?& internal
[4R"BBRi?
B4 ?h"iB BR&HJ+)&?i6
hB
)"&4B
))BjJhB B)&6)B4d6X?hB6B)&4r?LB :[ X?)6Mj \
u
W
-hB :[ X?)2??&h#hB \uGM\X$ )66&hB
B)&MjBB
BXh?L?rhBM6)&M)hB k B)&
E B#?j)?B k BX?jB\
/^? (?)B)9BXh?B6?[Ri (?)BR
?B6)BX
jB
Bih?v?h?BXjB)&)B6
B
)?hB)h?crj hB QX?)6
?dhB \ u
M \_$ 6Bh)lhB6"MBRJ?j) k BX?jB$B)&4
)""6j?dvBMXj"4iB)&?X)??Q??, 6#j4\X
:
BXh?LX)BBjB"h86cB)?
@ \X$
Usage
vi"4hM6?&? k BX?jX
B?$+)&?X")h$[BX?jBRJj$9XB6?4/^4#hB26B
lXj&?+)BhBl?BhBRJlj?B < B[
BXh? ?M?&?&Bh dQB(
&?X)???j)4\XHhB)w
/^)X&J?? j 6jX 3 j 6h"hB Q
XB6?^BX?j8)j&)h?iR??iRhB6jBih?^B)hvBRcB6)&B)&)hB
"Ch4)B j?j)?B?vc)cj?)? BdBih?j BR&L?Qj?)
?cB4ijB# BhB LX?)6?^hB k 4B?h?
B 4iR?)h?^jJhBMBih?^?
Point * complex_to_point (Complex *z)
{
Point *p;
p = (Point *) palloc(sizeof(Point));
p->x = z->x;
p->y = z->y;
return p;
}
Compatibility
SQL92
?
\u7@ \X$
jh4r?)B)+4B?j
SQL/PSM
Nota: PSM stands for Persistent Stored Modules. It is a procedural language and it was
originally hoped that PSM would be ratified as an official standard by late 1996. As of
mid-1998, this has not yet happened, but it is hoped that PSM will eventually become a
standard.
CREATE GROUP
Nombre
CREATE GROUP
"L"QB4c
Synopsis
CREATE GROUP name
[ WITH
[ SYSID gid ]
[ USER username [, ...] ] ]
-
Entradas
name
gid
jB&"Mg"
username
[BQ??68[?6)?j9Q?BX??
)B4?BX??j
^4"
Salidas
CREATE GROUP
4BhM44?l6?&"M?9j"8h&?B9X^+?
Descripcion
&?
X4-"[Bl4Q?)
)h ' B6?h??
j)&?B?6hRJ)9?Bj&)X?B
j"68M"
)9"4[9R&(
?X?) ' 6j"^6?R&BhM6K\XRj^6R?v)&?B?6)h?c
l6
^[ aMa0 ]G\]`)^ J)X)&?)?MJB4Bi?$"l
[]X^`\]_^7`
)Mj)K^"
FWX:F A W
Uso
"i)^"JQ)X?
"i)^"JQX^&?"j
CREATE GROUP marketing WITH USER jonathan, david
;f
Compatibilidad
SQL92
CREATE INDEX
Nombre
CREATE INDEX
jB6"?#?c?iM64iBR?
Synopsis
CREATE [ UNIQUE ] INDEX nombre_indice ON tabla
[ USING nombre_acceso ] ( columna [ nombre_operador] [, ...] )
CREATE [ UNIQUE ] INDEX nombre_indice ON tabla
[ USING nombre_acceso ] ( nombre_funcion( r">columnale> [, ... ]) nombre_operador )
Entradas
!
k
"jXr4R6?64&$ij&"6+?h[)?"4-??X)jl?rR?
i)&(
^i"^#B?XL6Hd?6h)h6rX)LLd6^;B)CRj
?BBhj
?B6h)Hv)X)??R)-)j??X)jB))8^"
nombre_indice
jB&"M #B?X64i"4)
tabla
jB&"M?M)?J)M?M6M?"X")-#?B?i
nombre_acceso
-Bj&"j&vRiX6dQQh???)))Q#?B?X < h
)Xi4^2XhL4 )UWX
W_
B9?&&Bh)X?L?jrh"R?XjBi"BX? 4B&)&(c)
WW_
&?&4B9"i6)B)-h???))BQg)?j?h&Q)?X?jLX)4?X
\A2h&)
y
m:lm
[B9?&?&4B)X?j^?)?6?jB??B)?4r ?/^?
columna
jB&"MB9Xj?&B9?9h)?
nombre_operador
lBX?)6M4)j"ir)6ji?R
&)rRhv)MjB4&)h)??
nombre_funcin
lBvBX?jB?Qj$4J)?jl4c?l&)?j
v24$?&(
+
Salidas
CREATE
j&B66h?v64 #?B?XM6B9X")BQXj7+?h
"6BM6M4"jK6j?&j??X"4 #B?X
Description
\u7$^
ijB6"B#B?X
nombre_indice
^?
tabla
4JX?X)
6h""jjX?jBMhj$)Xi42h"h"
QBR8R?X#B?X6XB(
?j < jv)Xi4d"[9B?&?4&BRi?jv?"4Mv)?XjBX(
"iBX?Q 4B&)&(c) J4j#2)XX6d"9?&?4&B4B)??#lR$(
?X?j#X)h?X[4h)BR
A2h&) +
4j8)XX6B)6#rBl?&?4&& (
Ri?j8$?)?46?jB??B)? ? /^? H r BX?jB)&jr?jr)?j?h&jrh???))j
6?)&4B)?B?X)Hjj
6hr
jj
M)XX6Q6j#Xj&?h)&Bh9?B (
&?X6)QBvBX6?h)^4Hj??))jJ?j?X)&BhX&vgX)6RJH\&?j
?jr
4jj
)XX6lB)6L6)h?X
Notas
poligonales
Kjh?&?))jM^XjB6?h)[ 6h"[XjB6?)886^???R)B C?B?X
h"^6?&"^8)h?h?B4)&6 L?Bj?i) BLX&R)X?j
???XMBQ?r6??Bh JII
; QRI
. QRL
& LL
; S; T)K Q Q
#?B?X
Kjh?&?))jM^XjB6?h)[ 6h"[XjB6?)886L???)RB&
B)66?&JQQ)?#
#?B?XQ6 Q?Bj?i)4B^X&R)X?j
???XMgj)j
=
j #)XX6
#?B?X48&?Y (X?&B B
: Xh)?&BhKj?
W_ 6J|
486X?X)KB)6h
ZX?)
lh???X\
[]X^`ja
b [cd )??&?B)Hj
#B?X
6h???))J)9XjB6"?_
#?B?X4
6" (
9X?)64)j"i
j9?B &")??RXj&int24_ops
))X?B49XBh)j9?Bh8 X)??X)X?jB9vijB6?)
6jF
#?B?X-j"$)jK?Bh$44v6Jij&))j
&??)&4B4
X^)h?B int42_ops
^?)ijB6?)
6??4BM??6h94?Xc4c4?cjr?Bj&"4r4).
Usage
)X4)-#?B?XM^gX)&
ttulo
^?h)?
pelculas
Compatibilidad.
SQL92
B94hB6?jL4j?BhM
^QBRQ^X&RB \u7$^ k p)c
FWX:F
*
6"
CREATE LANGUAGE
Nombre
CREATE LANGUAGE
BMLB4cv?B6\M)BX?jB
Synopsis
CREATE [ TRUSTED ] PROCEDURAL LANGUAGE langname
HANDLER call_handler
LANCOMPILER comment
Entradas
W
*
6X?X##&)B?J?)2)#?B6\dv6"1 8vX?h
TRUSTED
B"X2LR?BQ????)QB)rBX?BR??)6"RR&(
^?)$"6?Xi?jB9)XX6 c6l)?)2j&??lBjBX)c"4?6h)4
?Bh4j6?L6R?jij&????L24")? 6h"j)???R)
6?4B6\MRX"i)KB4cRrBX?B4rX&Qg?B6\{
B BU
langname
Bj&"#4B4c?4B6\#"ji4?&Bh) ^C6#?"BX?) &)MX?)
&?& X?)dB&"9c?4Bh l
d?B6\["ji4?&Bh)B^4
4J4B?HB?j
?4B6\?BXj) jh"4 9 jh4
m: * W
call_handler
comment
g)"&B
?X)4B4?B4h)jM)h?h
LANCOMPILER
Q?8
BL4B)
???)
;: Xh)?&Bh j6"2B&hLANCOMPILER
pg_language
6R?v)MB?BML
Salidas
CREATE
hM&B6)M?hQ6jj?B6\MX4)JQij+?
hM"K4c?hQ6j?BX?
cBBXjB)
funcname
Descripcin
")?
j6")"?h)-LBQ?4B6\
Escritura de manipuladores PL
B&)B?J?Rr2??)&)R$)l&?c6\[JjX?&Bh)B26
6X?^&
?B6\8Xj&??)&X&|B B"4?6)B j64[ij& BLBX?j 6?C)")(
&Bh2 ??B&4Kh?&RJXBhBjM)h?[B&4B?2&4l(
X?iR < 6h&?8K&RB??)jQ??)&)R968??)&)#?"X)&4B
X&vB9
BX?jL6XB6?h)
v&Rj?j)"&4BjK4Q6J&?B?X)jKv?$??)&)$X)B2B$
& (
X? ) L"X?&?BL?4$4&J?B6\l"?#jrJ&)B??)
6vh. (
Xh)
)B2-??)&)4)6jrh?46 B?X[)"&BH;
* R4\h
h &R9?9B)99JjXB?&?B
' j2?[4&)
?Bj&Ri?jL
6j?4BXBh)^jBpg_proc
h"l?j) "B ? * R
2 RB4v??R&)6^46h98
BX?jB6-?l)"&Bjl6
*
j4h4^2?vBhR
4c"ji4?&?BhgB& &"^2)"&Bhj4B"< (
)jM?BX? ) pg_proc
4?)"&4BjB4h"ih 3 &$ KR?Q8Bh"
Lj?4)BQjB2BX?jL?Bj&64gcR?K"hBlg)?
k
^RB(
"6jB6)???)&)B??)j??)&R)
j4B?2Bh)
??))Kj)"BQ?JrM"jBj"ji4?&?BhQ??)&R 9 9Xpg_proc
?)6? :l
v?
\
ut
@ \_ 4-"jXJ?&?4B&4h))6)Q )h?h
R?
4&?&2X1(
66J+h9B4v4)?B6\r"X?&BRprosrc
pg_proc
&8 X?
+B["h2ldXB"QLX)??4hlXj22??B?[RB)B?
MB)XK84)??
Notas
)Mi"i)KB9BX?j
lh???X \ ^ )??&?BR?B6\"ji4?&?Bh
)M)r?Bj&Ri?jX
W 4#?R?9R?
pg_language
Table
= pg_language
+-----------------+-----------------+-----+
|
Field
|
Type
+-----------------+-----------------+-----+
| lanname
| name
| lancompiler
| text
+-----------------+-----------------+-----+
| Length|
|
|
32 |
var |
lanname |lancompiler
-----+--------internal|n/a
lisp
|/usr/ucb/liszt
C
|/bin/cc
sql
|postgres
"
!#$%$'&)(*+-,/.0#&/124365879&/&:-+-1&/$;3=<>.3?%#+@&/$'+-A4#CBD$"1$E.3?27$'1,/(*,/$;+-F82GH1$'I4$EGC$'3
3J$'A4,/GKF3=;12L$'+%M2GCF8A43J$'G>$'+%$;&N&/$'+-A4#CBD$6OPQORS:-$'3J$'1QF821G>&/G>7.0'7,/11$;GUTV3?$;GKF3?,/797,/2+-$'G
1$&/G
W8#+-7,/24+-$;GX1$OYP6O[Z
\V7F#&/(*$'+-F$'R&/G)1$;]+-,/7,/2+-$'GU.^3=X#+_&/$'+-A#`B$X1$a.3J27$'1,/(*,/$'+-F24G)+-2b.#$'1$'+VGC$'3(*2c
1,/]79^1'Ga#+-Hd$'ef!#$g:-+hGC,/12_793J$';1GZ
Uso
"executor/spi.h"
"commands/trigger.h"
"utils/elog.h"
"fmgr.h"
/* for FmgrValues struct */
"access/heapam.h"
"utils/syscache.h"
"catalog/pg_proc.h"
"catalog/pg_type.h"
Datum
plsample_call_handler(
Oid
prooid,
int
pronargs,
FmgrValues
*proargs,
bool
*isNull)
{
Datum
retval;
TriggerData
*trigdata;
lm^n
if (CurrentTriggerData == NULL) {
/*
* Llamado como una funcin
*/
retval = ...
} else {
/*
* Llamado como un procedimiento "trigger"
*/
trigdata = CurrentTriggerData;
CurrentTriggerData = NULL;
retval = ...
}
*isNull = false;
return retval;
}
2 &/(*$;+-F8$V#+-2GH.2724Gf(*,/&/$'Gg1$_&//+-$;G1$_741,/A42F,/$'+-$'+!#$_GC$'3Q-1,/1;Gf$;+d $;eE1$
&/24Gw.#+-F82GX.^3=H72(*.&/$'F3>$;&OM7&/&:-+-1&/$'3SO$'Hw
LhaJh.^3=H,/+-W823Jc
(*7,/4+hGC2I3J$6792(*2%72(*.,/&/3?&/2E$'+h#+h(*41#&/2%73JA I4&/$Z
2GGC,/A#,/$;+-F8$'G724(*+-124G$'+-F24+-7$'G3?$;A,/GCF3=+b$;&'&/$'+-A#NBD$a1$a.3J27$'1,/(*,/$'+-F2G1$>(*#$'GCF83?-k
CREATE FUNCTION plsample_call_handler () RETURNS opaque
AS /usr/local/pgsql/lib/plsample.so
LANGUAGE C;
CREATE PROCEDURAL LANGUAGE plsample
HANDLER plsample_call_handler
LANCOMPILER PL/Sample;
Compatibilidad
SQL92
w
"VhhLVhE$'GU#+-6$'F8$'+-GC,/+%1$wM24GCFA3J$'GZJh2b$',/GCF8$X#+-GC$'+-F$'+-7,/V
aVhhLVhj$;+ N 4Z
CREATE OPERATOR
Nombre
CREATE OPERATOR
lm
Synopsis
CREATE OPERATOR name ( PROCEDURE = func_name
[, LEFTARG = type1 ] [, RIGHTARG = type2 ]
[, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
[, RESTRICT = res_proc ] [, JOIN = join_proc ]
[, HASHES ] [, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ] )
Entradas
name
func_name
type1
i &F,/.2*1$_&/".3?F8$L,/e!#,/$'3J1%1$;&2.$'3?123R4GK,.3J279$;1$Z i GCF8%2.7,/4+1$'I4$'3?EGK$;3
24(*,/F,/1H.3?g#+h2.$'3?123U#+-3?,/2E.0243U&/f1$'3J$'7:-4Z
type2
i &F8,/.2.03=V&/%.3?F8$L1$'3J$S7:-%1$;&024.$;3=1243R4GC,.3J247$'1$4Z i GCF8E2.7,/+1$;I$;3=_GC$'3
24(*,/F,/1H.3?g#+h2.$'3?123U#+-3?,/2E.0243U&/f,/e!#,/$'3J1 Z
com_op
neg_op
res_proc
join_proc
\ h
i
+-1,/7f!#$g$;GKF$g2.$'3?123)GC2.23=FH#+j^&/A23=,/F(*2%:-GC:-cBD24,/+-9Z
left_sort_op
.$;3=^1243)!#$g23J1$'+-f$'&F,/.2E1$61F2_1$g&/g.3?F8$,/e^!#,/$'3J1g1$$'GCF8$2.$'3?123=Z
right_sort_op
.$;3=^1243)!#$g23J1$'+-f$'&F,/.2E1$61F2_1$g&/g.3?F8$1$;3J$S7:-H1$$;GCF8$g2.$'3?123=Z
lm^
Salidas
CREATE
Description
Nota: No se permite ningn caracter alfabtico en un nombre de operador. Esto permite a Postgres analizar la entrada SQL en elementos sin requerir espacion entre cada
elemento.
& 24.$;3=1243a U$'GQ724+-d$'3?F,/12"V V $'+&/L$;+-F83?1R.23a&/2"!#$bGK2+$'+724+-GC$'7#$'+-7,/
i 4
$'!#,/d&/$'+-F$'GZ
M243a&/2"(*$;+-24G6#+-2"1$H i4 \V
2h h \La1$'I4$'+GK$;3
1$']+-,/12GZ9M3?b24.$;3=1243J$'G
I4,/+-3?,/24GCR(*I42G1$'I4$'3?+*GC$'3w1$']+-,/12GZSM3=L2.$'3?123?$;GQ#+-3?,/24G.23w&/_1$'3J$;79:-^R GC24c
&/(*$'+-F$V i4 \La1$'I4$;3=EGC$'3X1$']+-,/12R4(*,/$'+-F3=^Gf!#$L$'+24.$;3=^1243J$9G#+ 3=,/2Gg.243X&/
1$'3J$97:-HGK2&/(*$'+-F$g h \La1$'I4$'3?/gGK$;3U1$;]+-,/12)Z
1$'I4$H:-I4$'3wGC,/12h.3J$'d,/'(*$;+-F8$V1$']+-,/12j#F,/&/,/c
^(*I,/;+-R $;&-.3J247$'1,/(,/$'+-F82
func_name
e+-12%waLhaJh
Tj1$'I4$fGC$L1$;]+-,/12".03=L7$'.F;3X$;& +-(*$'3J2h7243?3J$'7F82E1$
3JA #(*$'+-F24Gw5I4,/$;+j#+-2_2E12GC<CZ
i &>2.$'3?123H72(*(*#F81243b1$'I4$'3?/hGC$'3H,/1$'+-F8,/]712GK,>$;N,/GCF$j#+-24R.^3=j!#$M24GCFA3J$'G
.#1,/$'GC$*,/+-d $;3=F,/3h$'&623J1$'+1$&/24G24.0$'3?+-124GjGC,&/21$;GK$;-Z-M23h$=BD$'(*.&/2Ra$'&2.$'3?123
3J$9c8(*$'+-243Jc8!#$;R VV R1$'I4$;3=H.3J24I4I4&/$'(*$;+-F8$HF8$;+-$'3a#+2.$'3?123a724+-(*#F123a3J$';c
(*T4243Jc8!#$ VV Z $_$'GCF8%W823=(*^R4$'&24.0F8,/(*,/e1243X1$_724+-GC#&/FGf.02413?/_792+-d$'3?F8,/3Q&/,/I3J$;c
(*$'+-F$k
"0,0,1,1"::box
MYBOXES.description
MYBOXES.description
"0,0,1,1"::box
lm
$hW823=(*jGK,/(*,/&/^3RGC,>$'N,/GCF$h#+2.$'3?123f+-$'A4123H$;+-F82+-7$'GV1$'I4$'3?GC$'3f,/1$'+-F,/]79^12)Z
# .024+-A4(*2Gg!4#$b#+*2.$'3?1243RN3J$';c8,/A#&/R R$'N,/GCF$'RTF8^(*I4,/'+#+*2.$'3?123a3J$';c
+-24c8,/A4#&/R Z i & +-$;A^1243U.$'3?(*,/F8$6&24.F,/(*,/e123)GK,/(*.0,/]73
NOT MYBOXES.description === "0,0,1,1"::box
MYBOXES.description !== "0,0,1,1"::box
, $;&+-2(*I43J$E1$_#+2.$'3?123X792(*(*#F12436$'GHGC#(*,/+-,/GCF83?12R M2GCF8A43J$'Gg&/2I4#GK7%$'+$'&
7F8;&/24A42Z , $'G6$'+-72+-F83?12h$L+-2hF,/$'+-$b+#+*724(*(*#F123X;&-(*,/GC(*24R4$;+-F82+-7$'G&/V$;+-c
F83?1L1$'&072(*(*#F8123X$'G7F8#&/,/e^10E.03=VF8$;+-$'3X$'&03J$'7,/$'+73J$';122.$'3?123w792(*2GC#
724(*(*#F123`Z i GKF2EGC$g.0&/,/79f^& +-$'A41243R^F(*I4,/'+
Z
i GCF82h$'GQ.03=L.$'3?(*,/F,/3a&/_1$']+-,/7,/+1$L124G62.$'3?123J$SG6!#$bGC24+*72(*(*#F8123J$'GQ1$H&/2G
+-$'A4123?$9G"1$71*#+-21$&/2Gh24F3J24GZ i &X.3?,/(*$'3L24.$;3=1243V1$'I4$'3?/1$'3L1$']+-,/12GC,/+
#+72(*(*#F81243g2*+-$'A412358724(*2GC$'".3J2.-,/^124<`Z^P6#+-12*$;&GC$'A4#+-12*2.$'3?123$'G
1$']+-,/12RGC$h1$;I4$"+-2(*I43=^3H$;&U.3?,/(*$'3J2792(*2$'&U72(*(*#F8123H2+-$;A^1243=Z i &U.3?,/(*$'3J2
GC$'3=g7F8#&/,/e;12_792(*2%#+h$'W8$'7F2_&/F$'3?&Z`5 i +"M2GKFA3J$;GX-Z ;R$'GCF82_F8(*I4,/;+jW8#+-7,/2+-H.3?
GC,/(*.&/$'(*$'+-F$g!#$g(*I42Gw2.$'3?123J$9GwGC$g3J$']$'3?+"& 2F83J2<`Z
2G_GC,/A4#,/$'+-F8$;GEF3J$'GL$'GC.$'7,/]71243J$9G_$'GCF8+.3J$;GK$;+-F8$'GL.03=j#N,/&/,/^3f&>24.F,/(*,/e1243f1$
724+-GC#&/F8^Gh&X3J$';&/,/e3_#+-,/2+-$'Gj58/B2,/+-GC<`Z M2GKFA43?$;GhGK,/$;(*.3J$*.#$;1$$'d&/#3V#+-#+-,4+
58,Z $Z R9.3J247$'GC+-12b#+-67&/#GC#&/72+%12G
d3?,/I4&/$'G1$XF8#.&/G>GC$'.^3=;1GU.23#+%2.$'3?123
!#$g3J$'F243?+-2V#+jI4224&/$'^+-24<-.23>GC#I4GKF,/F8#7,/+,/F$'3?F,/d " "b`Z=\L1$'(*GCRM24GCFA3J$'G
$;G
7.'eH1$H#F,/&/,/e3U#+&/A423=,/F(*2%:-GC:-cBD24,/+-UGK,/A4#,/$'+-12E&/GX&/+-$'GX1$% \LM'8GC,/+j$'(*c
I43JA 24R1$;I4$hGCI4$'3HGC,>$'GCF8$;GKF3?F8$;A,/j$'GV.&/,/7I4&/$Z i GV&/A423=,/F(*2@:-GC:-cBD24,/+g7F#^&U$'G
GC24&/(*$;+-F8$7243?3J$'7F2@.3?24.0$'3?1243J$;GE!#$3J$'.3J$9GC$'+-F8^+F$'GCF8G%1$,/A#&/111$'(*^GE&/
,/A#^&/11@1$'&F8,/.2*1$%1F821$'I4$_GC,/A+-,/]73g,/A4#&/11@"+-,/d$'&)1$EI4,/FGH1$E&/"3J$'.3J$9GK$;+-F8c
7,/4+1$'&)F,/.2Z58M2436$=BD$'(*.&/2R#+@F,/.2*1$%1F2!#$%792+-F,/$'+-$hI4,/FGb+-2*#F8,/&/,/e^12Gb!#$%+-2
F8,/$;+-$'+3J$'.$93J79#GC,/+.3?VF8$'GCFGf1$_,/A4#&/11.2413?/V+-2GC$'3Q#GC12$'+$;&:-^GK:-cBD24,/+ <CZ i &
,/+-1,/7123 \ "i ,/+-1,/7%&24.0F8,/(*,/e^12431$_792+-GC#&/F8GH!#$E#+:-GC:"B2,/+.24#1$EGC$'3
#F8,/&/,/e^12_1$W8243?(*HGC$'A4#3?f.23>$;GCF8$2.$'3?123=Z
$W8243?(*f.^3?$97,/1R^&/2Gw124G
2.$'3?123?$;G>1$23?1$'+",/+-1,/7+"& 2.F8,/(,/e123U1$6792+-GC#&/F8G
GC,&/Q$'GCF83?F$'A4,/6(*$;e7&/3JcD243J1$;+-3$'G)#F8,/&/,/eI4&/$wTL!4#$X2.$'3?123J$'G)1$;I$;3='+_GC$'3#F8,/&/,/e^124G
.3?f23?1$'+-3)&/GX7&/GC$'Ga1$g&/2GQ124Ga2.$'3?123?$;GZK24Ga24.$;3=^1243J$'Ga1$g23J1$'+h1$'I4$'3?/;+jGK$;3
GC#(,/+-,/GKF3=^124GGC2&/(*$'+-F$V.3?_#+*2.$'3?123w1$L,/A4#&/11R T1$;I4$'3=+*3J$;W$;3,/3=GC$VV24.0$'c
3=^1243J$9Gw(*$;+-243Jc8!#$g.^3=&/24GwF8,/.2Gw1$&/H.3?F8$Q,/e!#,/$'3J1gT%1$'3J$97:-H3J$'GC.$'7F8,/d;(*$'+-F8$4Z
,2F83?Gf$'GCF83?F$'A,/^GH1$_#+-,/+GC24+724+-GC,/1$'3?1Gg.3?7F8,/7GCRM24GCFA3J$'Gf79^(*I4,/3=%$;&2.F,/c
(*,/e123$'+%F,/$'(*.2L1$Q$=BD$'7#7,/4+%.03=6#F8,/&/,/e^3=&/^GUTV3?$;!#$'3?,/3=^+E$'GC.$'7,/]77,/4+E1,/7,/24+-&
7#^+-12#+2.$'3?123VGC$'*1$']+-,/12Z \LW8243?F8#+-1(*$'+-F$'R)&/72(*#+-,/11,/+-d $;GKF,/A^1243?
,/+-d$'+-F8_+-#$;d ^Gg$;GKF3?F8$;A,/G61$V#+-,/4+,/+-W83J$'7#$'+-F$'(*$'+-F$'RT&/EA4$'+-$'3?&/,/1^1-1,/1L1$
$'GCF83?F$'A4,/G>1$']+-,/1Ga.23>$'& #GC#3?,/2E+-2%(*$;3?$;7$6&/H724(*.0&/$=BD,/113J$'GC#&/F8+ F8$Z
G612G&/F,/(*G.,/$'e^G61$L&/_$'GC.$'7,/]77,/+$'GCF+*.3J$'GC$'+-F$'G6.3?V!4#$V$'&02.F8,/(*,/e^123
.#$'1$'GCF8,/(*3U&/24GaF(*-2Gw1$6&/24Gw3?$;GK#&/F12GZ , #+-H7&/#GC#&/f1$&/HW823?(*-k
MYBOXES.description
"0,0,1,1"::box
$'GCF8Q.3J$'GC$'+-F$w,/+E&/6 7#&/,/]77,/+-R;$;+-F82+-7$'GCM2GCF8A43J$'GU.#$;1$wF8$'+-$;3!#$Q$;GCF8,/(*3&/QW83?779,/+
1$%,/+-GKF+-7,/GL$'+
V i !4#$hGCF,/GKW87$'+&/j7&/#GC#&/-ZjW8#+-7,/4+
1$'I4$
GC$'3>#+-LW8#+-79,/+j3?$;A,/GCF3=1H5&/2E!#$bGC,/A4+-,/]79b!#$HT4L$;GKFH1$']+-,/1b#F8,/&/,/res_proc
e^+-12"w
Lh
?h"<8R7$'.Fb3JA#(*$'+-F2G61$'&-F,/.2h7923?3J$'7F82hTj1$'d#$'&/d$b#++-#($'3J2j$;+.#+-F2
lm^
2 F8^+-F8$Z i &2.F8,/(*,/e^12436GK,/(*.0&/$'(*$'+-F$"&/&/^(*%h$;GKF%W8#+-79,/+-R .GC+-12&/$E$'&.3?(*$'F3J2
R;RRTb(*#&/F,/.&/,/7Q$'&3J$;GK#&/F12H.23$;&F(*-2H1$w&/X3J$'&/^79,/+V.3?X24I4F$'+-$'3$;&1$;GK$;12
+-#(*$'3J2V1$g,/+-GKF+-7,/Ga$'GCF8,/(*^12)Z
P6#+-12h(*I42G24.$;3=^+-124G1$'& 24.$;3=^1243w724+-F,/$'+-$;+*d ^3=,/I4&/$;G61$L,/+-GCF8^+-79,/^R4$'&-2.F8,/(*,/c
e1-243a1$;I4$f$'GCF8,/(*3a$;&F(*-2"1$f&/L#+-,/4+3?$;GK#&/F+-F$ZCbW8#+ 79,/+_BD24,/+-^.3J2473J$'F23=+-3[
24F3J2h+-#(*$'3J21$;79,/(*^&0!#$VGC$'3?_(*#&/F,/.&/,/712.23X&/G673J1,/+-&/,/1;1$'G1$L&/^Gg124G7&/GC$'G
$'+-d#$'&/FGa$;+h$'&79(*.#F2E1$'&F(*-2V$'GC.$'3?12Z
f1,/W8$'3J$9+-7,/f$'+-F3J$&/HW8#+-79,/+
my_procedure_1 (MYBOXES.description, "0,0,1,1"::box)
$'GH!4#$'M24GCFA3J$'Gf,/+-F8$'+-F"24.0F8,/(*,/e3624.$;3=^1243J$9GbT*.#$;1$_1$'7,/1,/3Q#F,/&/,/e36#++-1,/79$E.^c
3=%3J$;GKF3=,/+ A,/3$;&$;GK.^79,/21$EI4GK!4#$'1"79#^+-12.3$'7$'+24.$;3=1243J$9GZ ,/+$'(*I43JA2R+-2
GC$g,/+-F8$'+-FL24.F,/(*,/e3UW8#+-7,/2+-$'GCR T%GK2+$?B$;79#F1Ga(*$'1,/^+-F8$gW8#$'3?eHI43J#F8-ZC\L1$'(*GCR&/G
W8#+-79,/2+-$'Ga.#$'1$;+"F8$'+-$;3>7#&/!#,/$'3)+-(*$'3J2_1$g3JA#(*$;+-F82G
(*,/$'+-F83?Ga!#$g&/2GX2.$'3?12c
3J$'G
$'GCF8+"3J$;GKF3?,/+-A,/12Gwg#+-2%2E12GZ
Notes
a$;];3=GC$&w7./F#&/2GC24I43J$2.$'3?123?$9G"$'+&/G"v|?s-}?4VX|??} |_tYL.3?(*G",/+-c
W8243?(*7,/4+
ZSa$']'3?GC$LEhhhw
h.3?_I423=3?3w2.$'3?123?$9G1$']+-,/12Gf.23X$'&
#GK#^3=,/2V1$g#+-fI4GC$1$1F82GZ
Utilizacin Usage
i &GK,A#,/$'+-F$H792(*+-12"1$;]+-$#++-#$'d2%2.$'3?1238R3J$;'c8,/A4#&/11R.3?f$;&F,/.2"1$g1F2
V Z
CREATE OPERATOR === (
LEFTARG = box,
RIGHTARG = box,
PROCEDURE = area_equal_procedure,
COMMUTATOR = ===,
NEGATOR = !==,
RESTRICT = area_restriction_procedure,
JOIN = area_join_procedure,
HASHES,
SORT1 = <,
SORT2 = <
);
lx
Compatibility
SQL92
w
hwah,/GhM2GCF8A43J$'G"$'F8$;+-GC,/24+
Z :-$;3J$,/G%+-26wahw
h
GCF8F$'(*$'+-F,/+ 4Z
CREATE RULE
Nombre
CREATE RULE
Synopsis
CREATE RULE name AS ON event
TO object [ WHERE condition ]
DO [ INSTEAD ] [ action | NOTHING ]
Inputs
name
i &+-24(*I43J$g1$&/g3?$;A&/gf73?$;3JZ
event
object
table
table column
insert
condition
action
lx^l
Salidas
CREATE
Description
Notas
G .$;3=F,/+-$'+-F$w&/6.03?$;79;#7,/4+_792+E3J$;A&/G1$ N wZ ,^$'&(*,/GC(*2L+-2(*I43?$w1$w7&/GC$w2Hd3?,/I4&/$
i )
1$H,/+-GKF+-7,/E.^3[$'7$L$;+$'&
RN&/
Tj&/_.3?F8$
1$L&/V3J$'A4&/R GC2+
724+-GC,/1$'3?12GF8212Gf1,/W8$'3J$'+-event
F$'GF#.0&/Gcondition
Z $_W23?(*E(*Gg.3J$'7,/GK^action
R
T
GC2+&/G
+-,/7GbF8#.&/^Gb!#$hGC2+724(*.03=F,/1Gb$;+- F83J$%79&/^#GK#&/GZM243g$=BD$'(*new
.0&/24R¤t
GbGC,/A#,/$'+-F$'GV12G
3J$'A4&/'GaF8,/$'+ $'+&/g(*,/GK(*HGC$'(*^+-F8,/7-Z
ON UPDATE TO emp.salary WHERE emp.name = "Joe"
DO UPDATE emp ( ... ) WHERE ...
lx
G +-$'7$'GC3?,/2*F$'+-$'3g.$;3=(*,/GC21$E1$']+-,/7,/4+1$%3J$;A&/Gb$;+@#+-h79&/^GK$%.3?".21$'3g1$']+-,/3
i b
#+-*3?$;A&/$;+$'&Z $1$'I4$#F,/&/,/e3V$;&w72(*+-12hLh T!L#"V.3?(*21,/]793
$'GCF82Ga.$'3?(*,/GK2GZ
i & 2I'BD$'F2E$;+j#+-g3?$;A&/ +-2_.#$'1$GC$'3)#+-+-H3J$'W8$93?$;+-7,/ff#+h3?3=;T%T_+-2%.#$'1$QF8$;+-$'3
.3?'(*$;F83J2GZ
\V.^3F8$X1$'&79^(*.2b24,/1R;&/2G>F83?,/I4#F82GU1$;&GC,/GKF$'(*6+-2L.#$'1$'+_GC$'33J$'W8$'3J$9+-7,/12GU$'+E+ ,/+-c
A+_&/#A30$'+V#+-3J$'A4&/-Z i +-F3?$
24F3=^GU792GCG)$;GKF2bGC,/A+-,/]7!4#$Q&/G)W#+-7,/2+-$'GU1$w,/+-GCF8^+-79,/^G
58.243a$?B$;(*.&/2hR
12+-1$
$;GQ#+-_7&/GC$'<+-2j.#$'1$'+GC$'3a&/&/^(*1GQ$;++-,/+-A+
emp
&/#A^3U1$;+-F83J2V1foo(emp)
$#+-H3J$'A4&/-Z
i &GK,GKF$'(*%&/(*7$;+-%$'&F8$'F21$_&/%3J$'A4&/ET&/2Gb.&/+-$;Gf1$_72+-GC#&/F8"724(*2^F83?,/I4#F82Gf1$
F8$;NF2)Z i GCF82*,/(*.0&/,/79h!#$%&/"793J$'^79,/+1$E3J$'A&/^GH.#$'1$EW8&/&/36GC,)&/"3J$'A&/"(*GHGK#Gbd3?,/G
,/+-F8$;3=+-G
3J$'.3J$9GC$'+-F7,/24+-$'Gw$'79$;1$9+j^&/A+hd&/243U!#$g$'Ga1$'& 23J1$'+"1$g#+-g.A,/+- Z
Uso
7$'3!#$ (
\V&(*,/GC(*2*F8,/$;(*.2*!#$$824$E3J$'7,/d$_#+`B#GCF$%1$_GK^&/3=,/2R $'&$'d$'+-F82GK$;3=%d$'3J1;1$'3J2T*&/
,/+-GCF8+-7,/L7F8#&-1%
$ $82$bT&/L+-#$'dV,/+-GCF8^+-79,/V.3J24.#$;GKFL$'GCF8+1,/GK.024+-,/I4&/$'G.3?b&/G63J#c
F8,/+-^Gw1$g$?B$;79#7,/+
ZM23
&/2%F+-F82R$'GCF8$g+-#$;d 2EGK&/^3=,/2_$'GXGC#GCF8,/F#,/12%$'+j&/H.3?F$g1$g77,/4+
1$6&/g3?$;A&/!#$$'G
GC#I4GC,/A#,/$'+-F$'(*$'+ F8$g$=BD$'7#F1-Z i GKF2E.03?2.A4$;& GC&/3?,/2_1&
$ $2$6 ^(Z
$ $824$g7#+-12E$'G
77$'1,/12k
7$'3!#$g,/&/&2I4F8$'+-A4H$'&GC&/3?,/2V1'
CREATE RULE example_2 AS
ON SELECT TO EMP.salary
WHERE current.name = "Bill"
DO INSTEAD
SELECT (emp.salary) from emp
WHERE emp.name = "Joe";
lx^m
$'+-$'A43 (
$824$a$;&;779$;GK2g&;GC&/3?,/2f1$>$'(*.&/$'^124G$'+L$'&'1$;.3?F8;(*$'+-F2H1$
7&/e;12f5
1$'d#$'&/d$6$;&4+-2(*I43J$g1$'& #GC#3?,/2E7F#&/<`k
current_user
CREATE RULE example_3 AS
ON SELECT TO emp.salary
WHERE current.dept = "shoe" AND current_user = "Joe"
DO INSTEAD NOTHING;
P63J$93>#+-fd,/GCF8H1$$'(*.&/$;124G
F3=^I4CB^+-12_$;+j$;&1$'.3F(*$'+-F$g1$UBD#A4#$;F8$;GZ
CREATE toyemp(name = char16, salary = int4);
CREATE RULE example_4 AS
ON SELECT TO toyemp
DO INSTEAD
SELECT (emp.name, emp.salary) FROM emp
WHERE emp.dept = "toy";
Compatibility
SQL92
& 72(*+-126waV$'Gj#+-@$'F8$;+-GK,/+1$*M2GCF8A43J$'Gjh2$'N,/GCF$&/GC$'+-F$'+-7,/
i Q
w
Vj$'+ 4Z
CREATE SEQUENCE
Nombre
CREATE SEQUENCE
Synopsis
CREATE SEQUENCE seqname [ INCREMENT increment ]
[ MINVALUE minvalue ] [ MAXVALUE maxvalue ]
[ START start ] [ CACHE cache ] [ CYCLE ]
lxx
Entradas
seqname
increment
minvalue
maxvalue
start
cache
H24.7,/2+
.$;3=(*,/F$f!#$f&/24Gw+-#(*$'3J24Gw1$g&/HGC$'7#$'+-7,/HGC$'+j&/2;BD12G
cache
5.03?$9&/&/27F8$;CACHE
1<)T*&/(*
7$'+-124Gg$'+(*$'(*23=,/%.^3=%#+77$'GC2(*Gg3=.0,/12)Z i &d&/23
(*,/+-,/(*2V$;G)Q58GC24&/2bGC$X.#$'1$aA4$'+-$'3?3#+_d ^&/24371Xd $;eR,Z $ZGK,/+_77:-$'<TH$'GUF8^(*I4,/$'+
$'& d&/243U.23U2(*,/GC,2+
Z
P6
P6 i
%.&/I43%7&/d$V5-4$'T.h23J1<)P6
P6 i .#$;1$VGC$'3Q#F#&/,/e1_.3?_.$'3?(*,/F,/36%&/EGC$'c
79#$;+-79,/a792+-F8,/+-#^37#+-12f$;&^d&/2301$
2H$'&'1$
:-XGC,/12H&/7+-c
maxvalue
e1-2.23Q#+-_GK$;79#$;+-79,/VGC7$'+-1$'+-F$L2
1$'GC7$'+-1$'+-F$L3J$'GC.minvalue
$;79F,/d'(*$'+ F8$Z ,0$'& &/,/(*,/F8$
$'GU&/7+-e^102R'$'&NGC,/A4#,/$'+-F$6+-#(*$'3J2LA4$'+-$'3?12bGC$'3?7#&/!4#,/$;3=6!#$Q.3?
minvalue
2
GC$'fF24(*^12E724(*2E.3J24.0,/'12Z
maxvalue
Outputs
CREATE
lx^n
,$'& d&/23>(*,/+-,/(*2ET%(*,/(*2EGC2+,/+-72+-GK,/GF8$;+-F8$'GZ
Descripcion
w
0/!1hVh_,/+-F3J241#7,/3?Q#+-+-#$'dQGC$'7#$'+-7,/6A4$'+-$;3=1243?X1$X+-#(*$'3J24G1$'+-c
F83J2"1$f&/L7F8#&I4GC$b1$f1^F82GZ i GCF82h,/(*.&/,/7L&/V73J$'7,/2+$H,/+-,/7,/&/,/e7,/2+1$H#+-V+-#$;d
F8^I&/g1$g#+-H&/,/+-$'H724+j$'&+-2(*I43J$
ZKfGC$'7#$'+-7,/HA4$'+-$'3?123?fGC$'3=H.03?2.,/$'1'1
1$'& #GC#3?,/2E!#$g$?B$;79#Ff$'&724(*^+-1seqname
2)Z
$'.GC#$'GX1$b!#$HGC$b73J$'H#+-bGC$'7#$'+-7,/RN.#$'1$f#F8,/&/,/e^3
&/bW8#+-79,/2+
.3Q24I4F$'+-$'36#+-j+-#$'d2*+-#(*$'3J2*1$E&/"GC$'7#$'+-7,/-Z^"W#+-7,/2+
nextval(seqname)
currval(seqname)
.#$'1$GC$'3V#F,/&/,/e1*.3?*1$'F$'3?(*,/+-3V$;&X+-#(*$'3?.1$'d#$;&/F82.23_&/*#&/F8,/(*&/&/(*1
1$'GC1$&/fGC$'7#$'+-7,/H$'GC.$;79,/]71$'+"&/HGC$'GC,/24+h$'+h7#3?GK2Z`fW8#+-7,/24+
nextval(seqname)
.#$;1$bGC$'3a#F,/&/,/e1L.3?b724+-]A4#3?3w$'&d&/243w7F#&
setval(seqname,
1$'d24&/d$'3?g$;&
1
$6&/GC$'7#$'+-7,/f$'GC.$'7,/]newvalue)
79^1Z`gGC,/A#,/$;+-F8$&/&/^(*1g
nextval(seqname)
d&/243)112V(*Ga&/fGC$'7#$'+-7,/f1$g,/+-73J$'(*$'+-F2Z
)VF,/&/,/7$#+-H724+-GC#&/F8H58!#$;3=T4< 792(*2
SELECT * FROM sequence_name;
.3?X24I4F$'+-$'30$'&#&/F,/(*2Ld&/2430GK,A+-12b.02437#&/!4#,/$;3.3J279$;GK2b$;+_$;&GC$'3?d,/124358I47-4$S+-1<`Z
F82_24I4F,/+hF8:-$g&/^GKFd&/#$&/&/27F8$;1I4T%+-TEI4*7 -4$'+-1XZ=.3?'(*$'F3J24Ga!#$g.#$;1$'G
#F8,/&/,/e^3
$j#F8&/,/eI4CBD2+-,/d$'&w1$I4&/24!4#$.3?:-I4,/&/,/F3L(*#&/F,/.&/$'G"&/&/^(*1G_GC,/(*#&F8+-$;G%*#+
A$;+-$'3?123`Z
lx
Atencin
Se pueden obtener resultados inesperados si una configuracion de cache mayor que uno es utilizada por un objeto secuencia que sera usado concurrentemente por multiples procesos en el servidor (backends).
Cada proceso en el servidor (backend)asignara valores de secuencia
"cache" succesivas durante un acceso al objeto secuencia e incrementara el ultimo valor (last_value) del objeto secuencia en conformidad
con esto. De este modo, el siguiente uso de cache-1 de nextval dentro de ese proceso en el servidor (backend) devolvera simplemente los
valores asignados sin tocar el objeto compartido. Asi pues, los numeros asignados pero no utilizados en la sesion en curso se perderan.
Mas aun, aunque se garantice por multiples procesos en el servidor
(backends) la asignacion de distintos valores de secuencia, los valores
pueden ser generados fuera de secuencia cuando los procesos en el
servidor (backends) son tenidos en cuenta. (Por ejemplo, con una configuracion de cache de 10, el proceso A puede reservar valores 1..10
y devolver un nextval=1, entonces el proceso B puede reservar valores
11..20 y devolver un nextval=11 antes de que el proceso A ha generado
un nextval=2.) Asi, con una configuracion de cache de uno es seguro
asumir que los valores de nextval seran generados secuencialmente;
conuna cache configurada mayor que uno solo podrias asumir que los
valores de nextvalue seran todos distintos, no que seran todos generados de un modo puramente secuencial. Tambien, last_value reflejara el
ultimo valor reservado por cualquier proceso en el servidor (backend),
tanto si ya ha sido devuelto por nextval como si no.
Notas
a$;(*,/F8GC$gf$;GKF12_hh/!1hLhh.3?f$;&/,/(*,/+-3>#+-fGC$'7#$'+-7,/-Z
P616.3J279$;GK2V$'+"$;& GK$;3=d,/123U58I427 -$'+-1<-#F,/&/,/efGC#j.3J24.0,/g77:-$6.^3=&/(*7$'+-3+-#(*$'c
3J24GQ^GK,/A4+-12GZ92GQ+-#(*$'3J2G6!#$H$'GCF8+$'+&/L77:-$H.0$'3J2"+-2jGC2+#F,/&/,/e12"$'+&/VGC$'GC,/2+
$'+"7#3=GC2_GK$g.0$'3J1$'3+-R1^+-12_72(*2%3J$'GC#&/F81-2Ed7,/2GK$;+j&/gGK$;79#$;+-79,/ Z
Uso
R^724(*$;+-e+-12_$'+" k
serial
i k
lx^
P62+-]A#3?3)$'&d ^&/243)1$g&/fGC$'7#$'+-7,/f1$;GK.#$;Gw1$6#+jP M
Compatibilidad
SQL92
w
/!1hVh$'Gw#+-b$'F8$;+-GC,/24+1$g&/$'+-A4#CBD$HM2GCF8A43J$'GZh2E:-T"$'GCF12%6V
a3
/!
1hVhh$'+ 4Z
CREATE TABLE
Nombre
CREATE TABLE
Synopsis
CREATE [ TEMPORARY | TEMP ] TABLE table (
column type
[ NULL | NOT NULL ] [ UNIQUE ] [ DEFAULT value ]
[column_constraint_clause | PRIMARY KEY } [ ... ] ]
[, ... ]
[, PRIMARY KEY ( column [, ...] ) ]
[, CHECK ( condition ) ]
[, table_constraint_clause ]
) [ INHERITS ( inherited_table [, ...] ) ]
Entradas
i M
\V)
$"73J$'j&/F8I4&/jGK&/2.3?$'GCFGC$'GC,/4+-RT$'GV$'&/,/(*,/+-^1#F24(*^F8,/7(*$'+-F$j72+$'&
]+j1$f&/bGC$'GC,/4+
ZGXFI4&/Ga.$'3?(*+-$'+-F$'GX$;N,/GCF$'+-F8$;GQ724+j$'&4(*,/GC(*2j+-2(*I43J$f+-2"GK2+
d ,/GC,/I4&/$'Ga(*,/$'+-F3=^Gw&/fFI4&/$F$'(*.23=^&4$;N,/GCF$Z
lx
table
column
type
i &'F8,/.2H1$'&;7(*.2ZM#$'1$
,/+-7&/#,/3$'GC.$'7,/]71243J$9G1$
3?3=^T ZP62+-GC#&/F8$a&/Xv9|Js }J?4V
Q|?J} |
t4^).3?f(*Ga,/+-W8243?(*7,/4+hGC2I3J$6F8,/.2GXTE3=3?;TGZ
i \4)L
value
)V+d&/243X.2361$;W$;7CF82.3?E$'&07(*.2Z'P62+-GC#&/F8$_&/E7&/#GC#&/ i \4)L .^3=V(*G
,/+-W23?(*7,/4+
Z
column_constraint_clause
b7&/#GC#&/V2.7,/24+-^& 1$f3J$'GCF83?,/77,/24+-$;GQ572+-GCF83?,/+-F<$'GC.$'7,/]7L#+-L&/,/GCF8L1$f3J$'GCF83?,/7c
79,/2+-$'G1$b,/+-F8$'A43?,/112j724(*.03?#$;IV!#$V&/G+-#$'dG6,/+-GC$'3J7,/2+-$'G27F#&/,/e;79,/2+-$'G
1$'I4$'+GCF8,/GCW87$'3Q.3?"!4#$"&/h,/+-GC$'3J7,/4+2*&/h^79F#&/,/e;7,/4+F$'+-A4"'N,/F2ZP6^1%3J$'GCc
F83?,/779,/+1$'I4$$'d&/#3?GC$j*#+-$'.3?$;GC,/4+I4242&/$'+- Z4\L#+-!#$ N ^3?$;!#,/$'3J$j&/
.3?f3J$'W8$'3?,/3=GC$6b$;GC$g79^(*.2EGC4&/^(*$'+-F$'RM2GCF8A43J$'G
column_constraint_clause
.
$'3?(*,/F8$!#$*(*&/F8,/.&/$;G"7(*.24G%GK$;+3J$'W8$;3?$9+-7,/12G"1$'+-F3J21$#++-,/7279^(*.2
792+-GCF83?,/+-F=ZCP62+-GK#&/F$g&/H7&/#GK#&/g792+-GCF83?,/+-F-.03=g(*Gw,/+-W823=(*^79,/+
Z
table_constraint_clause
_7&/#GC#&/_2.7,/24+-^&P
\ $'GC.$'7,/]7_#+-_&/,/GCFE1$b3?$;GKF3?,/797,/2+-$'G1$L,/+-c
F8$'A43?,/11"!#$6&/G>+-#$'dG>,/+-GC$'3J7,/2+-$'G
2L&/G>7F8#&/,/e^7C,/24+-$;Ga1$'I4$'3?+EGCF,/GCW^79$;3.3?
!#$#+-*GK$;+-F8$'+-7,/,/+-GC$'3?F62@#.1F8$F$'+-A4',/F82ZP613?$;GKF3?,/797,/+1$'I4$GC$'3L$;d ^c
&/#1#+-$;N.3J$'GC,/+I4242&/$'+--Z $h.#$'1$'+3J$'W8$93J$'+-7,/3b(*&/F,/.&/$'G_7 (*.2GE72+
#+-_+-,/7E3J$'GCF8 3?,/779,/+
Z 4&/2jGC$V.#$'1$L1$']+-,/3X#+-E+-,/7E7&/#GC#&/VM \L)6
5 i
58#+-3J$'GCF3=,/77,/4+E1$XF8I4&/< +-1hM \V)7
5 i
.243FI4&/SM \L)7
5 i
5#+-h3J$'GCF83?,/77,/4+1$"7(*.2column
<wGC24+@(*#F#(*$'+-F$j$;N7&/#T$;+-F8$;GZP62+-GK#&/F$j&/h7&/#GK#&/
1$3J$'GCF83?,/77,/4+"1$gFI4&/f.^3=(*Gw,/+-W823=(79,/+
Z
"i 8
inherited_table
Q7&/#GC#&/2.7,/24+-^& hi 8 $'GC.$'7,/]79Q#+-Q724&/$;797,/+%1$w+-2(*I43?$;GU1$wF8^I4&/61$
&/Gw7#&/$;Ga$;GKFHF8^I&/H:-$;3J$'10HF2124Gw&/24Gw79^(*.24GZ ,4^&/A+j7(*.2E:-$;3?$;1'12E.3J$97$
(*G>1$X#+-gd$'eRSM2GCF8A43J$'G
,/+-W8243?(*g1$X#+"$'3?3J243=ZM24GCFA3J$'G
.$;3=(*,/F$6#F2(*F8,/7(*$;+-c
F8$aX&/XFI4&/w73J$''1X:-$'3J$'1;3W8#+-7,/24+-$'G1$
&/GF8I4&/^GGC#.$'3?,/23J$'GX$;&/&/X$'+L&/B$;3=^3?!4#
1$:-$'3J$'+-7,/-Z
Aside: La herencia de funciones se realiza siguiendo las convenciones del Common Lisp
Object System (CLOS).
Salidas
CREATE
lx^
ERROR
, $'&0F8,/.21$V1^F82G62$'&0d&/23X.243X1$'W8$'7`F82+ 27243?3J$'GC.2+-1$L&0F,/.2j1$V1F24G1$b&/
1$']+-,/7,/4+h1$'&7(*.2Z
Description
7&/#GC#&/24.7,/2+-& hi $'GC.$'7,/]79#+-72&/$'779,/+1$+-24(*I43J$;G%1$7&/GC$'G_1$
&/24Gw7#^&/$'Gw$;GCF8H7&/GC$g:-$'3J$'1H^#F2(*F8,/7(*$;+-F8$gF24124GX&/2GQ7(*.2GZ ,7#&/!#,/$'3>+-24(*I43J$
1$f7(*.2%:-$'3J$;1102"^.3J$S7$H(*GX1$b#+-bd$'eRM24GCFA3J$'GQ,/+-W823?(*L1$f#+$'3=3J23JZM2GCF8A43J$'G
.$'3?(*,/F8$6#F82(*F,/79^(*$'+-F8$6f&/f7&/GC$673J$'1:-$'3J$;13W8#+-7,/2+-$'Ga1$7&/GC$'G
GC#.$'3?,/243J$'G
$'+
&/UBD$'3?3J!#61$6:-$'3J$'+-7,/-Z6:-$'3J$'+-7,/61$QW8#+-7,/2+-$'G
GK$X:-7$6GC,/A4#,/$'+-12L&/G>72+-d $;+-79,/2+-$'G
1$'& PQ24(*(*2+,/GK. I;BD$'7F TGCF$'( 5PQ V <JZ
P61h+-#$'dFI4&/27&/GC$
$;GL793J$'^10^#F2(*F8,/7(*$;+-F8$"792(*2@F,/.2Z M243HF8^+-F82R
#+-E2(*^Gf,/+-GCF8^+-79,/^Gf1$L&/%table
79&/^GK$LGK2+#F82(*F,/79^(*$'+-F$_#+F,/.2T.#$'1$;+*GK$;36#GC1G
$'+"2F83?C
G BED4;Lz >4z8C
o ?F7AG?H, ?GC$'+-F$'+-7,/Gww
4
8
wZ
. .h,/F8:h+-2V,/+-,/F8,/&1^F842Z )V+-F8I4&/+-2_.#$;1$6F$'+-$'3)(*G
:-$6+-,$ .FI4&/$,/G
73J$';F8$'1hG
g:-$'^#
1$g^H79^(*.24Gw53J$;&/(*$'+-F$'R$'GCF82"d,/$'+-$f&/,/(*,/F12".23a$'&4:-$'7:-2"!#$H$'&4(*N,/(*2"F(*-2
1$#+-HF#.&/f1$'I4$GC$;3>(*$'+-23>!4#$IT4F$'GC<R'.$'3J2_$;GKF$g&//(*,/F$g.#$'1$GC$'3>72+-]A4#3?12
"#+F8(*^-2*(*$'+-23H$;+@&/A4#+-2GVGC,/F,/24GNIZ )L+-"F8I4&/h+-2.#$'1$EF8$;+-$'3g$'&(*,/GC(*2+-2(*I43J$
!#$g#+-fFI4&/f1$7F&/2A2_1$'& GC,/GCF8$'(* Z
Clusula DEFAULT
DEFAULT value
ln
Entradas
value
K #+j&/,/F$'3?&
K #+-HW#+-7,/+h1$g#GK#^3=,/2
K #+-HW#+-7,/+h+-,/&/1,/7
Salidas
h,/+-A4#+--Z
Descripcin
7&/#GC#&/
i \4)V GC,/A+-*#+-d&/23L.23V1$'W8$'7F2#+7(*.258F3=^d ;GE1$#+-
7(*.2*$;+@&/hGC$'+-F8$;+-79,/jP6 i \ i \L i <?Z i &)F,/.21$"1F82*1$E#+d&/23
1$']+-,/7,/4+@1$"
.23U1$;W$;79F2V1$'I4$723=3J$'GC.2+-1$'3)& F,/.2%1$1^F82V1$&/H1$;]+-,/7,/+1$;& 7(*.2)Z
)V+-w2.$;3=7,/+_1$>,/+-GC$'3J79,/+V5 i <!#$w,/+-7&/#T4Q#+_7(*.02fGC,/+_#+Vd&/243-$'GC.$'7,/]712
.23
1$'W8$'7F2%GC,/A+-^3=b$'&d ^&/243
0
)V&79^(*.2%GC, +-2hGC$b&/$f.3J2.23?7,/2+-b#+d&/243a$;N.&/c
7,/F82Z ,0$;&d &/23X.243X1$;W$;79F2j$'G#+
GC,/A+-,/]7%!#$_!#$L$'Gf#+d&/23Q72+-GKF+-F$Z
literal
,$'& d&/23U.23)1$'W8$'7F82L$'G
#+-
2V#+-
GC,/A+-,/])7
!#$g1,/7:-2Ed&/23U$;Gw$;&41$&/fW8#+-niladic-function
7,/4+j$'GC.$'7,/]79^1g$'+h$;& (*24(*user-function
$;+F2E1$&/g,/+-GK$;3J79,/+
Z
T_124GaF,/.24Ga1$gW8#+-7,/24+-$'Ga+-,/&/1,/7Nk
+-,/&/1,/7() i
P&)V
i ) i ) i
PQ24+-GC#&/F$g&/GwW8#+-7,/2+-$'GwPL)V
i ) i
i ^ ") i
F21d/g+-2EGK2.23=F1G
i ) i
F21d/g+-2EGK2.23=F1G
+-,/&/1,/7w1F$'F,/(*$
P&)V
i \ i
P&)V i i
ln^l
P&)V
i i \
M
+ &/wd$'3?GK,/+V7F8#&;58d-Z ;<RKM2GCF8A43J$'G)$;d &/
F821G&/G$'N.03?$;GK,/2+-$'G.2301$'W8$97F82H$;+L$'&'(*24c
i L
(*$'+-F2$'+!#$E&/EFI4&/E$'Gg1$']+-,/1-ZSM23F+-F24R&/GW8#+-79,/2+-$'Gf!#$_GC24++-2+-c77:-$'^I4&/$'
724(*2
.#$;1$'++-2.3J21#79,/3X$'&$'W8$;79F21$;GK$;12Z;M3=_$'&79^GK2.3Jc
F8,/7#&/3 CURRENT_TIMESTAMP
1$aF,/.24G1F$ F8,/(*$aRGC$a.#$'1$>F83?I4CBD3 GK2I43J$a$'GCF8$>724(*.23?F8(*,/$;+-F82b#GC+-1
2 M i c
\ )L Ei OY+-
2 .h:O NX$'+L&/#A3 1O
$ M i J
\ )H O+-P2 .hQO Nw
2 M i J
\ )V &
P )V
i i \
M!N Z
4
i GCF82LW8#$'3?eM2GCF8A43J$'G>g72+-GK,/1$'3=^3)& g724+-GCF+-F8$6792(*2V#+% F8,/.2VGCF83?,/+-AETVGC792+-d$'3?F8,/3?&/g&
d&/243)F8,/($'GCF8(*.$;+jF,/$'(*.2_1$$=BD$'7#7,/4+
Z
Uso
M3=jGC,/A+-^3L#+d&/243H724+-GCF+-F8$72(*2@d&/23L.23b1$'W8$'7F82.3?&/2GE7(*.2G
+-1
did
R'TE#+-H79^1$S+-H^& 79^(*.2
k
number
CREATE TABLE
did
number
total
);
did
video_sales (
VARCHAR(40) DEFAULT luso films,
INTEGER DEFAULT 0,
CASH DEFAULT $0.0
Entradas
name
name
ln
#)L
i &79(.2E.#$'1$724+-F$'+-$'3Ud ^&/243J$'G>0)VXZ2RGCFf$'Ga&/f2.79,4+j.243U1$'W8$'7F2)Z
#
)V
i &>7(*.2+-2.#$;1$h72+-F8$'+-$;3bd&/23J$'GL#)LXZ i GCF2$'!4#,/d ^&/$j&/3J$;GKF3=,/77,/+1$
79^(*.2_P hi &
P 55
#
)V<`Z
)V
M
column
i
i &47(*.2"1$'I4$g72+-F8$;+-$'3a#+d&/23
+-,/72)Z i +jM2GCF8A43J$'GQ$;GKF2"$'GXW823?e102".0243a(*$;1,/2
1$&/f73J$'7,/+",/(*.&//7,/FH1$#+h/+-1,/7$g+-,/72EGC2I3J$6&/HF8I4&/-Z
\L)S5 i
i GCF8$X7(*.2L$'G>#+-g7&/d$X.3=,(*3=,/^R;&/2V!#$6,/(*.&/,/7!#$&/6#+-,/79,/1^1j$'G>W823=e^10.243
$'&GK,/GCF$'(*"T*!#$E2F83?GgF8I4&/Gg.#$'1$;+ 72+-]3$'+$'GCF$_79^(*.2724(*2,1$'+-F8,/]7123
+-,/792_.3?f&/24Ga3J$'A4,/GCF83J2GZ`PQ24+-GC#&/F$gM \L)T
5 i @.3?g(*^Gw,/+-W823=(*7,/+
Z
constraint
Descripcin
Q79&/^#GK#&/624.079,/2+-&N1$Q3J$'GCF3=,/77,/4+_58P a\ <$;GC.$'7,/]763J$'GCF83?,/779,/2+-$'GU2Ld$'3?,/]79
!#H1$'I4$'+79#(*.&/,/3w&/^G+ #$;d ^GQ,/+-GC$'3J79,/2+-$'G62h&/GQ^79F#&/,/e;7,/24+-$;G.03=L!#$b#+-V2.$'3?c
7,/4+1$",/+-GC$'3J7,/4+@21$"^79F#&/,/e7,/+@F$'+-A4',/F82ZPQ1h3J$'GCF83?,/779,/+@1$;I4$"$;d &/#^3=GC$E
#+-%$'.3J$'GC,/4+I4242&/$'+- ZPQ24+#+-"+-,/79"3J$'GCF3=,/77,/4+GC$_.#$'1$;+3J$'W8$93J$'+-7,/36(*&/F,/.&/$'G
F3=,/I4#F24GZ i & #GC2V1$M \L)7
5 i 724(*2_3J$'GCF83?,/779,/+%1$6F8I4&/$'G>(*#F8#(*$;+-F8$6,/+-792(*c
.F,/I4&/$724+h$'&#GC2E1$6M \L)T
5 i @724(*2_3J$'GCF83?,/779,/+h1$7(*.2Z
)V+-H3J$'GCF3=,/77,/+$'Gw#+-L3J$;A&/H72++-2(*I43J$kK#+2I;B$;F82 N *!#$fT4#1Hb1$']+-,/3
72+B#+-c
F82G1$bd&/23J$'G6d&/,/12G6.24+-,/$;+-12&/(*,/F8$;GgL&/24Gg3J$'GC#&/F8^102Gg1$L&/G62.$'3?7,/24+-$;G i R
)VM \ i 23 i ii GC2I43?$6#+-HF8I4&/-Z
i ,/GKF$'+_124G>(*+-$;3=^G)1$X1$']+-,/33J$'GCF83?,/779,/2+-$'GU1$Q,/+-F$'A43=,/1^1XkJ3J$;GKF3=,/77,/2+-$'GU1$XF8^I4&/R;!#$
d$'3J$S(*2GX(*^Gw1$;&/'+-F$'RT%3J$;GKF3=,/77,/2+-$'G
1$g7(*.2R^!#$g.GC(*2Gwgd $;3`Z
)V+-H3J$'GCF3=,/77,/+1$f7(*.2%$;GX#+-b3J$'GCF83?,/779,/+j1$f,/+-F8$'A43?,/111$']+-,/1H724(*2".03=F$f1$g&/
1$']+-,/7,/4+E1$Q7(*.2RST_&/A4,/79^(*$'+-F8$QGC$Q72+-d ,/$;3=F$6$;+%#+-3J$;GKF3=,/77,/+E1$QF8I4&/Q+-16(*G
GC$'3U73J$';1-Z`Ga3J$;GKF3?,/797,/2+-$'Ga1$7(*.2E1,/GK.2+-,/I4&/$'GaGC24+
k
M \L)S5 i
i4i i hP i
)V ) i
P hi PL5
#
)V
Nota: Postgres todava no soporta (en su versin 6.5) restricciones de integridad especificadas por REFERENCES. Se acepta la sintaxis pero se ignora la clusula (disponible,
en cambio, a partir de la versin 7.0)
ln^m
"3J$'GCF83?,/779,/+@ #)V$'GC.$'7,/]7h#+-h3J$'A4&/h!4#$h2I4&/,/Ah!#$h#+7(*.2792+-F$'+-A4
+-,/7(*$'+-F$Vd&/243J$'G6+-2j+-#&/2GZRGCFE$'G6+-,/7(*$'+-F$_#+-_3J$'GCF3=,/77,/4+*1$V7(*.2RT+-2GC$
.$'3?(*,/F8$6792(*2%3J$'GCF3=,/77,/+"1$F8^I4&/-ZZ
Salidas
status
ERROR: ExecAppend: Fail to add null value in not null attribute "column".
Descripcin
Uso
Restriccin UNIQUE
[ CONSTRAINT name ] UNIQUE
Entradas
P a\
name
)V+-f$;F8,/!#$;F8H3?I4,/F83?3?,/g11gH#+-f3J$'GCF3=,/77,/4+
Z
lnx
Salidas
status
Descripcin
Uso
ln^n
La restriccin CHECK
[ CONSTRAINT name ] CHECK
( condition [, ...] )
Entradas
name
condition
P6#&/!4#,/$'3$'.3J$SGC,/+"724+-1,/7,/2+-&d&/,/16!#$XGC$Q$;d &/#$XQ#+%3J$'GC#&/F8^12HI4242&/$'+-+-2Z
Outputs
status
Descripcin
Entradas
P a\
name
)V+h+-2(*I3J$g^3=I4,/F3=;3?,/2E.3?f&/f3J$'GCF3=,/77,/+
Z
ln
Salidas
ERROR: No se puede insertar un valor duplicado en un ndice nico.
Descripcin
b3J$'GCF83?,/779,/+1$H7(*.2"M \V)U5 i $;GK.0$'7,/]7L!#$L#+7(*.02"1$b#+-LF8^I&/LGC24&/^c
(*$'+-F$6.#$'1$6724+-F$'+-$;3)d&/23J$'G>+-,/724G
58+-2L1#.&/,/712GK<TV+-2V+-#&/24GHZ=61$']+-,/7,/4+"1$6&/
724&/#(*+-L$'GC.$'7,/]79^1b+-2jF,/$'+-$H!#$L ,+-79&/#,/3a#+-L3J$'GCF83?,/779,/+$;N.&/7,/F8L #
)L.3=
GC$'3U,/+ 79&/#1f$'+h#+-H3J$'GCF83?,/77,/4+"M \V)T
5 i UZ
&/2_GK$6.#$'1$$;GK.$;79,]73)#+-H+-,/79g79&/^d $6.3=,/(*^3=,/f58M \V)W
5 i
<-.243UF8I4&/ Z
Notas
Entradas
P a\
name
)V+h+-2(*I3J$g^3=I4,/F3=;3?,/2E112VH#+-f3J$'GCF3=,/77,/4+h1$6,/+-F8$'A43?,/11XZ
R ZZZ
i &w +-24(*I43J$1$&/24Gh7(*.2G".3?*&/24Gh!4#$*1$;]+-,/(*2Gj#++-1,/79$+-,/72T9R).3?&/
M \L)S
5 i R^#+-H3J$'GCF3=,/77,/4+h #
)VXZ
column
P hi PL55
<
constraint
)V+-f$;N.3J$'GC,/+hI4242&/$'+-fHGC$'3)$'d&/#12_724(2%&/f3J$'GCF83?,/77,/4+
Z
ln^
Salidas
G>.2GC,/I&/$;GwGC&/,/1^G>.3?g&/f7&/#GC#&/f1$63J$;GKF3?,/797,/+"1$FI4&/G>GC24+h&/G
(*,/GC(*Ga!#$.3?
&/G
.3?F8$;Ga723=3J$'GC.2+-1,/$'+-F$'Ga1$&/f7&/#GC#&/H3J$'GCF83?,/779,/+"1$679(.2)Z
Descripcin
)V
) i
P h
P 5
i L
M L
\ )S5 i
i bX5 i
Nota: Postgres todava no soporta (en su versin 6.5) las restricciones de integridad
FOREIGN KEY. El compilador entiende la sintaxis de FOREIGN KEY, pero solo imprime
un aviso e ignora la clusula. Las claves ajenas pueden ser parcialmente emuladas por
medio de triggers (Consulte la sentencia CREATE TRIGGER).
Restriccin UNIQUE
[ CONSTRAINT name ] UNIQUE ( column [, ...] )
Entradas
P a\
name
)V+h+-2(*I3J$g^3=I4,/F3=;3?,/2E112VH#+-f3J$'GCF3=,/77,/4+
Z
column
Salidas
status
ln
Descripcin
63?$;GKF3?,/797,/+)V ) i $'GC.$'7,/]796#+-f3J$'A4&/6$'+%&/g!4#$6#+"A43?#.2L1$Q#+-2 :-$L)V ) i
724+-GCF83?,/+-F)GK.0$'7,/]$;Gf%3J#&/$_F:-FUEA43J24#.2W>2+-$E243Q2(*^Gf7(*.2Gf1,/d $;3=GC2Gf1$_#+-%Fc
I4&/H.#$'1$g72+-F8$'+-$;3
GC24&/2Ed &/23J$'Ga+-,/792GZ i &72(*.243?F(*,/$'+-F2"1$g&/H3J$'GCF83?,/779,/+j1$gF8^I&/
)V ) i $'GQ$;& (*,/GC(*2h!#$b.03=b&/L3J$'GCF83?,/779,/+1$H7(*.2RN792+&/b.2GK,/I4,/&/,/111,/79,/2+-&
1$.0&/,/793?&/2Vf(*Ga1$#+h7(*.2Z
P62+-GC#&/F$g&/fGC$'77,/4+jGC24I43J$&/g3J$'GCF83?,/797,/+h1$7(*.V
2 )V ) i .3?g(*^Gw1$;F8&/&/$;GZ
Uso
Entradas
P a\
name
)V+h+-2(*I3J$g^3=I4,/F3=;3?,/2E.3?f&/f3J$'GCF3=,/77,/+
Z
R ZZZ
24Ga+-2(*I3J$;Gw1$6#+-2E2E(*Ga7(*.2Gw$'+"&/HFI4&/-Z
column
Salidas
status
ln^
Descripcin
b3J$'GCF83?,/779,/+M \V)Y5 i $'GC.$'7,/]7V#+-L3J$'A4&/H$'+&/L!#$H#+A3J#.2"1$H#+-2h2"(*G
7(*.2Gb1$"#+-hFI4&/j.#$;1$"72+-F8$;+-$'3gGC4&/2d&/243J$;GH+-,/724GV58+-2*1#.&/,/712GK<
T+-2+-#c
&/24GZ^Gf1$']+-,/79,/2+-$'GH1$_7(*.21$E&/2Gb7(*.2GH$'GC.$'7,/]712GH+-2*
+-$'7$'GC,/F%,/+-79&/#,/3g#+-
3J$'GCF83?,/779,/+" #
)Vj.3?gGC$'3>,/+-7&/#1f$'+h#+-H3J$'GCF83?,/77,/4+"M \V)S
5 i )Z
Uso
l
Notas
P6 i \ ih \V iX hi $'G
#+-H$'F8$'+-GC,/+^& &/$'+-A#`B$g1$6M24GCF8A43J$'GZ
l^l
Compatibilidad
SQL92
\V1$;(*'G1$a&/w FI4&/wF$'(*.23=&'d,/GC,/I4&/$a&/247&/(*$;+-F8$'R N w1$;]+-$>#+-XGK$;+-F8$'+-
7,/X
PQ i \ i
b \V i M a\L) \L i RT_24.7,/2+-&/(*$'+-F$f#+-H79&/^#GK#&/ P
k
CREATE GLOBAL TEMPORARY TABLE table ( column type [
DEFAULT value ] [ CONSTRAINT column_constraint ] [, ...] )
[ CONSTRAINT table_constraint ] [ ON COMMIT { DELETE | PRESERVE } ROWS ]
Clusula UNIQUE
150)
^g$'GC.$'7,/]7f&/A4#+-Gw.2GC,/I4,/&/,/11$'G
1,/79,/2+-&/$'Ga.3?
)L
$']+-,/79,/+j1$3J$'GCF3=,/77,/4+"1$F8I4&/-k
l
i k
clusula NULL
clusula CONSTRAINT
^j$'GC.$;79,/]7&/A4#+-.2GC,/I4,/&/,/111,/7,/2+-&U.3?3J$;GKF3?,/797,/2+-$'GCRTF8(*I4,/;+1$']+-$
3J$'GCF83?,/779,/2+-$'G
1$^GKGC$'3?F,/24+-GwT%1$124(*,/+-,/2Z
Nota: Postgres todava no soporta ni dominios ni assertions.
\ k
i
\ 2%\Lc
l^m
[ CONSTRAINT name ] { NOT NULL | PRIMARY KEY | FOREIGN KEY constraint | UNIQUE | CHECK constraint }
[ {INITIALLY DEFERRED | INITIALLY IMMEDIATE} ]
[ [ NOT ] DEFERRABLE ]
ii a\L i
CG ,/A4+-,/]76!#$Q&63J$'GCF3=,/77,/4+_1$'I4$aGC$'372(*.3J24I41X1$'GC.#'G)1$X&/Q$?B$'7#7,/+E1$w71
GK$;+-F8$'+-7,/ N XZ
a\L i
ii a
GC,/A+-,/]7E!#$V&/Ed$'3?,/]77,/4+1$'&-7#(*.&/,/(*,/$'+-F21$b&/E3J$'GCF83?,/77,/4+.0#$;1$LGC$'3w.0&/c
e1-2E:-GCF8H(*^GwF3J10$;R^.$'3J2_+-2E(*GwF3J1-$g!#$g$'&]+-& 1$g&/f7F#& F83?+-GC77,/4+
Z
i N& (*212V1$63J$'GCF3=,/77,/4+E.3=67163J$'GCF83?,/779,/+%F,/$'+-$GC,/$'(*.3J$Q#+"d ^&/243,/+-7,/&N.23)1$'W8$'7F82
!#$gGC$$'GCFI4&/$'7$.3?f&/f3J$;GKF3=,/77,/+j^& .3=,/+-7,/.,/2_1$g&/fF3=+-GC77,/+
Z
\ ^
8 L
i \ i
Clusula CHECK
lx
^g$'GC.$'7,/]7f&/A4#+-Gw.2GC,/I4,/&/,/11$'G
1,/79,/2+-&/$'Ga.3?g&/HM
$']+-,/79,/+j1$3J$'GCF3=,/77,/24+-$;Ga1$gF8I4&/-k
\V)W5 i ak
CREATE TABLE AS
Nombre
CREATE TABLE AS
Synopsis
CREATE TABLE table [ (column [, ...] ) ]
AS select_clause
Inputs
table
l^n
column
select_clause
)V+ VGC$'+-F$'+-7,/V1$H72+-GK#&/F_d&/,/1-ZK
$']'3=^GK$H i i P .3?V:-&/&/^3a#+-V1$;GK73?,/.c
79,/+h1$&/HGC,/+-FN,/Ga.$'3?(*,/F8,/1-Z
Salidas
$;];3=GC$fw
48
T%]/.3?g:-&/&/3U#+hGK#(*3?,/2_1$.2GK,/I4&/$;Gw(*$'+-GCc
a
B$;Gw1$6GK^&/,/1-Z
Descripcin
CREATE TRIGGER
Nombre
CREATE TRIGGER
Synopsis
CREATE TRIGGER name
{ BEFORE | AFTER } { event
[OR ...] } ON table
FOR EACH { ROW | STATEMENT } EXECUTE PROCEDURE
ER">funcBLE>
( arguments )
Entradas
name
table
l
)V+-2_$'+-F83J$
event
i R
i ii 2)VM
\ i Z
funcname
Salidas
CREATE
Descripcin
w
aJhh,/+-F83J21#7,/3#++-#$'d21,/GC.3?1-243Q$'+&/EI4GC$b1$V1F24Gg7F8#^&Z i &
1,/GC.3?'123HGK$hGC247,/3724+&/j3?$;&/7,/4+
T$=BD$'7#F8^3&/W#+-7,/+$'GC.$'7,/]79^1
relname
Z
funcname
$6.#$'1$g$;GK.$;7,/]73U!#$f$'&1,/GC.3?123UGC$f1,/GC.3J$1$g7#&/!#,/$;3=H1$$'GCF8Gw124GaW8243?(*Gk
+-F$'GH58 i i <>1$E!#$"&/"2.$'3?7,/4+GC$'",/+-F8$'+-F1"$'+#+@3J$'A4,/GCF83J258+-F$'GH1$%!4#$"&/G
3J$'GCF83?,/779,/2+-$'G>GC$72(*.3J#$'I4$'+%TE?#
/
>RLhwa"2Eha"GK$;+",/+-F8$;+-F8124GC< 2_1$;GKc
.#'Ga58\ 4i a< 1$g!#$f&/H2.$'3?7,/4+h:-T4HGC,/12%,/+-F$'+-F8^1H58.243U$=BD$'(*.&/2%1$'GC.#'Gw1$g!#$
&/Gb3J$'GCF3=,/77,/24+-$;GLGK$;+@72(*.3J24I41^GbT1$h!4#$j?#
/
RLhw
2h
:-T^+
GC,/12j72(*.&/$'F12GC<CZ , $'&-1,/GC.3?'1243wGC$L.2+-$V$;+(*3J7:-V+-F$'G61$;&-$'d$'+-F24R 'GCF8$b.#$'1$
GC&/F83-&/624.$;3=7,/+_.^3=X$;&3J$'A4,/GKF3J2H7F#^&^2b7(*I4,/^3$'&^3J$'A,/GCF3J2H!#$X$'GCF8I4Q,/+-GC$'3?F+-124GC$
58GK&/2%.^3=H&/Ga2.$'3?7,/24+-$'GX?#
/
ThVhw
<`Z ,$'&1,/GC.3?123>GC$f1,/GC.3?f1$;GK.#;G
1$'&4$'d$'+-F24RF8212GQ&/2GQ79^(*I4,/24GCR,/+-79&/#T4$'+-12h&/b&/F8,/(L,/+-GC$'3J7,/+-R 7F#&/,/e'7,/+2"I423=3?c
12R^GK2+jd ,/GC,/I4&/$'GC.3?g$;&41,/GC.^3=;123`Z
a$;];3=GC$H_&/2G67(
. _ F#&/24G1$ M T 3?,/AA4$'3?GQ$'+*&/LA4<
# _ _v|?s-}?4Vh}v }?pVH?} |Qt4
.3?g( Ga,/+-W23?(*7,/4+
Z
Notas
w
aJhh$'Ga#+ b$;NF$'+-GC,/+j1$;&&/$'+-A#`B$gM2GCF8A43J$'GZ
&/2_$'& .3J24.0,/$'F83?,/2V3J$'&/7,/24+-^12_.0#$;1$73J$';3>#+h1,/GC.3?123U$;+"$'GCF8H3J$'&/;7,/4+
Z
GCF8X&/Qd$'3?GC,/4+_7F8#&^58d Z +'<8R9&/G)GC$'+-F$'+-7,/GU1$w1,/GC.3?1-243J$;G)+-2b$'GCF+V,/(*.&/$'(*$'+-F1GZ
a$;];3=GC$HEhha?h".3?V2I4F8$;+-$'3w,/+-W8243?(*7,/4+*GC2I43J$b72(*2I423=3?3a1,/GC.3?c
123?$;GZ
Uso
P62(*.3J#$'I4GC,N$;&N741,/A42L1$X1,/GCF83?,/I4#,/1243$'GC.$;79,/]712b$',/GCF8$Q$'+_&/gF8^I4&/1$X1,/GCF83?,/I4#,/12c
3J$'G
+-F8$;Ga1$-1,/3)2E^79F#&/,/e3#+-H]&/f$'+h&/2GX]&/(*Ga1$g&/fF8^I4&/-k
CREATE TRIGGER if_dist_exists
BEFORE INSERT OR UPDATE ON films FOR EACH ROW
l^
\V+-F$'G
1$g7+-7$'&/3#+h1,/GCF83?,/I4#,/123>2E1$g7F8#&/,/e;3>GC#741,/A42RI23?3=g791f3J$'WD$'3J$;+-79,/g$'+
&/24Ga]&/(*GX1$6&/fF8I4&/ k
CREATE TRIGGER if_film_exists
BEFORE DELETE OR UPDATE ON distributors FOR EACH ROW
EXECUTE PROCEDURE check_foreign_key (1, CASCADE, did, films, did);
Compatibilidad
SQL92
h2E:-^T%aa
?hh$'+ N -Z
i &)GC$'A4#+-12$=BD$'(*.&/2$'.&/,/712*F$'3?,/243?(*$'+-F$h.0#$;1$E,/(*.&/$'(*$'+ F83?GC$hF(*I4,/'+#GC+-12
#+-f3J$'GCF83?,/77,/4+h1$ i b`
5 i 57&/d$QW23>+-$;< 724(*2_$'+
k
CREATE TABLE distributors (
did
DECIMAL(3),
name
VARCHAR(40),
CONSTRAINT if_film_exists
FOREIGN KEY(did) REFERENCES films
ON UPDATE CASCADE ON DELETE CASCADE
);
CREATE TYPE
Nombre
CREATE TYPE
Synopsis
CREATE TYPE typename
( INPUT = input_function,
OUTPUT = output_function
, INTERNALLENGTH = { internallength
| VARIABLE }
[ , EXTERNALLENGTH = { externallength
l
[
[
[
[
[
[
|
,
,
,
,
,
,
VARIABLE } ]
DEFAULT = "default" ]
ELEMENT = element ]
DELIMITER = delimiter ]
SEND = send_function ]
RECEIVE = receive_function ]
PASSEDBYVALUE ] )
Entradas
typename
internallength
externallength
input_function
output_function
i &+-24(*I43J$f1$f#+-LW#+-7,/+-R 73J$';1b(*$'1,/+-F$fP6 i \ i )VhP hR&/V7#&4792+-c
d /, $;3=F$L&/2G1F82G1$'GC1$bGK#W823=(*V,/+-F8$;3=+-EV#+-EW8243?(*_72+-d$'+-,/$'+-F$V.3?_GC$'3w(*2GCc
F83?12GZ
element
i &F8,/.2_793J$'^102_$'Gw#+h3?3?T'$'GCF82_$'GC.$'7,/]7f$;& F8,/.2E1$&/2Gw$'&/$;(*$'+-F24Gw1$'& 3?3=^T Z
delimiter
default
send_function
receive_function
l^
Salidas
CREATE
Descripcin
w
Oa
.$'3?(*,/F$V&#GC#^3=,/23J$'A,/GCF3=^3X#++-#$'d2F8,/.21$V1F24G1$_#GC#3?,/272+
M24GCFA3J$'G6.^3=VGK$;3X#GC12j$'+&/EI4GC$L1$b1F24G67F#^&Z i &0#GC#3?,/2j!4#$L1$']+-$V#+*F,/.2GC$
724+-d,/$'3?F8$"$'+GC#.3J2.,/$'F3?,/2)Z
$'GL$'&>+-2(*I43J$h1$%1$'&)+-#$'d2F,/.2T@1$;I4$"GC$'3
+-,/72E1$'+-F3J2_1$&/24GaF8,/.2Ga1$']typename
+-,/124Gw.3?g$'GCFfI4GC$1$g1^F82GZ
w
O
a
+-$'7$'GC,/F%$'&3J$'A,/GCF3J21$_124GgW#+-7,/2+-$'GH58#GC+-12j73J$'F$VW8#+-79F,/24+-<U+-F$'G
1$1$']+-,/3_$'&aF,/.2)Z3J$'.3J$9GC$'+-F8^79,/+1$#++-#$'d2F8,/.2I4^GK$$'GCF*1$'F8$;3=(*,/+-^1.243
RN&/E7#&-724+ d ,/$;3=F$V&/_3J$'.03?$9GC$'+-F7,/4+$'F8$;3=+-V1$'&-F,/.2jE#+-_3J$'.3J$9c
GCinput_function
$'+-F8^79,/+%,/+-F$'3?+-R^#F8,/&/,/e^I4&/$Q.0243)&/24G
2.$'3?123J$SG
TVW8#+-79,/2+-$'G
1$']+-,/1G>.0243)$'&NF,/.2Z`hc
F8#3?&/(*$'+-F$
$=BD$'7#F86&/F3?+-GCW23?(*7,/4+%,/+-d$'3?GC-ZJ\V(*I4G>W8#+-7,/24+-$;GKR
&/H1$g$'+-F3=^1output_function
fT"&/H1$gGC&/,/1H1$'I4$'+hGC$'3>1$;7&/3=;1Ga.3?fGC#(*,/3
#+-2%2%124Gw3JA#(*$'+-F2G
1$F,/.2E
9Z
opaque
2GX+-#$'d24GwF8,/.2GQ1$f1^F82GXI4GC$g.#$'1$;+GC$'3U1$f&/24+-A4,/F#1*]NB^RN$;+7#T42%79^GK2
$'Gw#+$'+-F$'3J2".2GC,/F8,/d24RN2"F8^(*I4,/'+.#$;1$'+jGK$;3
1$f&/2+-A,/F#1d3?,/I4interna&/$SRN$'+7#T42
llength
7GC24RNM2GCF8A43J$'G6GC#(*$L!4#$L$'&-+ #$;d 2hF,/.2hF8,/$;+-$L$'&-(,/GK(*2jW8243?(*F2h!#$L$'& F8,/.2h1$H1F24G
9ZKM3?L,/+-1,/73>!#$b#+F8,/.2"$;GQ1$H&/24+-A4,/F8#1*d ^3=,/I4&/$;R
GC#(,/+-,/GKF3=^12".23aM2GCF8A43J$'GCR
text
GC$g1$'I4$g$'GC.$'7,/]73
792(*2
Z`H3J$'.3J$9GC$'+-F8^79,/+j$'F8$'3?+-HGC$
$'GC.$'7,/]7f1$W823=(*finternallength
GC,/(*,/&/3U#GC+-12E&/f.0&/I43?fVARIABLE
79&/^d $
Z
externallength
M3=_,/+-1,/736!#$_#+F8,/.02$'Gg#+3?3?'T*T.3?E,/+-1,/73Q!#$E#+F,/.2F,/$'+-$_$'&/$;(*$'+-F24Gf1$
3?3=;T9R0,/+-1,/!#$j$'&>F,/.21$'&)$'&/$'(*$'+-F21$'&U3?3?T#GK+ 12&/j.&/I43?j7&/d$%$'&/$'(*$;+-F`Z M23
$=BD$'(*.&/2R.3?g1$']+-,/3U#+j^3=3?T_1$$'+-F$'3J2Ga1$g79#F3J2LI4TF$'Ga5,/+-bF +<8R^$'GC.$;79,/]!#$
ELEMENT = int4
dePfhgQiWjck(lgQm<ink
oepqrtsLuOvxwzy{xy|t}x~uvx{x*v~ |(v{xQv|tQ}xrtJ*v2~wuO|t{xut@~|<@utJvxwz*v*u(*v2yv!wut{|tQut{uOvx{Qx
*}vx{xvxQvx{xPeiLSjck(lgQmLi!k
oecp
l
Tipos de Array
i ,/GKF$'+%12GaW#+-7,/2+-$'G
A$;+-$'3?&/,/e1;G
,/+-7923?.243?1^GKR;3=3?T4,/+%T_3?3=^T;24#F .3?&/f73J$';c
7,/4+3=.0,/1H1$gF8,/.024GQ1$f^3=3?T%1$H&/2+-A4,/F8#1d3?,/;I&/$4Z i GKFGQW8#+-7,/24+-$;GQ24.0$'3=^+$;+3?3?TG
1$7#&/!#,/$;3UF,/.2%M24GCA43J$'G
$',/GKF$'+-F$Z
Ejemplos
i CG F8$E724(*^+-12*73?$;%$'&F8,/.2*1$E1^F82GHI42T*1$'GC.#'Gb#GC"$'&F8,/.2*$;+@#+-"1$']+-,/7,/4+1$
7&/GC$k
CREATE TYPE box (INTERNALLENGTH = 8,
INPUT = my_procedure_1, OUTPUT = my_procedure_2);
CREATE TABLE myboxes (id INT4, description box);
i GCF8$72(*+-12_793J$;g#+hF8,/.2E1$2I'BD$'F2%A43=^+-1$T_&/2%#GKg$'+h#+-H1$']+-,/7,/4+h1$g7&/GC$k
CREATE TYPE bigobj (INPUT = lo_filein, OUTPUT = lo_fileout,
INTERNALLENGTH = VARIABLE);
CREATE TABLE big_objs (id int4, obj bigobj);
Notas
2Ga+-2(*I43J$'Ga1$F8,/.024Ga+-2E.#$;1$'+"$'(*.$;e'3U.23U$;& 793?7F$'3A#,/+hI4CB2_58<T_GK&/2%.#$;c
1$'+"F$'+-$'3)#+-H&/2+-A,/F#11$gg73?7F8$;3[$'GZ i GCF82_$'Ga1$'I4,/12Vf!#$gM2GKFA3J$;Gw73J$'gGC,/+j,/+-W8243Jc
l^l