创建在单个表中按键分组的postgres序列

时间:2015-09-07 05:50:44

标签: database postgresql

我们说我在postgres中有一张表(伪代码更容易)

Message:
   id (UUID)
   conversation_id (UUID)
   message_seq_id ????
   content (Text)

我想要做的是让数据库为message_seq_id创建一个序列,但按conversation_id分组

我可以只使用一个与同一个表中特定其他列绑定的计数器,而不是为每个对话创建序列。

以便行看起来像:

消息:

Message(id='123456', conversation_id = '1', message_seq_id = 1, content 'helloworld')
Message(id='123457', conversation_id = '2', message_seq_id = 1, content 'helloworld')
Message(id='123458', conversation_id = '3', message_seq_id = 1, content 'helloworld')
..........
Message(id='123456', conversation_id = '1', message_seq_id = 2, content 'helloworld')

使得message_sequence_id在" conversation_id"上自动递增。只有基础。

我可以在代码中执行此操作,但如果postgres支持它而不必创建数千个单独的序列,则会很好。

0 个答案:

没有答案