2016-05-26 24 views
0

私はpostgresqlが内部レコード(ただし、クエリ経由でアクセス可能)のシーケンシャルレコードIDおよび/またはレコード作成日を保持するかどうかを判断しようとしています。Postgresqlの内部レコードID /作成日

これまで、私はシリアルIDフィールドとレコード作成日フィールドを作成しましたが、Postgresが既にそれを行うかどうかを確認するように求められました。私はそれが何の指示も見つけていないが、私は何かを見落としているかもしれない。

私は現在PostgreSQL 9.5を使用していますが、そのデータがどのバージョンにも保存されているかどうかを知ることに興味があります。

何か助けていただければ幸いです。

ありがとうございました。

答えて

1

いいえ、短い答えです。

PostgreSQLの行の自動タイムスタンプはありません。

デフォルトのタイムスタンプを使用してテーブルを作成できます。

create table foo (
foo_id serial not null unique 
, created_timestamp timestamp not null 
    default current_timestamp 
) without oids; 

ので

insert into foo values (1); 

はあなたにもmodified_timestamp列、後の更新トリガーを持つあなたは可能性が 更新を持つことができ

Results of default current_timestamp column

私たち

を与えます。

希望します。

+0

ありがとうございます。過去には、デフォルトでは、レコード作成日のタイムスタンプフィールドと、更新日のタイムスタンプフィールドと、ページングに使用されるシリアルIDフィールドが含まれていました。私たちは、PostgreSQLがすでにこれらのフィールドを持っているかどうかについて議論してきました。 – user2333312

+0

Thats fine @ user2333312正直言って、私はライブの高い取引サイトで上記を使用しました。それは正常に動作し、ほとんどのDbのための一種の "汎用"ソリューションです。ではごきげんよう – pnorton

関連する問題