PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgresql में कॉलम प्रकार के आकार की गणना करना

पीजी में केवल कुछ प्रकारों की लंबाई तय होती है - लगभग सभी प्रकार वर्लेना प्रकार के होते हैं - इसकी गतिशील लंबाई होती है। आप

. जैसे प्रश्नों की जांच कर सकते हैं
 postgres=# select typlen from pg_type where oid = 'int'::regtype::oid;
  typlen 
 --------
       4
 (1 row)


 postgres=# select attlen from pg_attribute where attrelid = 'x'::regclass and attname = 'a';
  attlen 
 --------
       4
 (1 row)

जब परिणाम -1 नहीं होता है, तो टाइप की लंबाई निश्चित नहीं होती है

varlena प्रकारों के लिए pg_column_size फ़ंक्शन का उपयोग करें:

postgres=# \df *size*
                                   List of functions
   Schema   |          Name          | Result data type | Argument data types |  Type  
------------+------------------------+------------------+---------------------+--------
 pg_catalog | pg_column_size         | integer          | "any"               | normal
 pg_catalog | pg_database_size       | bigint           | name                | normal
 pg_catalog | pg_database_size       | bigint           | oid                 | normal
 pg_catalog | pg_indexes_size        | bigint           | regclass            | normal
 pg_catalog | pg_relation_size       | bigint           | regclass            | normal
 pg_catalog | pg_relation_size       | bigint           | regclass, text      | normal
 pg_catalog | pg_size_pretty         | text             | bigint              | normal
 pg_catalog | pg_size_pretty         | text             | numeric             | normal
 pg_catalog | pg_table_size          | bigint           | regclass            | normal
 pg_catalog | pg_tablespace_size     | bigint           | name                | normal
 pg_catalog | pg_tablespace_size     | bigint           | oid                 | normal
 pg_catalog | pg_total_relation_size | bigint           | regclass            | normal
(12 rows)



 postgres=# select pg_column_size('Hello');
  pg_column_size 
 ----------------
          6
 (1 row)

 postgres=# select pg_column_size(10);
  pg_column_size 
 ----------------
               4
 (1 row)

 postgres=# select pg_column_size(now());
  pg_column_size 
 ----------------
               8



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Windows10 पर PostGis में OSM फ़ाइल आयात करें

  2. cmd . पर pgsl बैकअप को पुनर्स्थापित करने के लिए psql त्रुटि

  3. Java.sql.Timestamp के साथ Joda-Time का उपयोग कैसे करें?

  4. फ़ंक्शन मौजूद नहीं है, लेकिन मुझे सच में लगता है कि यह करता है

  5. अपाचे स्पार्क के साथ प्राथमिक कुंजी