<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 47.36\. `pg_proc` `pg_proc`表存儲關于函數(或過程)的信息。參閱[CREATE FUNCTION](#calibre_link-4) 和[Section 35.3](#calibre_link-737)獲取更多信息。 該表包含聚集函數和普通函數的數據。如果`proisagg`為真, 那么在`pg_aggregate`里應該有一個匹配行。 **Table 47-36\. `pg_proc` 字段** | 名字 | 類型 | 引用 | 描述 | | --- | --- | --- | --- | | `oid` | `oid` | 行標識符(隱藏屬性;必須明確選擇) | | `proname` | `name` | 函數名字 | | `pronamespace` | `oid` | `pg_namespace`.oid | 包含該函數名字空間的 OID | | `proowner` | `oid` | `pg_authid`.oid | 函數的所有者 | | `prolang` | `oid` | `pg_language`.oid | 這個函數的實現語言或調用接口 | | `procost` | `float4` | 估計執行成本(以[cpu_operator_cost](#calibre_link-735)為單位);如果`proretset`, 這是每一行返回的成本 | | `prorows` | `float4` | 估計的結果行數(如果非`proretset`則為零) | | `provariadic` | `oid` | `pg_type`.oid | 可變數組參數的元素的數據類型,如果函數沒有可變參數則為零 | | `protransform` | `regproc` | `pg_proc`.oid | 調用這個函數可以簡化其他函數(參閱[Section 35.9.11](#calibre_link-746)) | | `proisagg` | `bool` | 函數是聚集函數 | | `proiswindow` | `bool` | 函數是窗口函數 | | `prosecdef` | `bool` | 函數是一個安全定義器(也就是一個"setuid"函數) | | `proleakproof` | `bool` | 該函數沒有副作用。沒有關于該參數的信息傳遞,除非通過返回值。 任何函數都有可能拋出一個錯誤,取決于它的參數值是不加密的。 | | `proisstrict` | `bool` | 如果任何調用參數是空,那么函數返回空。這時函數實際上連調用都不調用。 不是"strict"的函數必須準備處理空輸入。 | | `proretset` | `bool` | 函數返回一個集合(也就是說,指定數據類型的多個數值) | | `provolatile` | `char` | 告訴該函數的結果是否只依賴于它的輸入參數,或者還會被外接因素影響。 對于"不可變的"(immutable)函數它是 `i`, 這樣的函數對于相同的輸入總是產生相同的結果。對于"穩定的"(stable) 函數它是`s`,(對于固定輸入)其結果在一次掃描里不變。 對于"易變"(volatile)函數它是`v`,其結果可能在任何時候變化。 `v`也用于那些有副作用的函數,因此調用它們無法得到優化。 | | `pronargs` | `int2` | 參數數目 | | `pronargdefaults` | `int2` | 有缺省值的參數的數量 | | `prorettype` | `oid` | `pg_type`.oid | 返回值的數據類型 | | `proargtypes` | `oidvector` | `pg_type`.oid | 一個存放函數參數的數據類型的數組。數組里只包括輸入參數(包括`INOUT`和 `VARIADIC`參數),因此代表該函數的調用簽名(接口)。 | | `proallargtypes` | `oid[]` | `pg_type`.oid | 一個包含函數參數的數據類型的數組。數組里包括所有參數的類型(包括`OUT` 和`INOUT`參數);不過,如果所有參數都是`IN`參數, 那么這個字段就會是空。請注意數組下標是以 1 為起點的,而因為歷史原因, `proargtypes`的下標起點為 0 。 | | `proargmodes` | `char[]` | 一個保存函數參數模式的數組,編碼如下:`i`表示`IN`參數, `o`表示`OUT`參數,`b`表示`INOUT`參數, `v`表示`VARIADIC`參數,`t`表示`TABLE`參數。 如果所有參數都是`IN`參數,那么這個字段為空。請注意, 下標對應的是`proallargtypes`的位置,而不是`proargtypes`。 | | `proargnames` | `text[]` | 一個保存函數參數的名字的數組。沒有名字的參數在數組里設置為空字符串。 如果沒有一個參數有名字,這個字段將是空。請注意,此數組的下標對應 `proallargtypes`而不是`proargtypes`。 | | `proargdefaults` | `pg_node_tree` | 缺省值的表達式樹(用`nodeToString()`表示)。 是和`pronargdefaults`參數一起列出的,對應最后`_N_`個_輸入_ 參數(也就是,最后`_N_`個`proargtypes`位置)。 如果沒有有缺省的參數,那么這個字段為null。 | | `prosrc` | `text` | 這個字段告訴函數處理器如何調用該函數。它實際上對于解釋語言來說就是函數的源程序, 或者一個鏈接符號,一個文件名,或者是任何其它的東西,具體取決于語言/調用習慣的實現。 | | `probin` | `text` | 關于如何調用該函數的附加信息。同樣,其含義也是和語言相關的。 | | `proconfig` | `text[]` | 函數的運行時配置變量的本地設置 | | `proacl` | `aclitem[]` | 訪問權限;參閱[GRANT](#calibre_link-19)和[REVOKE](#calibre_link-20)獲取細節。 | 對于內置和動態加載得編譯函數,`prosrc`包含函數的 C 語言名字(鏈接符號)。 對于所有其它當前已知的語言類型,`prosrc`包含該函數的源文本。 `probin`除了用于動態加載的 C 函數之外沒有其它用途, 這個時候它給出包含給函數的共享庫的文件名。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看