sql >> データベース >  >> RDS >> PostgreSQL

SQL、Postgres OID、それらは何であり、なぜそれらは有用ですか?

    OIDは基本的に、(ユーザースペース列ではなく)システム列に含まれるすべての行の組み込みIDを提供します。これは、主キーがない、行が重複しているなどのテーブルに便利です。たとえば、2つの同じ行を持つテーブルがあり、2つのうち最も古いものを削除する場合は、 oid列。

    OIDは、4バイトの符号なし整数を使用して実装されます。彼らはそうではありません 一意–OIDカウンターは2³²-1でラップアラウンドします。 OIDは、データ型の識別にも使用されます(/usr/include/postgresql/server/catalog/pg_type_d.hを参照) 。

    私の経験では、この機能はほとんどのpostgres-backedアプリケーションでは一般的に使用されておらず(おそらく一部は非標準であるため)、それらの使用は基本的に非推奨です:

    PostgreSQL 8.1では、default_with_oidsはデフォルトでオフになっています。以前のバージョンのPostgreSQLでは、デフォルトでオンでした。

    ユーザーテーブルでのOIDの使用は非推奨と見なされるため、ほとんどのインストールではこの変数を無効のままにしておく必要があります。特定のテーブルのOIDを必要とするアプリケーションは、テーブルの作成時にWITHOIDSを指定する必要があります。この変数は、この動作に従わない古いアプリケーションとの互換性のために有効にすることができます。



    1. postgresウィンドウ関数を使用して会計ソフトウェアの残高を計算する方法

    2. Excel VBAスクリプトからOracleストアドプロシージャを呼び出すにはどうすればよいですか?

    3. MySQLでCASEステートメントを使用する方法

    4. 古い統計を確認する方法