Re: Selecting all but a few fields in a query

From: brian <brian(at)zijn-digital(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Selecting all but a few fields in a query
Date: 2007-11-06 16:26:51
Message-ID: 473095CB.1020201@zijn-digital.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

thefronny(at)gmail(dot)com wrote:
> I have a table with a lot of fields, some of which are type TEXT. I
> seem to have a lot of occasions where I'd like to see almost all of
> the fields in a query but a SELECT * will pull in the text fields,
> which then wrap across the screen, even using \x. Is there a variation
> of SELECT that is something like 'select all fields except these here
> WHERE...'? This would save me a lot of typing. I checked the docs but
> missed it if it's in there.
>

You could create a new type with the columns you'd like to see:

CREATE TYPE my_type AS
(
this TIMESTAMP NOT NULL
that INT4 NOT NULL,
other VARCHAR(128),
);

CREATE FUNCTION my_function()
RETURNS SETOF my_type IMMUTABLE
AS $_$
DECLARE
the_type my_type%rowtype;
BEGIN
FOR the_type IN
EXECUTE 'SELECT t.this, t.that, t.other FROM my_table WHERE ...'
LOOP
RETURN NEXT the_type;
END LOOP;
RETURN;
END;
$_$ LANGUAGE plpgsql

brian

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Bill Moran 2007-11-06 16:59:27 Re: Postgresql simple query performance question
Previous Message Tom Lane 2007-11-06 16:18:39 Re: ORDER BY a string