sergio nogueira escreveu:
> talvez o comando abaixo não exiba o nome de tablespaces default de banco
> (o que seria, talvez, estranho).
> 
Exato, se é padrão ele não aparece, ou seja, a tabela atual *não* está em uma
_tablespace_. Veja:

euler=# create table foo (a int);
CREATE TABLE
euler=# select tablename,tablespace from pg_tables where tablename='foo';
 tablename | tablespace
-----------+------------
 foo       |
(1 row)

euler=# \! ls /tmp/foo
PG_VERSION
euler=# alter table foo set tablespace footbs;
ALTER TABLE
euler=# select tablename,tablespace from pg_tables where tablename='foo';
 tablename | tablespace
-----------+------------
 foo       | footbs
(1 row)

euler=# -- 16384 é o banco de dados 'euler'
euler=# \! ls /tmp/foo/16384
16410
euler=# select relfilenode,relname from pg_class where relname ~ 'foo';
 relfilenode | relname
-------------+---------
       16410 | foo
(1 row)

euler=# alter table foo set tablespace pg_default;
ALTER TABLE
euler=# select tablename,tablespace from pg_tables where tablename='foo';
 tablename | tablespace
-----------+------------
 foo       |
(1 row)

euler=# -- 16410 é um arquivo vazio que será removido quando for conveniente
euler=# \! ls -l /tmp/foo/16384
total 0
-rw------- 1 euler users 0 Jun 22 01:26 16410
euler=# select relfilenode,relname from pg_class where relname ~ 'foo';
 relfilenode | relname
-------------+---------
       16411 | foo
(1 row)


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a