> > I'm writing a very robust validation script in perl for database entry. One > of the things I'd like to do is check how large a field is, and make sure > that the entry into that field isn't too big. Problem is, for variable length > fields, DBD::Pg returns a -1 size, using the pg_size attribute. > > Is there something I am missing? Is there a way to get the size of variable > length types using DBI/DBD::Pg, in particular, char() and varchar()? > Try this SQL (replace the 'table_name' and 'attribute_name'). This should give you the length of your varchar(). SELECT a.atttypmod-4 as length FROM pg_class c, pg_attribute a, pg_type t WHERE c.relname = 'table_name' AND a.attname = 'attribute_name' AND a.attnum > 0 AND a.attrelid = c.oid AND a.atttypid = t.oid; LM.Liu
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера