CREATE TABLESPACE — define un nuevo tablespace

Sinopsis

CREATETABLESPACE tablespace_name
    [ OWNER CURRENT_USER ]
    LOCATION 'directory'[WITH( tablespace_option =value[,...])]

Descripción

CREATE TABLESPACE registra un nuevo tablespace para todo el clúster. El nombre del espacio de tabla debe ser distinto del nombre de cualquier espacio de tabla existente en el clúster de la base de datos.

Un tablespace permite a los superusuarios definir una ubicación alternativa en el sistema de archivos donde pueden residir los archivos de datos que contienen objetos de la base de datos (como tablas e índices).

Un usuario con los privilegios apropiados puede pasar tablespace_name para CREATE DATABASE, CREATE TABLE, CREATE INDEX o ADD CONSTRAINT tener los archivos de datos para estos objetos almacenados dentro del tablespace especificado.

Advertencia

Un tablespace no se puede utilizar independientemente del clúster en el que se define; consulte la Sección 22.6.

Parámetros

tablespace_name

El nombre de un tablespace que se va a crear. El nombre no puede comenzar con pg_ya que dichos nombres están reservados para los espacios de tablas del sistema.

user_name

El nombre del usuario que será el propietario del tablespace. Si se omite, el valor predeterminado es el usuario que ejecuta el comando. Solo los superusuarios pueden crear tablespaces, pero pueden asignar la propiedad de los tablespaces a personas que no sean superusuarios.

directory

El directorio que se utilizará para el tablespace. El directorio debe existir (CREATE TABLESPACE no lo creará), debe estar vacío y debe ser propiedad del usuario del sistema PostgreSQL. El directorio debe especificarse mediante un nombre de ruta absoluto.

tablespace_option

Un parámetro de espacio de tabla que se establecerá o restablecerá. Actualmente, los únicos parámetros disponibles son seq_page_cost, random_page_cost, effective_io_concurrency y maintenance_io_concurrency. Establecer estos valores para un tablespace en particular anulará la estimación habitual del planificador del costo de leer páginas de tablas en ese tablespace, y el comportamiento de búsqueda previa del ejecutor, según lo establecido por los parámetros de configuración del mismo nombre (ver seq_page_cost, random_page_cost, efectiva_io_concurrencia, mantenimiento_io_concurrencia ). Esto puede ser útil si un tablespace está ubicado en un disco que es más rápido o más lento que el resto del subsistema de E/S.

notas

Los espacios de tabla solo se admiten en sistemas que admiten enlaces simbólicos.

CREATE TABLESPACE no se puede ejecutar dentro de un bloque de transacción.

Ejemplos

Para crear un espacio de tabla dbspace en la ubicación del sistema de archivos /data/dbsprimero cree el directorio utilizando las instalaciones del sistema operativo y establezca la propiedad correcta:

mkdir /data/dbs
chown postgres:postgres /data/dbs

Luego emita el comando de creación de espacios de tabla dentro de PostgreSQL:

CREATETABLESPACE dbspace LOCATION '/data/dbs';

Para crear un tablespace propiedad de un usuario de base de datos diferente, use un comando como este:

CREATETABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';

Compatibilidad

CREATE TABLESPACE es una extensión de PostgreSQL.

Ver también

CREAR BASE DE DATOS, CREAR TABLA, CREAR ÍNDICE, DROP TABLESPACE, ALTER TABLESPACE

Anterior Arriba Próximo
CREAR TABLA COMO Casa CREAR CONFIGURACIÓN DE BÚSQUEDA DE TEXTO