Sqidsは、数値から短い一意の識別子を生成できるオープンソースのライブラリです。これらのIDはURLセーフであり、複数の数値をエンコードでき、一般的な卑語を含んでいません。 もっと読む .
こう見えます:
クイックエンコード&デコードの例:
select sqids.encode(array[1, 2, 3], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 0); -- 86Rf07
select sqids.decode('86Rf07', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'); -- {1,2,3}
IDが短すぎる場合は、特定の長さまでパディングすることができます:
select sqids.encode(array[1, 2, 3], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 10); -- 86Rf07xd4z
select sqids.decode('86Rf07xd4z', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'); -- {1,2,3}
アルファベットをシャッフルしてユニークなIDを作成する:
select sqids.encode(array[1, 2, 3], 'k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt', 0); -- XRKUdQ
select sqids.decode('XRKUdQ', 'k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt'); -- {1,2,3}
完全なドキュメントはこちら https://github.com/sqids/sqids-plpgsql
元のHashids PLpgSQLをお探しの場合は、こちらで見つけることができます: https://github.com/array-analytics/plpg_hashids
Sqidsの主な用途は純粋に視覚的です。プロジェクトで数字の代わりにIDを使用したい場合、Sqidsは良い選択肢になるかもしれません。