[pgsql-jp: 37110] Re: oid が存在しない と表示される

TANIDA Yutaka tanida @ sraoss.co.jp
2006年 5月 29日 (月) 15:22:12 JST


谷田です。

On Mon, 29 May 2006 14:56:52 +0900
Atsushi NISHIMURA <a2c @ lets-heart.co.jp> wrote:

> PostgreSQL 8.1.4 を使ってテーブルを作っています。
> ODBC(psqlodbc.dll Ver.7.1.0.6) で MS-ACCESS に
> テーブルをリンクさせてますが、開こうとすると、
> 
> ODBC--呼び出しが失敗しました。
> Erro while executing the query;
> ERROR: column test_hoge.oid dose not exist(#7)
> 
> と表示されます。
> without oid もしてないし、

8.1では標準がOIDなし(default_with_oids=false)ですから、OIDを使う場合は
with oids指定をしなければいけません。

http://www.postgresql.jp/document/pg813doc/html/release-8-1.html
> default_with_oidsのデフォルトがfalseになりました(Neil)
> 
> このオプションをfalseに設定した場合、CREATE TABLEでWITH OIDSを
> 指定しない限り、ユーザが作成したテーブルはOID列を持たなくなります。すべ
> てのPostgreSQLリリースでOIDは存在していましたが、4バイト長しかなく、イン
> ストールされたデータベース全体で共有アクセスされていることから、OIDの利
> 用は制限されてきました。一意に行を識別するには、シーケンスまたはSERIAL
> 型を使用することを勧めます。これはPostgreSQL 6.4からサポートされていま
> す。 

それよりも最新のドライバを使うことをお勧めします。

-- 
TANIDA Yutaka <tanida at sraoss.co.jp>





pgsql-jp メーリングリストの案内