postgres でサーバー側からページネーションを実装しようとしているときに、 limit および offset キーワードを使用しているときに、おそらく主キーである一意の列に ORDER BY 句を指定する必要があることに気付きました。
私の場合、Pkey に UUID 生成を使用しているため、キーが増加する順番に依存することはできません。ORDER BY pkey DESC - 新しい行が常に最上位になるとは限りません。だから私は Created Date 列 - 一意でなければならないタイムスタンプ列を使用することに頼りました。
しかし、私の質問は、UI クライアントが他の列で並べ替えたい場合はどうすればよいでしょうか? 常に一意の列であるとは限らない場合は、postgres ページネーションの予測可能な結果を維持するために、ORDER BY user_column, created_dt DESC に頼ります。
これは正しいアプローチですか?私は正しい道を進んでいるかどうかわかりません。お知らせ下さい。