O comando CREATE TABLESPACE registra um novo espaço de tabelas para todo o agrupamento. O nome do espaço de tabelas deve ser distinto do nome de qualquer outro espaço de tabelas existente no agrupamento de bancos de dados.
O espaço de tabelas permite aos superusuários definirem um local alternativo no sistema de arquivos onde podem residir arquivos de dados contendo objetos do banco de dados (tais como tabelas e índices).
Um usuário com privilégios apropriados pode passar o nome_do_espaço_de_tabelas para os comandos CREATE DATABASE, CREATE TABLE, CREATE INDEX e ADD CONSTRAINT para ter os arquivos de dados destes objetos armazenados no espaço de tabelas especificado. [1] [2] [3] [4]
O nome do espaço de tabelas a ser criado. O nome não pode começar por pg_, uma vez que estes nomes são reservados para espaços de tabelas do sistema.
O nome do usuário que será o dono do espaço de tabelas. Se for omitido, tem como padrão o usuário que está executando o comando. Somente os superusuários podem criar espaços de tabelas, mas podem atribuir a propriedade dos espaços de tabelas a não-superusuários.
O diretório a ser utilizado pelo espaço de tabelas. O diretório deve estar vazio e deve pertencer ao usuário de sistema do PostgreSQL. O diretório deve ser especificado por um nome de caminho absoluto.
Somente há suporte para espaços de tabelas nos sistemas operacionais que suportam vínculos simbólicos. [5] [6] [7]
O comando CREATE TABLESPACE não pode ser executado dentro de um bloco de transação.
Criar o espaço de tabelas dbspace no diretório /data/dbs:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
Criar o espaço de tabelas indexspace no diretório /data/indexes pertencendo ao usuário genevieve:
CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';
[1] |
Oracle — O banco de dados é dividido em unidades lógicas de armazenamento chamadas de espaços de tabelas, que colocam juntas estruturas lógicas relacionadas. Por exemplo, é comum os espaços de tabelas juntarem todos os objetos de um aplicativo para simplificar algumas operações administrativas. São criados explicitamente um ou mais arquivos de dados para cada espaço de tabelas para armazenar fisicamente os dados de todas as estruturas lógicas do espaço de tabelas. O tamanho combinado dos arquivos de dados do espaço de tabelas é a capacidade total de armazenamento do espaço de tabelas. Oracle® Database Concepts 10g Release 1 (10.1) Part Number B10743-01 (N. do T.) |
[2] |
SQL Server — Mapeia o banco de dados sobre um conjunto de arquivos do sistema operacional. As informações de dados e registro (log) nunca são misturadas no mesmo arquivo, e os arquivos individuais são utilizados por apenas um banco de dados. Os grupos de arquivos (filegroups) são coleções com nome de arquivos, e são utilizados para ajudar na colocação dos dados e em tarefas administrativas como operações de fazer e restaurar cópias de segurança. Os bancos de dados do SQL Server 2005 possuem três tipos de arquivos: 1) Arquivos de dados primários, que são o ponto de início do banco de dados e apontam para outros arquivos no banco de dados. Todo banco de dados possui um arquivo de dados primário. 2) Arquivos de dados secundários são todos os outros arquivos de dados que não são o arquivo de dados primário. Alguns bancos de dados podem não possuir arquivos de dados secundários enquanto outros podem possuir vários arquivos de dados secundários. 3) Arquivos de registro guardam todas as informações de registro utilizadas para recuperar o banco de dados. Deve existir pelo menos um arquivo de registro para cada banco de dados, embora possa haver mais de um. SQL Server 2005 Books Online — Physical Database Files and Filegroups (N. do T.) |
[3] |
DB2 — O comando CREATE TABLESPACE define um novo espaço de tabelas dentro do banco de dados, atribui recipientes (containers) ao espaço de tabelas, e registra a definição e os atributos do espaço de tabelas no catálogo. DB2 Version 9 for Linux, UNIX, and Windows (N. do T.) |
[4] |
DB2 — Uma das primeiras tarefas ao configurar um banco de dados relacional é mapear o projeto lógico do banco de dados ao armazenamento físico do sistema. O objeto utilizado para especificar a localização física dos dados é conhecido como espaço de tabelas. O espaço de tabelas é utilizado como uma camada entre o banco de dados e os objetos recipientes (containers = unidades de armazenamento físico que podem ser identificadas por um nome de diretório, um nome de unidade ou um nome de arquivo) que guardam os dados da tabela. O espaço de tabelas pode conter mais de uma tabela. Todas as tabelas do DB2 residem em espaço de tabelas, o que significa que é possível controlar onde os dados das tabelas são fisicamente armazenados. DB2® Universal Database™ V8 for Linux, UNIX, and Windows Database Administration Certification Guide, 5th Edition, George Baklarz e Bill Wong, Series IBM Press, Prentice Hall Professional Technical Reference, 2003, pág. 454. (N. do T.) |
[5] |
vínculo simbólico (symbolic link) — Um arquivo que contém o caminho para outro arquivo ou diretório. Uma vez que é apenas um caminho, os vínculos simbólicos podem cruzar pontos de montagem. Linux Knowledge Base and Tutorial (N. do T.) |
[6] |
ponto de junção — Usando pontos de junção, você pode enxertar uma pasta de destino em outra pasta NTFS ou "montar" um volume em um ponto de junção NTFS. Os pontos de junção são transparentes para os programas. Como criar e manipular pontos de junção NTFS (N. do T.) |
[7] |
vínculo simbólico e ponto de junção — O Windows Vista suporta a nova capacidade de vínculo simbólico do NTFS, que substitui os pontos de junção do Windows 2000 e do Windows XP. A Microsoft implementou seus vínculos simbólicos para funcionarem exatamente como os vínculos simbólicos do UNIX funcionam. Foram projetados para ajudar na migração e compatibilidade de aplicativos com os sistemas operacionais UNIX. NTFS junction point (N. do T.) |