On 7/15/19 11:35 AM, Alex Williams wrote:
> Hi,
>
> Server Version 9.5
>
> I found this old thread on something similar to the results I'm getting:
> https://www.postgresql.org/message-id/1308615192339-4508750.post%40n5.nabble.com
>
> But in my case, I have a database that's in a user-defined tablespace
> (data2) and all the tables/indexes there are also in data2 and I want to
> do a select into a table the results of all the tables / tablespaces
> they are in that database...when doing this:
>
>
> SELECT distinct tablespace
> FROM pg_tables;
>
> I get 2 rows: null and pg_global (I think to expect null for pg_default,
> but if the table is in a user-defined tablespace, should we expect it to
> show it, in my case, data2?)
Not if you did:
CREATE DATABASE name ... [ TABLESPACE [=] tablespace_name ]
ALTER DATABASE name SET TABLESPACE new_tablespace
This makes the tablespace the default for the database and the default
shows up as null in pg_tables:
https://www.postgresql.org/docs/9.5/view-pg-tables.html
tablespace name pg_tablespace.spcname Name of tablespace containing
table (null if default for database)
>
> or
>
> SELECT distinct tablespace
> FROM pg_indexes
>
> I get 3 rows: null, pg_global and pg_default
>
> and this: SELECT * FROM pg_tablespace;
>
> I get 3 rows: pg_default, pg_global and data2.
>
> Using pgadmin, getting properties for the DB / tables, it shows data2.
>
> What I want to do is move all the tables / indexes from data2 to
> pg_default (we added more space to the pg_default mount.)
>
> Now, I did a pg_dump/restore for one database which took a long time and
> we now know the process for that, so on the next database we have we
> want to do it where we use the following commands:
>
> ALTER DATABASE mydatabase SET TABLESPACE pg_default;
> alter table all in tablespace data2 set tablespace pg_default;
>
> But, what I'm trying to accomplish here is, aside from checking the
> filesystem, like df- h, to see it was moved or properties on each table
> (too many) I just want to run a query that will insert into a table all
> the tables and their tablespace names and when the above two commands
> (3rd will be moving indexes) run the query again and verify everything
> has moved from data2 to pg_default.
>
> Thanks for your help in advance.
>
> Alex
>
>
> Sent with ProtonMail <https://protonmail.com> Secure Email.
>
--
Adrian Klaver
adrian.klaver@aklaver.com