52.56. pg_tablespace #

O catálogo pg_tablespace armazena informações sobre os espaços de tabelas disponíveis. As tabelas podem ser colocadas em espaços de tabelas específicos para auxiliar na administração da disposição do disco.

Diferentemente da maioria dos catálogos de sistema, o catálogo pg_tablespace é compartilhado por todos os bancos de dados de uma instância: há apenas uma cópia de pg_tablespace por instância, e não uma por banco de dados.

Tabela 52.56. Colunas de pg_tablespace

Coluna Tipo de dados

Descrição

oid oid

Identificador da linha

spcname name

Nome do espaço de tabelas

spcowner oid (referencia pg_authid.oid)

Dono do espaço de tabelas, geralmente o usuário que o criou

spcacl aclitem[]

Privilégios de acesso; veja Privilégios para obter detalhes

spcoptions text[]

Opções no nível de espaço de tabelas, na forma de cadeias de caracteres palavra-chave=valor


Exemplo 52.30. Exemplo do tradutor

Espaços de tabelas disponíveis

Uso do catálogo pg_tablespace para mostrar os espaços de tabelas disponíveis, e uso também do meta-comando \db do psql com o mesmo objetivo.

ana=> \C 'Lista dos espaços de tabelas'
O título é "Lista dos espaços de tabelas".
ana=> SELECT oid, spcname, spcowner::regrole
ana-> FROM pg_tablespace;

  Lista dos espaços de tabelas
  oid   |  spcname   | spcowner
--------+------------+----------
   1663 | pg_default | postgres
   1664 | pg_global  | postgres
 108947 | ana_tblspc | ana
(3 linhas)

ana=> \db

              Lista dos espaços de tabelas
    Nome    |   Dono   |          Localização
------------+----------+--------------------------------
 ana_tblspc | ana      | /var/lib/postgresql/ana_tblspc
 pg_default | postgres |
 pg_global  | postgres |
(3 linhas)

Objetos no espaço de tabelas ana_tblspc:

ana=> \C 'Objetos no espaço de tabelas'
O título é "Objetos no espaço de tabelas".
ana=> SELECT
ana->     n.nspname AS schemaname,
ana->     c.relname AS objectname,
ana->     c.relkind AS objecttype
ana-> FROM pg_class c
ana-> LEFT JOIN pg_namespace n
ana->      ON n.oid = c.relnamespace
ana-> WHERE c.reltablespace = (
ana->     SELECT oid
ana->     FROM pg_tablespace
ana->     WHERE spcname = 'ana_tblspc'
ana-> )
ana-> ORDER BY schemaname, objectname;

          Objetos no espaço de tabelas
 schemaname |      objectname       | objecttype
------------+-----------------------+------------
 pg_toast   | pg_toast_108948       | t
 pg_toast   | pg_toast_108948_index | i
 public     | produtos              | r
(3 linhas)


52.56.1. Veja também #

CREATE TABLESPACE, ALTER TABLESPACE, DROP TABLESPACE, CREATE DATABASE, CREATE TABLE, CREATE INDEX, Exemplo 22.1