PostgreSQLLa base de données la plus sophistiquée au monde.

Version anglaise

CREATE TABLESPACE

CREATE TABLESPACE — Définir un nouvel tablespace

Synopsis

+CREATE TABLESPACE nom_tablespace
    [ OWNER nom_utilisateur ]
    LOCATION 'répertoire'
    [ WITH ( option_tablespace = valeur [, ... ] ) ]
  

Description

CREATE TABLESPACE enregistre un nouveau tablespace pour la grappe de bases de données. Le nom du tablespace doit être distinct du nom de tout autre tablespace de la grappe.

Un tablespace permet aux superutilisateurs de définir un nouvel emplacement sur le système de fichiers pour le stockage des fichiers de données contenant des objets de la base (comme les tables et les index).

Un utilisateur disposant des droits appropriés peut passer nom_tablespace comme paramètre de CREATE DATABASE, CREATE TABLE, CREATE INDEX ou ADD CONSTRAINT pour que les fichiers de données de ces objets soient stockés à l'intérieur du tablespace spécifié.

[Avertissement]

Avertissement

Un tablespace ne peut pas être utilisé indépendamment de l'instance dans laquelle il a été défini ; voir Section 21.6, « Tablespaces ».

Paramètres

nom_tablespace

Le nom du tablespace à créer. Le nom ne peut pas commencer par pg_, de tels noms sont réservés pour les tablespaces système.

nom_utilisateur

Le nom de l'utilisateur, propriétaire du tablespace. En cas d'omission, il s'agit de l'utilisateur ayant exécuté la commande. Seuls les superutilisateurs peuvent créer des tablespaces mais ils peuvent en donner la propriété à des utilisateurs standard.

répertoire

Le répertoire qui sera utilisé pour le tablespace. Le répertoire doit être vide et doit appartenir à l'utilisateur système PostgreSQL™. Le répertoire doit être spécifié par un chemin absolu.

option_tablespace

Un paramètre à configurer ou réinitialiser pour un tablespace. Actuellement, les seuls paramètres disponibles sont seq_page_cost et random_page_cost. Configurer un de ces paramètres pour un tablespace particulier va surcharger l'estimation habituelle du planificateur pour le coût de lecture des pages sur les tables de ce tablespace (voir seq_page_cost et random_page_cost). Ceci peut se révéler utile si un des tablespaces est situé sur un disque plus rapide ou plus lent que le reste du système d'entrées/sorties.

Notes

Les tablespaces ne sont supportés que sur les systèmes gérant les liens symboliques.

CREATE TABLESPACE ne peut pas être exécuté à l'intérieur d'un bloc de transactions.

Exemples

Créer un tablespace espace_base sur /data/dbs :

              CREATE TABLESPACE espace_base LOCATION '/data/dbs';
   

Créer un tablespace espace_index sur /data/indexes et en donner la propriété à l'utilisatrice genevieve :

              CREATE TABLESPACE espace_index OWNER genevieve LOCATION '/data/indexes';
   

Compatibilité

CREATE TABLESPACE est une extension PostgreSQL™.