Ich bin auf der Suche nach der erwarteten Tabellengröße durch Verweis auf Spalte Typ und Länge Größe. Ich versuche pg_column_size
dafür zu verwenden.Wie kann pg_column_size kleiner als octet_length sein?
Beim Testen der Funktion wurde mir klar, dass bei dieser Funktion etwas nicht stimmt. Der Ergebniswert von pg_column_size(...)
ist manchmal sogar kleiner als der Rückgabewert von octet_length(...)
auf derselben Zeichenkette.
In der Spalte befinden sich nur numerische Zeichen.
postgres=# \d+ t5
Table "public.t5"
Column | Type | Modifiers | Storage | Stats target | Description
--------+-------------------+-----------+----------+--------------+-------------
c1 | character varying | | extended | |
Has OIDs: no
postgres=# select pg_column_size(c1), octet_length(c1) as octet from t5;
pg_column_size | octet
----------------+-------
2 | 1
704 | 700
101 | 7000
903 | 77000
(4 rows)
Ist das der Fehler oder so? Gibt es jemanden mit der Formel, um die voraussichtliche Tabellengröße aus den Spaltentypen und Längenwerten zu berechnen?
Vielen Dank ... – KIM