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
- 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.
- 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
- 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.
- 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
- 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.
- 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.