<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # F.20\. lo `lo`模塊為管理大對象(也叫做LO或BLOB)提供支持。 包括數據類型`lo`和觸發器`lo_manage`。 ## F.20.1\. 原理 JDBC驅動的問題之一(也影響ODBC驅動),是規范假設BLOB(二進制大對象)的參數是存儲在一個表內的, 并且如果該項改變了,那么相關的BLOB會從數據庫中刪除。 作為PostgreSQL標準,這個不會發生。大對象被視為對象; 一個表項可以通過OID引用一個大對象,不過可能多個表項引用同一個大對象OID, 所以系統不會因為你改變或刪除一個表項就刪除大對象。 這對PostgreSQL專有應用來說很好,但是使用JDBC或ODBC的標準代碼不會刪除大對象, 導致孤獨的對象—對象不被任何東西引用,只是簡單的占用磁盤空間。 `lo`模塊允許通過在包含LO引用字段的表上附加一個觸發器修復這個問題。 該觸發器本質上只是在你刪除或修改一個引用大對象的值時做`lo_unlink`。 當使用這個觸發器時,假設只有一個數據庫引用被觸發器控制字段引用的任意的大對象。 該模塊也支持數據類型`lo`,該類型實際上只是一個`oid`類型的域。 這對于區別持有大對象引用的數據庫字段和那些其他事情的OID有幫助。 你不必使用`lo`類型來使用該觸發器, 但是使用它會很方便的記錄你的數據庫中的哪個字段代表管理該觸發器的大對象, 如果你不為BLOB字段使用`lo`,據說ODBC驅動器也會感到迷惑。 ## F.20.2\. 怎樣使用 這是一個使用的簡單的例子: ``` CREATE TABLE image (title TEXT, raster lo); CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image FOR EACH ROW EXECUTE PROCEDURE lo_manage(raster); ``` 對于每個將要包含大對象的唯一引用的字段,創建一個`BEFORE UPDATE OR DELETE` 觸發器,并將字段名作為觸發器唯一的參數。你也可以通過使用`BEFORE UPDATE OF` `_column_name_` 限制觸發器只在該字段更新時執行。如果你在相同的表中需要多個`lo`字段, 那么為每個字段創建一個單獨的觸發器,記得給相同表上的每個觸發器以不同的名字。 ## F.20.3\. 限制 * 刪除一個表仍然將孤立它包含的任意對象,因為觸發器沒有執行。你可以通過在`DROP TABLE`之前`DELETE FROM` `_table_`來避免這個問題。 `TRUNCATE`有同樣的危險。 如果你已經有或者懷疑你有孤立的大對象,參閱[vacuumlo](#calibre_link-631) 模塊幫助你清除它們。偶爾運行[vacuumlo](#calibre_link-631) 作為`lo_manage`觸發器的后備是一個好主意。 * 一些前端可能創建他們自己的表,并且不創建相關的觸發器。還有,用戶可能不記得(或知道) 創建觸發器。 ## F.20.4\. 作者 Peter Mount `&lt;[peter@retep.org.uk](mailto:peter@retep.org.uk)&gt;`
                  <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>

                              哎呀哎呀视频在线观看