Sto cercando di ottenere le dimensioni della tabella anticipate facendo riferimento al tipo di colonna e alla lunghezza. Sto cercando di usare pg_column_size
per questo.Come può pg_column_size essere minore di octet_length?
Durante il test della funzione, ho realizzato che qualcosa sembra sbagliato in questa funzione.
Il valore del risultato da pg_column_size(...)
è talvolta inferiore al valore di ritorno da octet_length(...)
sulla stessa stringa.
Nella colonna non sono presenti caratteri numerici.
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)
È questo l'errore o qualcosa del genere? C'è qualcuno con la formula per calcolare le dimensioni della tabella anticipate da tipi di colonna e valori di lunghezza?
Grazie mille ... – KIM