Re: [INTERFACES] Getting max. value size (libpq++)
От | Philippe Chaintreuil |
---|---|
Тема | Re: [INTERFACES] Getting max. value size (libpq++) |
Дата | |
Msg-id | Pine.LNX.3.96.990702032049.27906A-100000@pravda.thefront.com обсуждение исходный текст |
Ответ на | Re: [INTERFACES] Getting max. value size (libpq++) (Peter T Mount <peter@retep.org.uk>) |
Список | pgsql-interfaces |
On Thu, 1 Jul 1999, Peter T Mount wrote: > > Okay, maybe I'm just not finding it in the documentation, but is > > there a way to find out the max size of a field? Specifically VARCHAR > > fields. For instance if I have a table created with the SQL code: > > > > CREATE TABLE temp_table > > ( name VARCHAR(30), > > id VARCHAR(10), > > address VARCHAR(60)); > > > > Now the program I'm writing will add whatever the user wants to > > this table, of what ever size. I'm trying to avoid locking the size of > > the HTML input fields. So is there anyway to get those numbers back from > > Postgres? Right now they're hard-coded in, which really sucks. Thanks. > You need to query the system tables to do this. > Something like (I've not tested this, just lifting bits from the jdbc > source): > > select a.attname,a.attlen from pg_attribute a,pg_class c > where c.relname like 'temp_table' > and a.attrelid=c.oid > and a.attnum>0 > order by a.attnum; Thanks for the idea, but it it isn't able to tell me what the max. size of varchars are. It returns -1 for them. I think this must be the method that the libpq++ (PgDatabase).FieldSize(int), as it returns those same numbers. I'm pretty sure there's a way to do what I want, as the command pg_dumpall (from a shell), some how has the numbers that I want. -- Philippe Chaintreuil peep@thefront.com
В списке pgsql-interfaces по дате отправления: