Thread: list all members in a tablespace

list all members in a tablespace

From
Michael Andrew Babb
Date:
Hi All,

I'm doing a little housekeeping on my tablespaces and I'm curious if there is a quick and easy way to list all of the
objectsin a tablespace. Is there a command to list all objects in a tablespace? 

Thanks,

Mike

Re: list all members in a tablespace

From
Raghavendra
Date:
Hi Mike,

I tried this, which will get the list of tables belong to 'XYZ' tablespace.

select relname from pg_class where reltablespace=(select oid from pg_tablespace where spcname='xyz');

Hope this helps

Best Regards,
Raghavendra
EnterpriseDB Corporation
The Enterprise Postgres Company

On Thu, Mar 10, 2011 at 6:05 AM, Michael Andrew Babb <babbm@uw.edu> wrote:
Hi All,

I'm doing a little housekeeping on my tablespaces and I'm curious if there is a quick and easy way to list all of the objects in a tablespace. Is there a command to list all objects in a tablespace?

Thanks,

Mike

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

9.1 Trigger question

From
Michael Black
Date:
The following from 9.1 documentation on triggers ----

"SQL allows you to define aliases for the "old" and "new" rows or tables for use in the definition of the triggered action (e.g., CREATE TRIGGER ... ON tablename REFERENCING OLD ROW AS somename NEW ROW AS othername ...). Since PostgreSQL allows trigger procedures to be written in any number of user-defined languages, access to the data is handled in a language-specific way. "

This seems to imply that triggers actually have to reference a function rather than containing the actual code for the trigger to perform.  For example the only valid format of a trigger is to
CREATE TRIGGER view_insert
--- other parameters here ---
EXECUTE PROCEDURE view_insert_row();

Instead of the normal way

CREATE TRIGGER view_insert
--- other parameters here ---
AS
--- sql functions, conditions and statements ---
;

Is my understand in of this correct? If so, how does the other language know the old record from the new?

Re: 9.1 Trigger question

From
Merlin Moncure
Date:
On Wed, Mar 9, 2011 at 8:24 PM, Michael Black
<michaelblack75052@hotmail.com> wrote:
> The following from 9.1 documentation on triggers ----
>
> "SQL allows you to define aliases for the "old" and "new" rows or tables for
> use in the definition of the triggered action (e.g., CREATE TRIGGER ... ON
> tablename REFERENCING OLD ROW AS somename NEW ROW AS othername ...). Since
> PostgreSQL allows trigger procedures to be written in any number of
> user-defined languages, access to the data is handled in a language-specific
> way. "
>
> This seems to imply that triggers actually have to reference a function
> rather than containing the actual code for the trigger to perform.  For
> example the only valid format of a trigger is to
>
> CREATE TRIGGER view_insert
>     --- other parameters here ---
>    EXECUTE PROCEDURE view_insert_row();
>
> Instead of the normal way
>
> CREATE TRIGGER view_insert
>     --- other parameters here ---
>    AS
>     --- sql functions, conditions and statements ---
> ;
>
> Is my understand in of this correct?  If so, how does the other language
> know the old record from the new?

This is correct. In PostgreSQL, the trigger function is always
separate from the trigger definition. Procedures written in various
languages in PostgreSQL have to wrap an internal API that provides
access to various features, querying, etc.  Take a look for example
how it is exposeed in python:
http://www.postgresql.org/docs/9.0/interactive/plpython-trigger.html
-- if you wanted to see how that was done you could look at the code
for the python language handler.

merlin

Re: 9.1 Trigger question

From
Michael Black
Date:
Thank you for the link Merlin.

> Date: Thu, 10 Mar 2011 08:22:13 -0600
> Subject: Re: [GENERAL] 9.1 Trigger question
> From: mmoncure@gmail.com
> To: michaelblack75052@hotmail.com
> CC: pgsql-general@postgresql.org
>
> On Wed, Mar 9, 2011 at 8:24 PM, Michael Black
> <michaelblack75052@hotmail.com> wrote:
> > The following from 9.1 documentation on triggers ----
> >
> > "SQL allows you to define aliases for the "old" and "new" rows or tables for
> > use in the definition of the triggered action (e.g., CREATE TRIGGER ... ON
> > tablename REFERENCING OLD ROW AS somename NEW ROW AS othername ...). Since
> > PostgreSQL allows trigger procedures to be written in any number of
> > user-defined languages, access to the data is handled in a language-specific
> > way. "
> >
> > This seems to imply that triggers actually have to reference a function
> > rather than containing the actual code for the trigger to perform.  For
> > example the only valid format of a trigger is to
> >
> > CREATE TRIGGER view_insert
> > --- other parameters here ---
> > EXECUTE PROCEDURE view_insert_row();
> >
> > Instead of the normal way
> >
> > CREATE TRIGGER view_insert
> > --- other parameters here ---
> > AS
> > --- sql functions, conditions and statements ---
> > ;
> >
> > Is my understand in of this correct? If so, how does the other language
> > know the old record from the new?
>
> This is correct. In PostgreSQL, the trigger function is always
> separate from the trigger definition. Procedures written in various
> languages in PostgreSQL have to wrap an internal API that provides
> access to various features, querying, etc. Take a look for example
> how it is exposeed in python:
> http://www.postgresql.org/docs/9.0/interactive/plpython-trigger.html
> -- if you wanted to see how that was done you could look at the code
> for the python language handler.
>
> merlin

Re: list all members in a tablespace

From
Michael Andrew Babb
Date:

Thanks Raghavendra. I tried the query and it seemed to be returning the indices and sequences in each tablespace. I’ll keep trying to get the list of tablespaces.

 

Thanks for your help!

 

Mike

 

From: Raghavendra [mailto:raghavendra.rao@enterprisedb.com]
Sent: Wednesday, March 09, 2011 5:15 PM
To: Michael Andrew Babb
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] list all members in a tablespace

 

Hi Mike,

 

I tried this, which will get the list of tables belong to 'XYZ' tablespace.

 

select relname from pg_class where reltablespace=(select oid from pg_tablespace where spcname='xyz');

 

Hope this helps

 

Best Regards,
Raghavendra
EnterpriseDB Corporation

The Enterprise Postgres Company

 

On Thu, Mar 10, 2011 at 6:05 AM, Michael Andrew Babb <babbm@uw.edu> wrote:

Hi All,

I'm doing a little housekeeping on my tablespaces and I'm curious if there is a quick and easy way to list all of the objects in a tablespace. Is there a command to list all objects in a tablespace?

Thanks,

Mike

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general