CREATE TABLESPACE
Function
The feature of creating an OBS tablespace in a database is supported only by 8.1.1.
Precautions
- Only system administrators can create a tablespace.
- Do not run CREATE TABLESPACE in a transaction block.
- If the CREATE TABLESPACE command fails to be run but the internal directory (or file) has been created, the directory (or file) will remain. You need to manually clear it before creating the tablespace again. If there are residual files of soft links for the tablespace in the data directory, delete the residual files, and then perform O&M operations.
- CREATE TABLESPACE cannot be used for two-phase transactions. If it fails on some nodes, the execution cannot be rolled back.
- You are advised to use the default tablespace default_tablespace instead of the absolute tablespace or relative tablespace.
- For details about how to prepare for creating tablespaces, see "Parameter Description" in this section.
Syntax
1 2 3 |
CREATE TABLESPACE tablespace_name
[ OWNER user_name ] [ MAXSIZE 'space_size' ]
[with_option_clause];
|
1 2 3 4 |
WITH ( filesystem= { 'obs'| "obs" | obs},
address = 'endpoint',
access_key = 'ak', secret_access_key = 'sk',
encrypt = 'on' |'off', storepath = 'rootpath')
|
Parameter Description
- tablespace_name
Specifies name of a tablespace to be created.
The tablespace name must be distinct from the name of any existing tablespace in the database cluster and cannot start with pg, which are reserved for system catalog spaces.
Value range: a string. It must comply with the naming convention.
- OWNER user_name
Specifies the owner of the tablespace. If omitted, the default owner is the current user.
Only system administrators can create tablespaces, but they can use the OWNER clause to assign ownership of tablespaces to other users.
Value range: An existing user.
- filesystem
Specifies the OBS tablespace.
Valid value: OBS
- random_page_cost
Specifies the cost of randomly reading the overhead of page.
Value range: 0 to 1.79769e+308.
Default value: the value of GUC parameter random_page_cost
- seq_page_cost
Specifies the cost of reading the overhead of page in order.
Value range: 0 to 1.79769e+308.
Default value: the value of GUC parameter seq_page_cost.
- address
Specifies the endpoint of OBS.
Setting rule: address only supports IPv4 addresses in dot-decimal notation, and an address string cannot contain spaces. An IP address and a port number are separated by a colon (:). If you create a general tablespace, this parameter is unavailable.
- storepath
Specifies the data storage path on the OBS.
Value range: a string
Value format: /Bucket name of the parallel file system/Path/
- access_key
Specifies the access key (AK) (obtained by users from the OBS console) used for the OBS access protocol. When you create a foreign table, its AK value is encrypted and saved to the metadata table of the database. This parameter is available only when type is OBS.
- secret_access_key
Specifies the secret access key (SK) (obtained by users from the OBS console) used for the OBS access protocol. When you create a foreign table, its SK value is encrypted and saved to the metadata table of the database. This parameter is available only when type is OBS.
- encrypt
- Specifies whether data is encrypted. This parameter is available only when type is OBS. The default value is off.
Options:
on indicates that data is encrypted.
off indicates that data is not encrypted.
- Specifies whether data is encrypted. This parameter is available only when type is OBS. The default value is off.
Examples
Create an OBS tablespace.
CREATE TABLESPACE ds_location1 WITH(filesystem=obs, address='obs URL', access_key='xxxxxx', secret_access_key='xxxxxx', encrypt='on', storepath='/obs_bucket/obs_tablespace');
Create user joe.
CREATE ROLE joe IDENTIFIED BY 'password1';
Create user jay.
CREATE ROLE jay IDENTIFIED BY 'password2';
Create an ordinary tablespace and set its owner to user joe.
CREATE TABLESPACE ds_location2 OWNER joe WITH(filesystem=obs, address='obs URL', access_key='xxxxxx', secret_access_key='xxxxxx', encrypt='on', storepath='/obs_bucket/obs_tablespace');
Helpful Links
CREATE DATABASE, CREATE TABLE, CREATE INDEX, DROP TABLESPACE
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot