Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-05-08 GMT+08:00

Gestión de espacios de tabla

Escenarios

RDS proporciona la solución de gestión de espacios de tablas de PostgreSQL basada en el usuario root.

Creación de un Tablespace

  1. Conéctese a la base de datos como root de usuario y cree un espacio de tablas.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=<DB_NAME> --username=root -c "select control_tablespace ('create', '<TABLESPACE_NAME>');"

    Tabla 1 Descripción del parámetro

    Parámetro

    Descripción

    RDS_ADDRESS

    Indica la dirección IP de la instancia de base de datos RDS.

    DB_PORT

    Indica el puerto de la instancia de base de datos RDS.

    DB_NAME

    Indica el nombre de la base de datos.

    TABLESPACE_NAME

    Indica el nombre del espacio de tabla.

  2. Introduzca la contraseña del usuario root cuando se le solicite.

    Inicie sesión en la base de datos my_db y cree el espacio de trabajo tbspc1. Ejemplo:

    # psql --host=192.168.6.141 --port=5432 --dbname=my_db --username=root -c "select control_tablespace('create', 'tbspc1');"

    Password for user root:
              control_tablespace          
    ------------------------------    
    create tablespace tbspc1 successfully.   
    (1 row)

    Si la creación falla, vea los registros de errores de la instancia de base de datos.

    Para garantizar el rendimiento, se pueden crear un máximo de 100 espacios de tablas.

Concesión de permisos de espacios de tabla

  1. Conéctese a una base de datos como usuario root y conceda los permisos de uso del espacio de tablas a los usuarios especificados.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=<DB_NAME> --username=root -c "select control_tablespace ('alter', '<TABLESPACE_NAME>', '<USER_NAME>');"

    Tabla 2 Descripción del parámetro

    Parámetro

    Descripción

    RDS_ADDRESS

    Indica la dirección IP de la instancia de base de datos RDS.

    DB_PORT

    Indica el puerto de la instancia de base de datos RDS.

    DB_NAME

    Indica el nombre de la base de datos.

    TABLESPACE_NAME

    Indica el nombre del espacio de tabla.

    USER_NAME

    Indica el nombre de usuario del espacio de tablas.

  2. Introduzca la contraseña del usuario root cuando se le solicite.

    Inicie sesión en la base de datos my_db y conceda permisos a tbspc1 de tablas, por ejemplo:

    # psql --host=192.168.6.141 --port=5432 --dbname=my_db --username=root -c "select control_tablespace('alter', 'tbspc1', 'user1');"

    Password for user root:
             control_tablespace         
    ----------------------------    
    alter tablespace tbspc1 successfully.   
    (1 row)

    Si no se conceden los permisos, vea los registros de errores de la instancia de base de datos.

Eliminación de un espacio de tabla

  1. Conéctese a una base de datos como root de usuario y suprima un espacio de tabla.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT> --username=root --dbname=<DB_NAME> -c "select control_tablespace('drop', '<TABLESPACE _NAME>');"

    Tabla 3 Descripción del parámetro

    Parámetro

    Descripción

    RDS_ADDRESS

    Indica la dirección IP de la instancia de base de datos RDS.

    DB_PORT

    Indica el puerto de la instancia de base de datos RDS.

    DB_NAME

    Indica el nombre de la base de datos.

    TABLESPACE_NAME

    Indica el nombre del espacio de tabla.

  2. Introduzca la contraseña del usuario root cuando se le solicite.

    Ejemplo:

    # psql --host=192.168.6.141 --port=8635 --dbname=my_db --username=root -c "select control_tablespace('drop', 'tbspc1');"

    Password for user root:
             control_tablespace         
    ----------------------------    
    drop tablespace tbspc1 successfully.   
    (1 row)

    Antes de eliminar el espacio de tablas, asegúrese de que está vacío. Si la eliminación falla, vea los registros de errores de la instancia de base de datos.