a を定義しvarchar(25)
、文字列が 25 文字未満 (たとえば 12 文字) の場合、SQL は char のベクトルを長さ 12 として表示し、(文字とは異なり) 末尾のスペースは追加されません。
私の質問は次のとおりです。SQL がフィールドに挿入された (または最大長よりも長い場合は切り捨てられた) 文字列のみを表示するという事実の背後にあるのは、Postgresql がそのようなデータ型をどのように格納しているのかということです。
次のように余分なバイトをパディングしていますか?
12charxx...................... (長さ: 25)
それとも12バイトを保存するだけですか?
これは内部的にもっと複雑になる可能性があると思います。maximum-length
オプションの引数が大きな文字列の格納を禁止するための安全なのか、それとも単にパフォーマンスの問題なのか (すべてのサブシーケンスに格納された文字列が 25 文字以下であると予想されるかどうかに関して)を知る必要があります。