OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / doc / postgresql / html / catalog-pg-proc.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >pg_proc</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
9 REV="MADE"
10 HREF="mailto:pgsql-docs@postgresql.org"><LINK
11 REL="HOME"
12 TITLE="PostgreSQL 7.4.1 Documentation"
13 HREF="index.html"><LINK
14 REL="UP"
15 TITLE="System Catalogs"
16 HREF="catalogs.html"><LINK
17 REL="PREVIOUS"
18 TITLE="pg_operator"
19 HREF="catalog-pg-operator.html"><LINK
20 REL="NEXT"
21 TITLE="pg_rewrite"
22 HREF="catalog-pg-rewrite.html"><LINK
23 REL="STYLESHEET"
24 TYPE="text/css"
25 HREF="stylesheet.css"><META
26 NAME="creation"
27 CONTENT="2003-12-22T03:48:47"></HEAD
28 ><BODY
29 CLASS="SECT1"
30 ><DIV
31 CLASS="NAVHEADER"
32 ><TABLE
33 SUMMARY="Header navigation table"
34 WIDTH="100%"
35 BORDER="0"
36 CELLPADDING="0"
37 CELLSPACING="0"
38 ><TR
39 ><TH
40 COLSPAN="5"
41 ALIGN="center"
42 VALIGN="bottom"
43 >PostgreSQL 7.4.1 Documentation</TH
44 ></TR
45 ><TR
46 ><TD
47 WIDTH="10%"
48 ALIGN="left"
49 VALIGN="top"
50 ><A
51 HREF="catalog-pg-operator.html"
52 ACCESSKEY="P"
53 >Prev</A
54 ></TD
55 ><TD
56 WIDTH="10%"
57 ALIGN="left"
58 VALIGN="top"
59 ><A
60 HREF="catalogs.html"
61 >Fast Backward</A
62 ></TD
63 ><TD
64 WIDTH="60%"
65 ALIGN="center"
66 VALIGN="bottom"
67 >Chapter 43. System Catalogs</TD
68 ><TD
69 WIDTH="10%"
70 ALIGN="right"
71 VALIGN="top"
72 ><A
73 HREF="catalogs.html"
74 >Fast Forward</A
75 ></TD
76 ><TD
77 WIDTH="10%"
78 ALIGN="right"
79 VALIGN="top"
80 ><A
81 HREF="catalog-pg-rewrite.html"
82 ACCESSKEY="N"
83 >Next</A
84 ></TD
85 ></TR
86 ></TABLE
87 ><HR
88 ALIGN="LEFT"
89 WIDTH="100%"></DIV
90 ><DIV
91 CLASS="SECT1"
92 ><H1
93 CLASS="SECT1"
94 ><A
95 NAME="CATALOG-PG-PROC"
96 >43.24. <TT
97 CLASS="STRUCTNAME"
98 >pg_proc</TT
99 ></A
100 ></H1
101 ><A
102 NAME="AEN50953"
103 ></A
104 ><P
105 >   The catalog <TT
106 CLASS="STRUCTNAME"
107 >pg_proc</TT
108 > stores information about functions (or procedures).
109    The description of <TT
110 CLASS="COMMAND"
111 >CREATE FUNCTION</TT
112 > and
113    <A
114 HREF="xfunc.html"
115 >Section 33.3</A
116 > contain more information about the meaning of
117    some columns.
118   </P
119 ><P
120 >   The table contains data for aggregate functions as well as plain functions.
121    If <TT
122 CLASS="STRUCTFIELD"
123 >proisagg</TT
124 > is true, there should be a matching
125    row in <TT
126 CLASS="STRUCTFIELD"
127 >pg_aggregate</TT
128 >.
129   </P
130 ><DIV
131 CLASS="TABLE"
132 ><A
133 NAME="AEN50962"
134 ></A
135 ><P
136 ><B
137 >Table 43-24. <TT
138 CLASS="STRUCTNAME"
139 >pg_proc</TT
140 > Columns</B
141 ></P
142 ><TABLE
143 BORDER="1"
144 CLASS="CALSTABLE"
145 ><COL><COL><COL><COL><THEAD
146 ><TR
147 ><TH
148 >Name</TH
149 ><TH
150 >Type</TH
151 ><TH
152 >References</TH
153 ><TH
154 >Description</TH
155 ></TR
156 ></THEAD
157 ><TBODY
158 ><TR
159 ><TD
160 ><TT
161 CLASS="STRUCTFIELD"
162 >proname</TT
163 ></TD
164 ><TD
165 ><TT
166 CLASS="TYPE"
167 >name</TT
168 ></TD
169 ><TD
170 >&nbsp;</TD
171 ><TD
172 >Name of the function</TD
173 ></TR
174 ><TR
175 ><TD
176 ><TT
177 CLASS="STRUCTFIELD"
178 >pronamespace</TT
179 ></TD
180 ><TD
181 ><TT
182 CLASS="TYPE"
183 >oid</TT
184 ></TD
185 ><TD
186 ><TT
187 CLASS="LITERAL"
188 ><A
189 HREF="catalog-pg-namespace.html"
190 ><TT
191 CLASS="STRUCTNAME"
192 >pg_namespace</TT
193 ></A
194 >.oid</TT
195 ></TD
196 ><TD
197 >       The OID of the namespace that contains this function
198       </TD
199 ></TR
200 ><TR
201 ><TD
202 ><TT
203 CLASS="STRUCTFIELD"
204 >proowner</TT
205 ></TD
206 ><TD
207 ><TT
208 CLASS="TYPE"
209 >int4</TT
210 ></TD
211 ><TD
212 ><TT
213 CLASS="LITERAL"
214 ><A
215 HREF="catalog-pg-shadow.html"
216 ><TT
217 CLASS="STRUCTNAME"
218 >pg_shadow</TT
219 ></A
220 >.usesysid</TT
221 ></TD
222 ><TD
223 >Owner of the function</TD
224 ></TR
225 ><TR
226 ><TD
227 ><TT
228 CLASS="STRUCTFIELD"
229 >prolang</TT
230 ></TD
231 ><TD
232 ><TT
233 CLASS="TYPE"
234 >oid</TT
235 ></TD
236 ><TD
237 ><TT
238 CLASS="LITERAL"
239 ><A
240 HREF="catalog-pg-language.html"
241 ><TT
242 CLASS="STRUCTNAME"
243 >pg_langauge</TT
244 ></A
245 >.oid</TT
246 ></TD
247 ><TD
248 >Implementation language or call interface of this function</TD
249 ></TR
250 ><TR
251 ><TD
252 ><TT
253 CLASS="STRUCTFIELD"
254 >proisagg</TT
255 ></TD
256 ><TD
257 ><TT
258 CLASS="TYPE"
259 >bool</TT
260 ></TD
261 ><TD
262 >&nbsp;</TD
263 ><TD
264 >Function is an aggregate function</TD
265 ></TR
266 ><TR
267 ><TD
268 ><TT
269 CLASS="STRUCTFIELD"
270 >prosecdef</TT
271 ></TD
272 ><TD
273 ><TT
274 CLASS="TYPE"
275 >bool</TT
276 ></TD
277 ><TD
278 >&nbsp;</TD
279 ><TD
280 >Function is a security definer (i.e., a <SPAN
281 CLASS="QUOTE"
282 >"setuid"</SPAN
283 >
284       function)</TD
285 ></TR
286 ><TR
287 ><TD
288 ><TT
289 CLASS="STRUCTFIELD"
290 >proisstrict</TT
291 ></TD
292 ><TD
293 ><TT
294 CLASS="TYPE"
295 >bool</TT
296 ></TD
297 ><TD
298 >&nbsp;</TD
299 ><TD
300 >       Function returns null if any call argument is null.  In that
301        case the function won't actually be called at all.  Functions
302        that are not <SPAN
303 CLASS="QUOTE"
304 >"strict"</SPAN
305 > must be prepared to handle
306        null inputs.
307       </TD
308 ></TR
309 ><TR
310 ><TD
311 ><TT
312 CLASS="STRUCTFIELD"
313 >proretset</TT
314 ></TD
315 ><TD
316 ><TT
317 CLASS="TYPE"
318 >bool</TT
319 ></TD
320 ><TD
321 >&nbsp;</TD
322 ><TD
323 >Function returns a set (i.e., multiple values of the specified
324       data type)</TD
325 ></TR
326 ><TR
327 ><TD
328 ><TT
329 CLASS="STRUCTFIELD"
330 >provolatile</TT
331 ></TD
332 ><TD
333 ><TT
334 CLASS="TYPE"
335 >char</TT
336 ></TD
337 ><TD
338 >&nbsp;</TD
339 ><TD
340 >       <TT
341 CLASS="STRUCTFIELD"
342 >provolatile</TT
343 > tells whether the function's
344        result depends only on its input arguments, or is affected by outside
345        factors.
346        It is <TT
347 CLASS="LITERAL"
348 >i</TT
349 > for <SPAN
350 CLASS="QUOTE"
351 >"immutable"</SPAN
352 > functions,
353        which always deliver the same result for the same inputs.
354        It is <TT
355 CLASS="LITERAL"
356 >s</TT
357 > for <SPAN
358 CLASS="QUOTE"
359 >"stable"</SPAN
360 > functions,
361        whose results (for fixed inputs) do not change within a scan.
362        It is <TT
363 CLASS="LITERAL"
364 >v</TT
365 > for <SPAN
366 CLASS="QUOTE"
367 >"volatile"</SPAN
368 > functions,
369        whose results may change at any time.  (Use <TT
370 CLASS="LITERAL"
371 >v</TT
372 > also
373        for functions with side-effects, so that calls to them cannot get
374        optimized away.)
375       </TD
376 ></TR
377 ><TR
378 ><TD
379 ><TT
380 CLASS="STRUCTFIELD"
381 >pronargs</TT
382 ></TD
383 ><TD
384 ><TT
385 CLASS="TYPE"
386 >int2</TT
387 ></TD
388 ><TD
389 >&nbsp;</TD
390 ><TD
391 >Number of arguments</TD
392 ></TR
393 ><TR
394 ><TD
395 ><TT
396 CLASS="STRUCTFIELD"
397 >prorettype</TT
398 ></TD
399 ><TD
400 ><TT
401 CLASS="TYPE"
402 >oid</TT
403 ></TD
404 ><TD
405 ><TT
406 CLASS="LITERAL"
407 ><A
408 HREF="catalog-pg-type.html"
409 ><TT
410 CLASS="STRUCTNAME"
411 >pg_type</TT
412 ></A
413 >.oid</TT
414 ></TD
415 ><TD
416 >Data type of the return value</TD
417 ></TR
418 ><TR
419 ><TD
420 ><TT
421 CLASS="STRUCTFIELD"
422 >proargtypes</TT
423 ></TD
424 ><TD
425 ><TT
426 CLASS="TYPE"
427 >oidvector</TT
428 ></TD
429 ><TD
430 ><TT
431 CLASS="LITERAL"
432 ><A
433 HREF="catalog-pg-type.html"
434 ><TT
435 CLASS="STRUCTNAME"
436 >pg_type</TT
437 ></A
438 >.oid</TT
439 ></TD
440 ><TD
441 >An array with the data types of the function arguments</TD
442 ></TR
443 ><TR
444 ><TD
445 ><TT
446 CLASS="STRUCTFIELD"
447 >prosrc</TT
448 ></TD
449 ><TD
450 ><TT
451 CLASS="TYPE"
452 >text</TT
453 ></TD
454 ><TD
455 >&nbsp;</TD
456 ><TD
457 >       This tells the function handler how to invoke the function.  It
458        might be the actual source code of the function for interpreted
459        languages, a link symbol, a file name, or just about anything
460        else, depending on the implementation language/call convention.
461       </TD
462 ></TR
463 ><TR
464 ><TD
465 ><TT
466 CLASS="STRUCTFIELD"
467 >probin</TT
468 ></TD
469 ><TD
470 ><TT
471 CLASS="TYPE"
472 >bytea</TT
473 ></TD
474 ><TD
475 >&nbsp;</TD
476 ><TD
477 >Additional information about how to invoke the function.
478       Again, the interpretation is language-specific.
479       </TD
480 ></TR
481 ><TR
482 ><TD
483 ><TT
484 CLASS="STRUCTFIELD"
485 >proacl</TT
486 ></TD
487 ><TD
488 ><TT
489 CLASS="TYPE"
490 >aclitem[]</TT
491 ></TD
492 ><TD
493 >&nbsp;</TD
494 ><TD
495 >Access privileges</TD
496 ></TR
497 ></TBODY
498 ></TABLE
499 ></DIV
500 ><P
501 >   <TT
502 CLASS="STRUCTFIELD"
503 >prosrc</TT
504 > contains the function's C-language
505    name (link symbol) for compiled functions, both built-in and
506    dynamically loaded.  For all other language types,
507    <TT
508 CLASS="STRUCTFIELD"
509 >prosrc</TT
510 > contains the function's source
511    text.  <TT
512 CLASS="STRUCTFIELD"
513 >probin</TT
514 > is unused except for
515    dynamically-loaded C functions, for which it gives the name of the
516    shared library file containing the function.
517   </P
518 ></DIV
519 ><DIV
520 CLASS="NAVFOOTER"
521 ><HR
522 ALIGN="LEFT"
523 WIDTH="100%"><TABLE
524 SUMMARY="Footer navigation table"
525 WIDTH="100%"
526 BORDER="0"
527 CELLPADDING="0"
528 CELLSPACING="0"
529 ><TR
530 ><TD
531 WIDTH="33%"
532 ALIGN="left"
533 VALIGN="top"
534 ><A
535 HREF="catalog-pg-operator.html"
536 ACCESSKEY="P"
537 >Prev</A
538 ></TD
539 ><TD
540 WIDTH="34%"
541 ALIGN="center"
542 VALIGN="top"
543 ><A
544 HREF="index.html"
545 ACCESSKEY="H"
546 >Home</A
547 ></TD
548 ><TD
549 WIDTH="33%"
550 ALIGN="right"
551 VALIGN="top"
552 ><A
553 HREF="catalog-pg-rewrite.html"
554 ACCESSKEY="N"
555 >Next</A
556 ></TD
557 ></TR
558 ><TR
559 ><TD
560 WIDTH="33%"
561 ALIGN="left"
562 VALIGN="top"
563 ><TT
564 CLASS="STRUCTNAME"
565 >pg_operator</TT
566 ></TD
567 ><TD
568 WIDTH="34%"
569 ALIGN="center"
570 VALIGN="top"
571 ><A
572 HREF="catalogs.html"
573 ACCESSKEY="U"
574 >Up</A
575 ></TD
576 ><TD
577 WIDTH="33%"
578 ALIGN="right"
579 VALIGN="top"
580 ><TT
581 CLASS="STRUCTNAME"
582 >pg_rewrite</TT
583 ></TD
584 ></TR
585 ></TABLE
586 ></DIV
587 ></BODY
588 ></HTML
589 >