2012-04-19 96 views
0

是否可以使用ALTER語句將OID添加到表中?創建OID到Postgres表創建後

編輯:我要補充,我使用PG 8.3,並且比需要輸入你的問題,你可以去了手動8.3手動不會列出選項

http://www.postgresql.org/docs/8.3/static/sql-altertable.html

+0

你爲什麼認爲你需要它? OID已過時,不應使用。無論如何你不應該使用8.3。它很快就會退休。 – 2012-04-19 21:25:32

+0

OID已被棄用爲表格的(不可見)系統列。 OID的許多其他用途不受此影響。 – 2012-04-19 22:26:09

回答

1

在這種情況下,你必須在manual for PostgreSQL 8.3那裏你的答案:

注意,不存在ALTER TABLE變種,它允許的OID是 恢復到一個表,一旦他們已被刪除。

所以答案是沒有

SET WITH OIDS其後不久實施with version 8.4

但我想不出一個很好的理由去做這件事。用戶表中的OID,這是一個開始的概念。甩掉包袱。

1

在更短的時間,看着頁面的「ALTER TABLE」

http://www.postgresql.org/docs/9.1/static/sql-altertable.html

答案是肯定的,但是這是一個無聊的問題。

一個有趣的問題是爲什麼你認爲你想要他們?我90%確定你確實沒有。

+0

我確實去過那裏,出於某種原因,當我爲OID做「Ctrl + f」時,我只看到'沒有OID'選項。謝謝 – nulltorpedo 2012-04-19 21:18:48

+1

我想糾正自己。我正在使用Postgres 8.3,8.3手冊不顯示「With OID」選項http://www.postgresql.org/docs/8.3/static/sql-altertable.html – nulltorpedo 2012-04-19 21:20:59

4

這是在PostgreSQL 9.2:

ALTER TABLE "myTable" SET WITH OIDS; 

我希望這對你有用。

+0

爲我工作:) – kirti 2015-07-13 08:57:49