ALTER SCHEMA ... SET TABLESPACE

Lists: pgsql-it-generale
From: maurizio(dot)totti(at)gmail(dot)com
To: pgsql-it-generale(at)postgresql(dot)org
Subject: ALTER SCHEMA ... SET TABLESPACE
Date: 2008-11-18 12:45:25
Message-ID: a86f58d90811180445m2abfe2d0l88ef7c0f77932d82@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-it-generale

Ciao a tutti,
stavo cercando di creare uno schema "appoggiato" su di un apposito tablespace.
Un po' quello che proponevano in questo post.
http://archives.postgresql.org/pgsql-patches/2004-08/msg00312.php
Si sa che fine ha fatto questa proposta??
In un successivo messaggio sembrerebbe che Bruce Momjian se lo sia
"segnato" per la release 8.1 :-))))
Ciao.

--
Maurizio Totti
socio ITPUG http://www.itpug.org


From: rotellaro(at)gmail(dot)com
To: pgsql-it-generale(at)postgresql(dot)org
Subject: Re: ALTER SCHEMA ... SET TABLESPACE
Date: 2008-11-18 13:14:43
Message-ID: a3e8e2210811180514x50bb648et17bf22e1fb530973@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-it-generale

2008/11/18 <maurizio(dot)totti(at)gmail(dot)com>:
> Ciao a tutti,
> stavo cercando di creare uno schema "appoggiato" su di un apposito tablespace.
> Un po' quello che proponevano in questo post.
> http://archives.postgresql.org/pgsql-patches/2004-08/msg00312.php
> Si sa che fine ha fatto questa proposta??

Probabilmente si sono resi conto che non serviva a niente visto che
queste cose si fanno con dei banali concatenamenti di stringa.

Queste due query ti ritornano gli statemens per effettuare spostamenti
di tablespace di tabelle e indici presenti, ad esempio, nello schema
public.

select 'ALTER TABLE '||tablename||' SET TABLESPACE nuova_tablespace;'
FROM pg_tables WHERE schemaname='public';
select 'ALTER INDEX '||indexname||' SET TABLESPACE nuova_tablespace;'
FROM pg_indexes WHERE schemaname='public';

--
Rotellaro & Sgargatubo - CBR 600 F '95
/*******************************
Consigliere spirituale per elefanti depressi
"dal terminale arrow e' uscita la quinta sinfonia di beethoven"
http://www.rotellaro.com
*******************************/


From: maurizio(dot)totti(at)gmail(dot)com
To: pgsql-it-generale(at)postgresql(dot)org
Subject: Re: ALTER SCHEMA ... SET TABLESPACE
Date: 2008-11-18 14:21:37
Message-ID: a86f58d90811180621p197265cat64094f03c2dd76ef@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-it-generale

Il 18 novembre 2008 14.14, <rotellaro(at)gmail(dot)com> ha scritto:
>
> Probabilmente si sono resi conto che non serviva a niente visto che
> queste cose si fanno con dei banali concatenamenti di stringa.
>
Dici?... mah certo che è strano, non capisco bene come vengano gestite
in pg_catalog queste cose. Per esempio se decidi di creare un
tablespace separato e ci crei un db tutti gli oggetti che poi crei in
quel db finiscono in quella porzione del fs, ma se cerchi in pg_class
(o in pg_tables e altro se preferisci) trovi valorizzata come
tablespace la pg_global o niente (reltablespace 0)

Se invece guardi come fa pgadmin3 a capire gli oggetti che dipendono
da un tablespace scopri che "alla fine" o comunque sulla mia
installazione pg 8.3.5 e pgadmin3 1.8.4 lo recupera dagli oggetti che
"appartengono" al db che insiste su quel tablespace (in pg_database il
dattablespace è correttamente valorizzato)

Tutto questo per dire che mi chiedevo se fosse possibile gestire
l'allocazione di un intero schema su di un tablespace separato questo
per non dover successivamente migrare indici e tabelle e magari avere
già le sequence (o se è possibile altro) che non sono migrabili nel
posto giusto.
Anche perché apparentemente nell strutture del pg_catalog i dati dei
tablespace potrebbero essere valorizzati.

Ciao.

--
Maurizio Totti
socio ITPUG http://www.itpug.org