- What's New
- Function Overview
- Product Bulletin
-
Service Overview
- GaussDB(DWS) Infographics
- What Is GaussDB(DWS)?
- Data Warehouse Types
- Data Warehouse Flavors
- Advantages
- Application Scenarios
- Functions
- Concepts
- Related Services
- Security
- GaussDB(DWS) Permissions Management
- GaussDB(DWS) Access
- Restrictions
- Technical Support
- Service Quotas
- GaussDB(DWS) Technical Specifications
-
Billing
- GaussDB(DWS) Billing Overview
- Billing Modes
- Item
- Billing Examples
- Billing Mode Change
- Renewal
- Bills
- Arrears
- Stopping Billing
- Cost Management
-
Billing FAQs
- How Can I Try Out GaussDB(DWS) for Free?
- Why Was I Deducted Fees After My GaussDB(DWS) Free Trial Expired?
- Why Can't I See a Cluster After I Subscribe to a Free GaussDB(DWS) Trial?
- Does Pay-per-Use Billing Stop When My Cluster Stops?
- Why Is the Purchase Button Unavailable When I Create a Cluster?
- How Do I Unfreeze a Cluster?
- Can I Freeze or Shut Down a GaussDB(DWS) Cluster to Stop Billing?
-
Getting Started
- Checkpoint Vehicle Analysis
- Supply Chain Requirement Analysis of a Company
- Operations Status Analysis of a Retail Department Store
- Creating a Time Series Table
- Best Practices of Hot and Cold Data Management
- Best Practices for Automatic Partition Management
- Creating a Cluster and Connecting to It
- Using CDM to Migrate MySQL Data to the GaussDB(DWS) Cluster
- Using DLI Flink Jobs to Write Kafka Data to GaussDB(DWS) in Real Time
- Basic SQL Operations
-
Database Quick Start
- Before You Start
- Creating and Managing Databases
- Planning a Storage Model
- Creating and Managing Tables
- Loading Sample Data
- Querying System Catalogs
- Creating and Managing Schemas
- Creating and Managing Partitioned Tables
- Creating and Managing Indexes
- Creating and Managing Views
- Creating and Managing Sequences
- Creating and Managing Scheduled Tasks
- Getting Started with Common Practices
-
User Guide
- Using GaussDB(DWS)
- Preparations
- Creating a GaussDB(DWS) Cluster
-
Connecting to a GaussDB(DWS) Cluster
- Overview
- Obtaining the Connection Address of a GaussDB(DWS) Cluster
- Using a Visualization Tool to Connect to a GaussDB(DWS) Cluster
- Using the CLI to Connect to a GaussDB(DWS) Cluster
-
Using a Third-Party Database Adapter for GaussDB(DWS) Cluster Connection
-
Using the JDBC and ODBC Drivers to Connect to a Cluster
- Development Specifications
- JDBC Version Description
- Downloading the JDBC or ODBC Driver
- Using JDBC to Connect to a Cluster
- Configuring JDBC to Connect to a Cluster (Load Balancing Mode)
- Configuring JDBC to Connect to a Cluster (IAM Authentication Mode)
- Third-party Connection Pool of the JDBC Configuration Database
- Using ODBC to Connect to a Cluster
- Using the Third-Party Function Library psycopg2 of Python to Connect to a Cluster
- Using the Python Library PyGreSQL to Connect to a Cluster
-
Using the JDBC and ODBC Drivers to Connect to a Cluster
- Creating a GaussDB(DWS) Database and User
- Migrating Service Data to a GaussDB(DWS) Cluster
- GaussDB(DWS) Cluster Data Security and Encryption
-
GaussDB(DWS) Cluster Management
- Viewing GaussDB(DWS) Cluster Details
- Checking the GaussDB(DWS) Cluster Status
- Viewing the GaussDB(DWS) Cluster Topology
- Managing GaussDB(DWS) Cluster Connections
- GaussDB(DWS) Resource Load Management
-
Managing GaussDB(DWS) Logical Clusters
- Logical Cluster Overview
- Adding/Deleting a Logical Cluster
- Managing Logical Clusters
- Elastically Adding or Deleting a Logical Cluster
- Tutorial: Converting a Physical Cluster That Contains Data into a Logical Cluster
- Tutorial: Dividing a New Physical Cluster into Logical Clusters
- Tutorial: Setting a Read-Only Logical Cluster and Binding It to a User
- Modifying GUC Parameters of the GaussDB(DWS) Cluster
- Managing GaussDB(DWS) Tags
- Resetting the Password the GaussDB(DWS) Database Administrator
- Starting, Stopping, and Deleting a GaussDB(DWS) Cluster
- Managing Enterprise Projects
-
GaussDB(DWS) Cluster O&M
- Viewing GaussDB(DWS) Cluster Monitoring Information on the Monitoring Panel (DMS)
- Viewing GaussDB(DWS) Cluster Monitoring Information on Cloud Eye
- Monitoring and Diagnosing Top SQL Statements in a GaussDB(DWS) Cluster
-
Viewing GaussDB(DWS) Cluster Alarms
- Alarm Management
- Alarm Rules
- Alarm Subscriptions
-
Alarm Handling
- DWS_2000000001 Node CPU Usage Exceeds the Threshold
- DWS_2000000006 Node Data Disk Usage Exceeds the Threshold
- DWS_2000000009 Node Data Disk I/O Usage Exceeds the Threshold
- DWS_2000000012 Node Data Disk Latency Exceeds the Threshold
- DWS_2000000016 Data Spilled to Disks of the Query Statement Exceeds the Threshold
- DWS_2000000017 Number of Queuing Query Statements Exceeds the Threshold
- DWS_2000000018 Queue Congestion in the Default Cluster Resource Pool
- DWS_2000000020 Long SQL Probe Execution Duration in a Cluster
- DWS_2000000023 A Vacuum Full Operation That Holds a Lock for A Long Time Exists in the Cluster
- DWS_2000000027 Memory Usage of a GaussDB(DWS) Cluster Node Exceeds the Threshold
- DWS_2000000028 Dynamic Memory Usage of GaussDB(DWS) Cluster Nodes Exceeds the Threshold
- DWS_2000000029 Usage of a GaussDB(DWS) Cluster Resource Pool Exceeds the Threshold
- DWS_2000000030 Session Usage in a GaussDB(DWS) Cluster Exceeds the Threshold
- DWS_2000000031 Active Session Usage in a GaussDB(DWS) Cluster Exceeds the Threshold
- DWS_2000000032 Number of Database Deadlocks in a GaussDB(DWS) Cluster Exceeds the Threshold
- DWS_2000000033 GaussDB(DWS) Cluster Database Session Usage Exceeds the Threshold
- Viewing and Subscribing to GaussDB(DWS) Cluster Events
- Common O&M Commands of GaussDB(DWS)
- Backing Up and Restoring a GaussDB(DWS) Cluster
- Scaling GaussDB(DWS) Cluster Nodes
- Changing GaussDB(DWS) Cluster Specifications
- GaussDB(DWS) Cluster DR Management
- Upgrading a GaussDB(DWS) Cluster
- GaussDB(DWS) Cluster Log Management
- Handling Abnormal GaussDB(DWS) Clusters
- Reclaiming GaussDB(DWS) Space Using Vacuum
- Authorizing a GaussDB(DWS) Cluster O&M Account
-
Best Practices
-
Import and Export
- Best Practices for DataImport
- GDS Practice Guide
- Migrating Data from OBS Buckets to a GaussDB(DWS) Cluster
- Using GDS to Import Table Data from a Remote Server to a GaussDB(DWS) Cluster
- Importing Table Data from MRS Hive to a GaussDB(DWS) Cluster
- Enabling Cross-Cluster Access of Hive Metastore Through an External Schema
- Importing Table Data from DLI to a GaussDB(DWS) Cluster
- Migrating Data Between GaussDB(DWS) Clusters Using Foreign Tables
- Exporting ORC Data from a GaussDB(DWS) Cluster to an MRS Cluster
-
Data Migration
- Using CDM to Migrate Oracle Data to a GaussDB(DWS) Cluster
- Using CDM to Migrate MySQL Data to a GaussDB(DWS) Cluster
- Using DRS to Synchronize MySQL Table Data to a GaussDB(DWS) Cluster in Real Time
- Using a Flink Job of DLI to Synchronize Kafka Data to a GaussDB(DWS) Cluster in Real Time
- Using a Flink Job of DLI to Synchronize MySQL Data to a GaussDB(DWS) Cluster in Real Time
- Migrating Data Between GaussDB(DWS) Clusters Using GDS
- Data Analytics
- Decoupled Storage and Compute
-
Data Development
- Cutting Costs by Switching Between Cold and Hot Data Storage in GaussDB(DWS)
- Cutting Partition Maintenance Costs for the E-commerce and IoT Industries by Leveraging GaussDB(DWS)'s Automatic Partition Management Feature
- Improving Development Efficiency by Leveraging GaussDB(DWS)'s View Decoupling and Rebuilding Function
- Best Practices for Using HStore Tables
- Best Practices of GIN Index
- Encrypting and Decrypting Data Columns
- Managing Data Permissions Through Views
- Database Management
-
Performance Tuning
-
Optimizing Table Structure Design to Enhance GaussDB(DWS) Query Performance
- Before Optimization: Learning Table Structure Design
- Step 1: Creating an Initial Table and Loading Sample Data
- Step 2: Testing System Performance of the Initial Table and Establishing a Baseline
- Step 3: Optimizing a Table
- Step 4: Creating Another Table and Loading Data
- Step 5: Testing System Performance in the New Table
- Step 6: Evaluating the Performance of the Optimized Table
- Appendix: Table Creation Syntax
- Analyzing SQL Statements That Are Being Executed to Handle GaussDB(DWS) Performance Issues
-
Optimizing Table Structure Design to Enhance GaussDB(DWS) Query Performance
- Cluster Management
-
Import and Export
-
Data Migration and Synchronization
- Data Migration to GaussDB(DWS)
-
Importing Data
- Importing Data from OBS in Parallel
- Using GDS to Import Data from a Remote Server
- Importing Data from MRS to a Cluster
- Importing Data from One GaussDB(DWS) Cluster to Another
- GDS-based Cross-Cluster Interconnection
- Using Kettle to Import Data
- Using a gsql Meta-Command to Import Data
- Running the COPY FROM STDIN Statement to Import Data
- Full Database Migration
- Real-time Import
- Metadata Migration
- Exporting Data
- Other Operations
-
Developer Guide
-
Standard data warehouse (9.1.0.x)
- Before You Start
-
GaussDB(DWS) Development Design Proposal
- Overview
- GaussDB(DWS) Connection Management Specifications
- GaussDB(DWS) Object Design Specifications
- GaussDB(DWS) SQL Statement Development Specifications
- GaussDB(DWS) Stored Procedure Development Specifications
- Detailed Design Rules for GaussDB(DWS) Objects
-
Creating and Managing GaussDB(DWS) Database Objects
- Creating and Managing GaussDB(DWS) Databases
- Creating and Managing GaussDB(DWS) Schemas
- Creating and Managing GaussDB(DWS) Tables
- Selecting a GaussDB(DWS) Table Storage Model
- Creating and Managing GaussDB(DWS) Partitioned Tables
- Creating and Managing GaussDB(DWS) Indexes
- Creating and Using GaussDB(DWS) Sequences
- Creating and Managing GaussDB(DWS) Views
- Creating and Managing GaussDB(DWS) Scheduled Tasks
- Viewing GaussDB(DWS) System Catalogs
- Syntax Compatibility Differences Among Oracle, Teradata, and MySQL
- GaussDB(DWS) Database Security Management
- GaussDB(DWS) Data Query
- GaussDB(DWS) Sorting Rules
- GaussDB(DWS) User-Defined Functions
-
GaussDB(DWS) Stored Procedure
- Overview
- Converting Data Types in GaussDB(DWS) Stored Procedures
- GaussDB(DWS) Stored Procedure Array and Record
- GaussDB(DWS) Stored Procedure Declaration Syntax
- Basic Statements of GaussDB(DWS) Stored Procedures
- Dynamic Statements of GaussDB(DWS) Stored Procedures
- GaussDB(DWS) Stored Procedure Control Statements
- Other Statements in a GaussDB(DWS) Stored Procedure
- GaussDB(DWS) Stored Procedure Cursor
- GaussDB(DWS) Stored Procedure Advanced Package
- GaussDB(DWS) Stored Procedure Debugging
- Using PostGIS Extension
- Using JDBC or ODBC for GaussDB(DWS) Secondary Development
- GaussDB(DWS) Resource Monitoring
-
GaussDB(DWS) Performance Tuning
- Overview
- Performance Diagnosis
- System Optimization
-
SQL Tuning
- SQL Query Execution Process
- SQL Execution Plan
- Execution Plan Operator
- SQL Tuning Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Advanced SQL Tuning
- Configuring Optimizer Parameters
- Hint-based Tuning
- Routinely Maintaining Tables
- Routinely Recreating an Index
- Automatic Retry upon SQL Statement Execution Errors
- Query Band Load Identification
-
SQL Tuning Examples
- Case: Selecting an Appropriate Distribution Column
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Pushing Down Sort Operations to DNs
- Case: Configuring cost_param for Better Query Performance
- Case: Adjusting the Partial Clustering Key
- Case: Adjusting the Table Storage Mode in a Medium Table
- Case: Reconstructing Partition Tables
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL Statements and Eliminating Prune Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Setting Partial Cluster Keys
- Case: Converting from NOT IN to NOT EXISTS
-
GaussDB(DWS) System Catalogs and Views
- Overview of System Catalogs and System Views
-
System Catalogs
- GS_BLOCKLIST_QUERY
- GS_BLOCKLIST_SQL
- GS_OBSSCANINFO
- GS_RESPOOL_RESOURCE_HISTORY
- GS_WLM_INSTANCE_HISTORY
- GS_WLM_OPERATOR_INFO
- GS_WLM_SESSION_INFO
- GS_WLM_USER_RESOURCE_HISTORY
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_BLOCKLISTS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_ENUM
- PG_EXCEPT_RULE
- PG_EXTENSION
- PG_EXTENSION_DATA_SOURCE
- PG_FINE_DR_INFO
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_INDEX
- PG_INHERITS
- PG_JOB_INFO
- PG_JOBS
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_MATVIEW
- PG_NAMESPACE
- PG_OBJECT
- PG_OBSSCANINFO
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_PUBLICATION
- PG_PUBLICATION_NAMESPACE
- PG_PUBLICATION_REL
- PG_RANGE
- PG_REDACTION_COLUMN
- PG_REDACTION_POLICY
- PG_RELFILENODE_SIZE
- PG_RLSPOLICY
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_STAT_OBJECT
- PG_SUBSCRIPTION
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_ACTION
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PLAN_TABLE_DATA
- SNAPSHOT
- TABLES_SNAP_TIMESTAMP
- System Catalogs for Performance View Snapshot
-
System Views
- ALL_ALL_TABLES
- ALL_CONSTRAINTS
- ALL_CONS_COLUMNS
- ALL_COL_COMMENTS
- ALL_DEPENDENCIES
- ALL_IND_COLUMNS
- ALL_IND_EXPRESSIONS
- ALL_INDEXES
- ALL_OBJECTS
- ALL_PROCEDURES
- ALL_SEQUENCES
- ALL_SOURCE
- ALL_SYNONYMS
- ALL_TAB_COLUMNS
- ALL_TAB_COMMENTS
- ALL_TABLES
- ALL_USERS
- ALL_VIEWS
- DBA_DATA_FILES
- DBA_USERS
- DBA_COL_COMMENTS
- DBA_CONSTRAINTS
- DBA_CONS_COLUMNS
- DBA_IND_COLUMNS
- DBA_IND_EXPRESSIONS
- DBA_IND_PARTITIONS
- DBA_INDEXES
- DBA_OBJECTS
- DBA_PART_INDEXES
- DBA_PART_TABLES
- DBA_PROCEDURES
- DBA_SEQUENCES
- DBA_SOURCE
- DBA_SYNONYMS
- DBA_TAB_COLUMNS
- DBA_TAB_COMMENTS
- DBA_TAB_PARTITIONS
- DBA_TABLES
- DBA_TABLESPACES
- DBA_TRIGGERS
- DBA_VIEWS
- DUAL
- GET_ALL_TSC_INFO
- GET_TSC_INFO
- GLOBAL_COLUMN_TABLE_IO_STAT
- GLOBAL_REDO_STAT
- GLOBAL_REL_IOSTAT
- GLOBAL_ROW_TABLE_IO_STAT
- GLOBAL_STAT_DATABASE
- GLOBAL_TABLE_CHANGE_STAT
- GLOBAL_TABLE_STAT
- GLOBAL_WORKLOAD_SQL_COUNT
- GLOBAL_WORKLOAD_SQL_ELAPSE_TIME
- GLOBAL_WORKLOAD_TRANSACTION
- GS_ALL_CONTROL_GROUP_INFO
- GS_BLOCKLIST_QUERY
- GS_BLOCKLIST_SQL
- GS_CLUSTER_RESOURCE_INFO
- GS_COLUMN_TABLE_IO_STAT
- GS_OBS_READ_TRAFFIC
- GS_OBS_WRITE_TRAFFIC
- GS_INSTR_UNIQUE_SQL
- GS_NODE_STAT_RESET_TIME
- GS_OBS_LATENCY
- GS_QUERY_MONITOR
- GS_QUERY_RESOURCE_INFO
- GS_REL_IOSTAT
- GS_RESPOOL_RUNTIME_INFO
- GS_RESPOOL_RESOURCE_INFO
- GS_RESPOOL_MONITOR
- GS_ROW_TABLE_IO_STAT
- GS_SESSION_CPU_STATISTICS
- GS_SESSION_MEMORY_STATISTICS
- GS_SQL_COUNT
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TABLE_CHANGE_STAT
- GS_TABLE_STAT
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_USER_MONITOR
- GS_USER_TRANSACTION
- GS_VIEW_DEPENDENCY
- GS_VIEW_DEPENDENCY_PATH
- GS_VIEW_INVALID
- GS_WAIT_EVENTS
- GS_WLM_OPERAROR_INFO
- GS_WLM_OPERATOR_HISTORY
- GS_WLM_OPERATOR_STATISTICS
- GS_WLM_SESSION_INFO
- GS_WLM_SESSION_HISTORY
- GS_WLM_SESSION_STATISTICS
- GS_WLM_SQL_ALLOW
- GS_WORKLOAD_SQL_COUNT
- GS_WORKLOAD_SQL_ELAPSE_TIME
- GS_WORKLOAD_TRANSACTION
- MPP_TABLES
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_BULKLOAD_STATISTICS
- PG_COMM_CLIENT_INFO
- PG_COMM_DELAY
- PG_COMM_STATUS
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_QUERY_SPEED
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_JOB
- PG_JOB_PROC
- PG_JOB_SINGLE
- PG_LIFECYCLE_DATA_DISTRIBUTE
- PG_LOCKS
- PG_LWLOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_PUBLICATION_TABLES
- PG_QUERYBAND_ACTION
- PG_REPLICATION_SLOTS
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SEQUENCES
- PG_SESSION_WLMSTAT
- PG_SESSION_IOSTAT
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_GET_MEM_MBYTES_RESERVED
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TDE_INFO
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_SCHEMA_INFO
- PG_TOTAL_USER_RESOURCE_INFO
- PG_USER
- PG_USER_MAPPINGS
- PG_VIEWS
- PG_WLM_STATISTICS
- PGXC_AIO_RESOURCE_POOL_STATS
- PGXC_BULKLOAD_PROGRESS
- PGXC_BULKLOAD_INFO
- PGXC_BULKLOAD_STATISTICS
- PGXC_COLUMN_TABLE_IO_STAT
- PGXC_COMM_CLIENT_INFO
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_COMM_QUERY_SPEED
- PGXC_DEADLOCK
- PGXC_DISK_CACHE_STATS
- PGXC_DISK_CACHE_ALL_STATS
- PGXC_DISK_CACHE_PATH_INFO
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_STAT_ALL_PARTITIONS
- PGXC_GET_TABLE_SKEWNESS
- PGXC_GTM_SNAPSHOT_STATUS
- PGXC_INSTANCE_TIME
- PGXC_LOCKWAIT_DETAIL
- PGXC_INSTR_UNIQUE_SQL
- PGXC_LOCK_CONFLICTS
- PGXC_LWLOCKS
- PGXC_MEMORY_DEBUG_INFO
- PGXC_NODE_ENV
- PGXC_NODE_STAT_RESET_TIME
- PGXC_OBS_IO_SCHEDULER_STATS
- PGXC_OBS_IO_SCHEDULER_PERIODIC_STATS
- PGXC_OS_RUN_INFO
- PGXC_OS_THREADS
- PGXC_POOLER_STATUS
- PGXC_PREPARED_XACTS
- PGXC_REDO_STAT
- PGXC_REL_IOSTAT
- PGXC_REPLICATION_SLOTS
- PGXC_RESPOOL_RUNTIME_INFO
- PGXC_RESPOOL_RESOURCE_INFO
- PGXC_RESPOOL_RESOURCE_HISTORY
- PGXC_ROW_TABLE_IO_STAT
- PGXC_RUNNING_XACTS
- PGXC_SETTINGS
- PGXC_SESSION_WLMSTAT
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_STAT_BGWRITER
- PGXC_STAT_DATABASE
- PGXC_STAT_OBJECT
- PGXC_STAT_REPLICATION
- PGXC_STAT_TABLE_DIRTY
- PGXC_STAT_WAL
- PGXC_SQL_COUNT
- PGXC_TABLE_CHANGE_STAT
- PGXC_TABLE_STAT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_TOTAL_SCHEMA_INFO
- PGXC_TOTAL_SCHEMA_INFO_ANALYZE
- PGXC_TOTAL_USER_RESOURCE_INFO
- PGXC_USER_TRANSACTION
- PGXC_VARIABLE_INFO
- PGXC_WAIT_DETAIL
- PGXC_WAIT_EVENTS
- PGXC_WLM_OPERATOR_HISTORY
- PGXC_WLM_OPERATOR_INFO
- PGXC_WLM_OPERATOR_STATISTICS
- PGXC_WLM_SESSION_INFO
- PGXC_WLM_SESSION_HISTORY
- PGXC_WLM_SESSION_STATISTICS
- PGXC_WLM_TABLE_DISTRIBUTION_SKEWNESS
- PGXC_WLM_USER_RESOURCE_HISTORY
- PGXC_WLM_WORKLOAD_RECORDS
- PGXC_WORKLOAD_SQL_COUNT
- PGXC_WORKLOAD_SQL_ELAPSE_TIME
- PGXC_WORKLOAD_TRANSACTION
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_MATVIEW_DETAIL
- PV_OS_RUN_INFO
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_TOTAL_MEMORY_DETAIL
- PV_REDO_STAT
- PV_RUNTIME_ATTSTATS
- PV_RUNTIME_RELSTATS
- REDACTION_COLUMNS
- REDACTION_POLICIES
- REMOTE_TABLE_STAT
- SHOW_TSC_INFO
- SHOW_ALL_TSC_INFO
- USER_COL_COMMENTS
- USER_CONSTRAINTS
- USER_CONS_COLUMNS
- USER_INDEXES
- USER_IND_COLUMNS
- USER_IND_EXPRESSIONS
- USER_IND_PARTITIONS
- USER_JOBS
- USER_OBJECTS
- USER_PART_INDEXES
- USER_PART_TABLES
- USER_PROCEDURES
- USER_SEQUENCES
- USER_SOURCE
- USER_SYNONYMS
- USER_TAB_COLUMNS
- USER_TAB_COMMENTS
- USER_TAB_PARTITIONS
- USER_TABLES
- USER_TRIGGERS
- USER_VIEWS
- V$SESSION
- V$SESSION_LONGOPS
-
GUC Parameters of the GaussDB(DWS) Database
- Viewing GUC Parameters
- Configuring GUC Parameters
- GUC Parameter Usage
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Logs
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Resource Management
- Automatic Cleanup
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Developer Operations
- Auditing
- Transaction Monitoring
- GTM Parameters
- Miscellaneous Parameters
- GaussDB(DWS) Developer Terms
-
Standard data warehouse (8.1.3.x)
- Before You Start
-
GaussDB(DWS) Development Design Specifications
- Overview
- GaussDB(DWS) Connection Management Specifications
- GaussDB(DWS) Object Design Specifications
- GaussDB(DWS) SQL Statement Development Specifications
- GaussDB(DWS) Stored Procedure Development Specifications
- Detailed Design Rules for GaussDB(DWS) Objects
-
Creating and Managing GaussDB(DWS) Database Objects
- Creating and Managing GaussDB(DWS) Databases
- Creating and Managing GaussDB(DWS) Schemas
- Selecting a GaussDB(DWS) Table Storage Model
- Creating and Managing GaussDB(DWS) Tables
- Creating and Managing GaussDB(DWS) Partitioned Tables
- Creating and Managing GaussDB(DWS) Indexes
- Creating and Using GaussDB(DWS) Sequences
- Creating and Managing GaussDB(DWS) Views
- Creating and Managing GaussDB(DWS) Scheduled Tasks
- Viewing GaussDB(DWS) System Catalogs
- Syntax Compatibility Differences Among Oracle, Teradata, and MySQL
- GaussDB(DWS) Database Security Management
- GaussDB(DWS) Data Query
- GaussDB(DWS) Sorting Rules
- GaussDB(DWS) User-Defined Functions
-
GaussDB(DWS) Stored Procedure
- Overview
- Converting Data Types in GaussDB(DWS) Stored Procedures
- GaussDB(DWS) Stored Procedure Array and Record
- GaussDB(DWS) Stored Procedure Declaration Syntax
- Basic Statements of GaussDB(DWS) Stored Procedures
- Dynamic Statements of GaussDB(DWS) Stored Procedures
- GaussDB(DWS) Stored Procedure Control Statements
- Other Statements in a GaussDB(DWS) Stored Procedure
- GaussDB(DWS) Stored Procedure Cursor
- GaussDB(DWS) Stored Procedure Advanced Package
- GaussDB(DWS) Stored Procedure Debugging
- Using PostGIS Extension
- Using JDBC or ODBC for GaussDB(DWS) Secondary Development
- GaussDB(DWS) Resource Monitoring
-
GaussDB(DWS) Performance Tuning
- Overview
- Performance Diagnosis
- System Optimization
-
SQL Tuning
- SQL Query Execution Process
- SQL Execution Plan
- Execution Plan Operator
- SQL Tuning Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Advanced SQL Tuning
- Hint-based Tuning
- Routinely Maintaining Tables
- Routinely Recreating an Index
- Automatic Retry upon SQL Statement Execution Errors
- query_band Load Identification
-
SQL Tuning Examples
- Case: Selecting an Appropriate Distribution Column
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Pushing Down Sort Operations to DNs
- Case: Configuring cost_param for Better Query Performance
- Case: Adjusting the Partial Clustering Key
- Case: Adjusting the Table Storage Mode in a Medium Table
- Case: Reconstructing Partition Tables
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL Statements and Eliminating Prune Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Setting Partial Cluster Keys
- Case: Converting from NOT IN to NOT EXISTS
-
GaussDB(DWS) System Catalogs and Views
- Overview of System Catalogs and System Views
-
System Catalogs
- GS_OBSSCANINFO
- GS_RESPOOL_RESOURCE_HISTORY
- GS_WLM_INSTANCE_HISTORY
- GS_WLM_OPERATOR_INFO
- GS_WLM_SESSION_INFO
- GS_WLM_USER_RESOURCE_HISTORY
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_ENUM
- PG_EXTENSION
- PG_EXTENSION_DATA_SOURCE
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_INDEX
- PG_INHERITS
- PG_JOBS
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OBSSCANINFO
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REDACTION_COLUMN
- PG_REDACTION_POLICY
- PG_RELFILENODE_SIZE
- PG_RLSPOLICY
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_ACTION
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PLAN_TABLE_DATA
- SNAPSHOT
- TABLES_SNAP_TIMESTAMP
- System Catalogs for Performance View Snapshot
-
System Views
- ALL_ALL_TABLES
- ALL_CONSTRAINTS
- ALL_CONS_COLUMNS
- ALL_COL_COMMENTS
- ALL_DEPENDENCIES
- ALL_IND_COLUMNS
- ALL_IND_EXPRESSIONS
- ALL_INDEXES
- ALL_OBJECTS
- ALL_PROCEDURES
- ALL_SEQUENCES
- ALL_SOURCE
- ALL_SYNONYMS
- ALL_TAB_COLUMNS
- ALL_TAB_COMMENTS
- ALL_TABLES
- ALL_USERS
- ALL_VIEWS
- DBA_DATA_FILES
- DBA_USERS
- DBA_COL_COMMENTS
- DBA_CONSTRAINTS
- DBA_CONS_COLUMNS
- DBA_IND_COLUMNS
- DBA_IND_EXPRESSIONS
- DBA_IND_PARTITIONS
- DBA_INDEXES
- DBA_OBJECTS
- DBA_PART_INDEXES
- DBA_PART_TABLES
- DBA_PROCEDURES
- DBA_SEQUENCES
- DBA_SOURCE
- DBA_SYNONYMS
- DBA_TAB_COLUMNS
- DBA_TAB_COMMENTS
- DBA_TAB_PARTITIONS
- DBA_TABLES
- DBA_TABLESPACES
- DBA_TRIGGERS
- DBA_VIEWS
- DUAL
- GLOBAL_COLUMN_TABLE_IO_STAT
- GLOBAL_REDO_STAT
- GLOBAL_REL_IOSTAT
- GLOBAL_ROW_TABLE_IO_STAT
- GLOBAL_STAT_DATABASE
- GLOBAL_TABLE_CHANGE_STAT
- GLOBAL_TABLE_STAT
- GLOBAL_WORKLOAD_SQL_COUNT
- GLOBAL_WORKLOAD_SQL_ELAPSE_TIME
- GLOBAL_WORKLOAD_TRANSACTION
- GS_ALL_CONTROL_GROUP_INFO
- GS_CLUSTER_RESOURCE_INFO
- GS_COLUMN_TABLE_IO_STAT
- GS_INSTR_UNIQUE_SQL
- GS_NODE_STAT_RESET_TIME
- GS_REL_IOSTAT
- GS_RESPOOL_RUNTIME_INFO
- GS_RESPOOL_RESOURCE_INFO
- GS_ROW_TABLE_IO_STAT
- GS_SESSION_CPU_STATISTICS
- GS_SESSION_MEMORY_STATISTICS
- GS_SQL_COUNT
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TABLE_CHANGE_STAT
- GS_TABLE_STAT
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_USER_TRANSACTION
- GS_VIEW_DEPENDENCY
- GS_VIEW_DEPENDENCY_PATH
- GS_VIEW_INVALID
- GS_WAIT_EVENTS
- GS_WLM_OPERAROR_INFO
- GS_WLM_OPERATOR_HISTORY
- GS_WLM_OPERATOR_STATISTICS
- GS_WLM_SESSION_INFO
- GS_WLM_SESSION_HISTORY
- GS_WLM_SESSION_STATISTICS
- GS_WLM_SQL_ALLOW
- GS_WORKLOAD_SQL_COUNT
- GS_WORKLOAD_SQL_ELAPSE_TIME
- GS_WORKLOAD_TRANSACTION
- MPP_TABLES
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_BULKLOAD_STATISTICS
- PG_COMM_CLIENT_INFO
- PG_COMM_DELAY
- PG_COMM_STATUS
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_QUERY_SPEED
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_JOB
- PG_JOB_PROC
- PG_JOB_SINGLE
- PG_LIFECYCLE_DATA_DISTRIBUTE
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_QUERYBAND_ACTION
- PG_REPLICATION_SLOTS
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SESSION_WLMSTAT
- PG_SESSION_IOSTAT
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_GET_MEM_MBYTES_RESERVED
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TDE_INFO
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_SCHEMA_INFO
- PG_TOTAL_USER_RESOURCE_INFO
- PG_USER
- PG_USER_MAPPINGS
- PG_VIEWS
- PG_WLM_STATISTICS
- PGXC_BULKLOAD_PROGRESS
- PGXC_BULKLOAD_STATISTICS
- PGXC_COLUMN_TABLE_IO_STAT
- PGXC_COMM_CLIENT_INFO
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_COMM_QUERY_SPEED
- PGXC_DEADLOCK
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_STAT_ALL_PARTITIONS
- PGXC_GET_TABLE_SKEWNESS
- PGXC_GTM_SNAPSHOT_STATUS
- PGXC_INSTANCE_TIME
- PGXC_LOCKWAIT_DETAIL
- PGXC_INSTR_UNIQUE_SQL
- PGXC_LOCK_CONFLICTS
- PGXC_NODE_ENV
- PGXC_NODE_STAT_RESET_TIME
- PGXC_OS_RUN_INFO
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_REDO_STAT
- PGXC_REL_IOSTAT
- PGXC_REPLICATION_SLOTS
- PGXC_RESPOOL_RUNTIME_INFO
- PGXC_RESPOOL_RESOURCE_INFO
- PGXC_RESPOOL_RESOURCE_HISTORY
- PGXC_ROW_TABLE_IO_STAT
- PGXC_RUNNING_XACTS
- PGXC_SETTINGS
- PGXC_SESSION_WLMSTAT
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_STAT_BGWRITER
- PGXC_STAT_DATABASE
- PGXC_STAT_REPLICATION
- PGXC_STAT_TABLE_DIRTY
- PGXC_SQL_COUNT
- PGXC_TABLE_CHANGE_STAT
- PGXC_TABLE_STAT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_TOTAL_SCHEMA_INFO
- PGXC_TOTAL_SCHEMA_INFO_ANALYZE
- PGXC_USER_TRANSACTION
- PGXC_VARIABLE_INFO
- PGXC_WAIT_DETAIL
- PGXC_WAIT_EVENTS
- PGXC_WLM_OPERATOR_HISTORY
- PGXC_WLM_OPERATOR_INFO
- PGXC_WLM_OPERATOR_STATISTICS
- PGXC_WLM_SESSION_INFO
- PGXC_WLM_SESSION_HISTORY
- PGXC_WLM_SESSION_STATISTICS
- PGXC_WLM_WORKLOAD_RECORDS
- PGXC_WORKLOAD_SQL_COUNT
- PGXC_WORKLOAD_SQL_ELAPSE_TIME
- PGXC_WORKLOAD_TRANSACTION
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_TOTAL_MEMORY_DETAIL
- PV_REDO_STAT
- REDACTION_COLUMNS
- REDACTION_POLICIES
- REMOTE_TABLE_STAT
- USER_COL_COMMENTS
- USER_CONSTRAINTS
- USER_CONS_COLUMNS
- USER_INDEXES
- USER_IND_COLUMNS
- USER_IND_EXPRESSIONS
- USER_IND_PARTITIONS
- USER_JOBS
- USER_OBJECTS
- USER_PART_INDEXES
- USER_PART_TABLES
- USER_PROCEDURES
- USER_SEQUENCES
- USER_SOURCE
- USER_SYNONYMS
- USER_TAB_COLUMNS
- USER_TAB_COMMENTS
- USER_TAB_PARTITIONS
- USER_TABLES
- USER_TRIGGERS
- USER_VIEWS
- V$SESSION
- V$SESSION_LONGOPS
-
GUC Parameters of the GaussDB(DWS) Database
- Viewing GUC Parameters
- Configuring GUC Parameters
- GUC Parameter Usage
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Logs
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Resource Management
- Automatic Cleanup
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Developer Operations
- Auditing
- Transaction Monitoring
- GTM Parameters
- Miscellaneous Parameters
- GaussDB(DWS) Developer Terms
- Hybrid Data Warehouse (9.1.0.x)
- Hybrid Data Warehouse (8.1.3.x)
- Historical Versions
-
Standard data warehouse (9.1.0.x)
-
SQL Syntax Reference
-
SQL Syntax Reference (9.1.0.x)
- GaussDB(DWS) SQL Overview
- Differences Between GaussDB(DWS) and PostgreSQL
- Keyword
-
Data Types
- Numeric Types
- Monetary Types
- Boolean Type
- Character Types
- Binary Data Types
- Date/Time Types
- Geometric Types
- Array
- Enumeration Type
- Network Address Types
- Bit String Types
- Text Search Types
- UUID Type
- JSON Types
- RoaringBitmap
- HLL Data Types
- Object Identifier Types
- Pseudo-Types
- Range Types
- Composite Types
- Data Types Supported by Column-Store Tables
- XML
- Constant and Macro
-
Functions and Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Numeric Functions and Operators
- Date and Time Processing Functions and Operators
- SEQUENCE Functions
- Array Functions and Operators
- Logical Operators
- Comparison Operators
- Pattern Matching Operators
- Aggregate Functions
- Window Functions
- Type Conversion Functions
- JSON/JSONB Functions and Operators
- Security Functions
- Conditional Expression Functions
- Range Functions and Operators
- Data Redaction Functions
- Bitmap Functions and Operators
- UUID Functions
- Text Search Functions and Operators
- HLL Functions and Operators
- Set Returning Functions
- Geometric Functions and Operators
- Network Address Functions and Operators
- System Information Functions
- System Administration Functions
- Backup and Restoration Control Functions
- Database Object Functions
- Residual File Management Functions
- Statistics Information Functions
- Trigger Functions
- XML Functions
- Call Stack Recording Functions
- Hudi System Functions
- Funnel and Retention Functions
- EXTERNAL SCHEMA System Functions
- Storage-Compute Decoupling Functions
- Expressions
- Type Conversion
- Full Text Search
- System Operation
- Transaction Management
-
DDL Syntax
- DDL Syntax Overview
- ALTER BLOCK RULE
- ALTER DATABASE
- ALTER EXCEPT RULE
- ALTER EXTERNAL SCHEMA
- ALTER FOREIGN TABLE (GDS Import and Export)
- ALTER FOREIGN TABLE (for HDFS or OBS)
- ALTER FOREIGN TABLE (SQL on other GaussDB(DWS))
- ALTER FUNCTION
- ALTER GROUP
- ALTER INDEX
- ALTER LARGE OBJECT
- ALTER MATERIALIZED VIEW
- ALTER PUBLICATION
- ALTER REDACTION POLICY
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER SUBSCRIPTION
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TEXT SEARCH CONFIGURATION
- ALTER TEXT SEARCH DICTIONARY
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- CREATE BARRIER
- CREATE BLOCK RULE
- CREATE DATABASE
- CREATE EXCEPT RULE
- CREATE EXTERNAL SCHEMA
- CREATE FOREIGN TABLE (for GDS Import and Export)
- CREATE FOREIGN TABLE (SQL on OBS or Hadoop)
- CREATE FOREIGN TABLE (for OBS Import and Export)
- CREATE FOREIGN TABLE (SQL on other GaussDB(DWS))
- CREATE FUNCTION
- CREATE GROUP
- CREATE INDEX
- CREATE MATERIALIZED VIEW
- CREATE PROCEDURE
- CREATE PUBLICATION
- CREATE REDACTION POLICY
- CREATE ROW LEVEL SECURITY POLICY
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SUBSCRIPTION
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CURSOR
- DISCARD
- DROP BLOCK RULE
- DROP DATABASE
- DROP EXCEPT RULE
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GROUP
- DROP INDEX
- DROP MATERIALIZED VIEW
- DROP OWNED
- DROP PUBLICATION
- DROP REDACTION POLICY
- DROP ROW LEVEL SECURITY POLICY
- DROP PROCEDURE
- DROP RESOURCE POOL
- DROP ROLE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SUBSCRIPTION
- DROP SYNONYM
- DROP TABLE
- DROP TEXT SEARCH CONFIGURATION
- DROP TEXT SEARCH DICTIONARY
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- FETCH
- MOVE
- REFRESH MATERIALIZED VIEW
- REINDEX
- RENAME TABLE
- RESET
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SHOW
- TRUNCATE
- VACUUM
- DML Syntax
- DCL Syntax
- DQL Syntax
- TCL Syntax
-
SQL Syntax Reference (8.1.3.x)
- GaussDB(DWS) SQL Overview
- Differences Between GaussDB(DWS) and PostgreSQL
- Keyword
-
Data Types
- Numeric Types
- Monetary Types
- Boolean Type
- Character Types
- Binary Data Types
- Date/Time Types
- Geometric Types
- Array
- Enumeration Type
- Network Address Types
- Bit String Types
- Text Search Types
- UUID Type
- JSON Types
- RoaringBitmap
- HLL Data Types
- Object Identifier Types
- Pseudo-Types
- Range Types
- Composite Types
- Data Types Supported by Column-Store Tables
- XML
- Constant and Macro
-
Functions and Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Mathematical Functions and Operators
- Date and Time Processing Functions and Operators
- SEQUENCE Functions
- Array Functions and Operators
- Logical Operators
- Comparison Operators
- Pattern Matching Operators
- Aggregate Functions
- Window Functions
- Type Conversion Functions
- JSON/JSONB Functions and Operators
- Security Functions
- Conditional Expression Functions
- Range Functions and Operators
- Data Masking Functions
- Roaring Bitmap Functions and Operators
- UUID Functions
- Text Search Functions and Operators
- HLL Functions and Operators
- Set Returning Functions
- Geometric Functions and Operators
- Network Address Functions and Operators
- System Information Functions
- System Administration Functions
- Database Object Functions
- Residual File Management Functions
- Statistics Information Functions
- Trigger Functions
- XML Functions
- Call Stack Recording Functions
- Expressions
- Type Conversion
- Full Text Search
- System Operation
- Transaction Management
-
DDL Syntax
- DDL Syntax Overview
- ALTER DATABASE
- ALTER FOREIGN TABLE (GDS Import and Export)
- ALTER FOREIGN TABLE (for HDFS or OBS)
- ALTER FOREIGN TABLE (SQL on other GaussDB(DWS))
- ALTER FUNCTION
- ALTER GROUP
- ALTER INDEX
- ALTER LARGE OBJECT
- ALTER REDACTION POLICY
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TEXT SEARCH CONFIGURATION
- ALTER TEXT SEARCH DICTIONARY
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- CREATE BARRIER
- CREATE DATABASE
- CREATE FOREIGN TABLE (for GDS Import and Export)
- CREATE FOREIGN TABLE (SQL on OBS or Hadoop)
- CREATE FOREIGN TABLE (for OBS Import and Export)
- CREATE FOREIGN TABLE (SQL on other GaussDB(DWS))
- CREATE FUNCTION
- CREATE GROUP
- CREATE INDEX
- CREATE REDACTION POLICY
- CREATE ROW LEVEL SECURITY POLICY
- CREATE PROCEDURE
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CURSOR
- DROP DATABASE
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GROUP
- DROP INDEX
- DROP OWNED
- DROP REDACTION POLICY
- DROP ROW LEVEL SECURITY POLICY
- DROP PROCEDURE
- DROP RESOURCE POOL
- DROP ROLE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TEXT SEARCH CONFIGURATION
- DROP TEXT SEARCH DICTIONARY
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- FETCH
- MOVE
- REINDEX
- RENAME TABLE
- RESET
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SHOW
- TRUNCATE
- VACUUM
- DML Syntax
- DCL Syntax
- DQL Syntax
- TCL Syntax
- Historical Versions
-
SQL Syntax Reference (9.1.0.x)
-
Performance Tuning
- Overview of Query Performance Optimization
- Query Execution Process
- SQL Execution Plan
-
SQL Optimization Guide
- Optimization Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- SQL Statement Rewriting Rules
- Typical SQL Optimization Methods
- Hint-based Tuning
- Routinely Maintaining Tables
- Routinely Recreating an Index
- Adjusting Key Parameters During SQL Tuning
- Configuring SMP
- Querying SQL Statements That Affect Performance Most
-
Optimization Cases
- Case: Selecting an Appropriate Distribution Column
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Pushing Down Sort Operations to DNs
- Case: Configuring cost_param for Better Query Performance
- Case: Adjusting the Partial Clustering Key
- Case: Adjusting the Table Storage Mode in a Medium Table
- Case: Reconstructing Partition Tables
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL Statements and Eliminating Prune Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Setting Partial Cluster Keys
- Case: Converting from NOT IN to NOT EXISTS
- SQL Execution Troubleshooting
- query_band Load Identification
- Common Performance Parameter Optimization Design
-
Tool Guide
- Overview
- Downloading Related Tools
- gsql
-
Data Studio
- About Data Studio
- Downloading and Installing the Data Studio Client
- Configuring Data Studio
- Configuring SSL Connection
- Connection Management
- Database Management
-
SQL Terminal Management
- Opening Multiple SQL Terminal Tabs
- Managing the SQL Query Execution History
- Opening and Saving SQL Scripts
- Viewing Table Properties, PL/SQL Functions/Procedures on the SQL Terminal Page
- Terminating an Ongoing SQL Query
- Formatting of SQL Queries
- Selecting a DB Object in the SQL Terminal
- Viewing the Execution Plan and Costs
- Viewing the Query Execution Plan and Cost Graphically
- Working with SQL Terminals
- Exporting Query Results
- Managing SQL Terminal Connections
- Security Management
- Troubleshooting
- FAQs
- GDS
-
DSC
- About This Document
- Introduction to DSC
- Using DSC
-
Teradata Syntax Migration
- Supported Keywords and Features
- Constraints and Limitations
- Data Type
- Functions and Operators
- Migrating Tables
- Migrating Indexes
- Migrating Views
- COLLECT STATISTICS
- ACCESS LOCK
- DBC.COLUMNS
- DBC.TABLES
- DBC.INDICES
- SHOW STATS VALUES SEQUENCED
- COMMENT
- Data Manipulation Language (DML)
- Type Casting and Formatting
- BTEQ Utility Command
- Teradata Formats
- System Views
-
MySQL Syntax Migrating
- Supported Keywords and Features
- Data Types
- Functions and Expressions
-
Table (Optional Parameters and Operations)
- ALGORITHM
- ALTER TABLE RENAME
- AUTO_INCREMENT
- AVG_ROW_LENGTH
- BLOCK_SIZE
- CHARSET
- CHECKSUM
- CLUSTERED KEY
- COLLATE
- COMMENT
- CONNECTION
- DEFAULT
- DELAY_KEY_WRITE
- DISTRIBUTE BY
- DIRECTORY
- ENGINE
- FOREIGN_KEY_CHECKS
- IF NOT EXISTS
- INDEX_ALL
- INSERT_METHOD
- KEY_BLOCK_SIZE
- LOCK
- MAX_ROWS
- MIN_ROWS
- PACK_KEYS
- PARTITION BY
- PASSWORD
- ROW_FORMAT
- STATS_AUTO_RECALC
- STATS_PERSISTENT
- STATS_SAMPLE_PAGES
- UNION
- WITH AS
- CHANGE (Column Modification)
- CHECK Constraint
- DROP (Table Deletion)
- LIKE (Table Cloning)
- MODIFY (Modifying a Column)
- TRUNCATE (Table Deletion)
- ROUNDROBIN Table
- RENAME (Table Renaming)
- SET|DROP COLUMN DEFAULT VALUE
- Renaming a Column
- Row-Store/Column-Store Table Compression
- Adding/Deleting a Column
- Indexes
- Comment
- Databases
- Data Manipulation Language (DML)
- Transaction Management and Database Management
- SQL-Server Syntax Migration
-
Oracle Syntax Migration
- Schema Objects
- COMPRESS Phrase
- Bitmap Index
- Custom Tablespace
- Supplemental Log Data
- LONG RAW
- SYS_GUID
- DML
- Pseudo Columns
- OUTER JOIN
- OUTER QUERY (+)
- CONNECT BY
- System Functions
- PL/SQL
- PL/SQL Collections (Using User-Defined Types)
- PL/SQL Packages
- VARRAY
- Granting Execution Permissions
- Package Name List
- Data Type
- Netezza Syntax Migration
- FAQs
- Troubleshooting
- Glossary
- DataCheck
- DWS-Connector
- Server Tool
-
API Reference
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
API Description
- AZ
-
Cluster Management
- Creating a Cluster
- Creating a Cluster (V2)
- Creating a Logical Cluster
- Converting a Physical Cluster to a Logical Cluster
- Querying the Cluster List
- Querying the Logical Cluster List
- Querying Task Information About a Logical Cluster
- Querying Disk Information of a Logical Cluster
- Querying the Node List
- Querying Information About Available Ring Nodes in a Logical Cluster
- Querying Information About Ring Nodes in a Cluster Topology
- Querying Cluster Details
- Querying Node Types
- Deleting Clusters
- Deleting a Logical Cluster
- Editing a Logical Cluster
- Restarting a Logical Cluster
- Switching to a Logical Cluster
- Deleting a Node
- Scaling Out with Idle Nodes
- Resuming Redistribution
- Suspending Redistribution
- Restarting a Cluster
- Scaling Out a Cluster
- Resetting a Password
- Performing a Check Before Cluster Creation
- Scaling In a Cluster
- Delivering Redistribution
- Querying Redistribution Details
- Querying the DSS Storage Pool List
- Querying the Resource Statistics
- Performing Primary-Standby Restoration
- Removing the Read-only Status
- Adding Disk Capacity
- Modifying a Maintenance Window
- Querying Cluster CN Nodes
- Adding CN Nodes in Batches
- Deleting CN Nodes in Batches
- Querying a Cluster Parameter Group
- Querying Cluster Parameter Settings
- Modifying Parameter Settings of a Cluster
- Querying Snapshot Statistics
- Querying the Nodes to Be Removed for Scale-In
- Querying Parameter Modification Audit Records
- Saving Cluster Description
- Querying an Instance
-
Snapshot Management
- Creating a Snapshot
- Querying the Snapshot List
- Querying a Snapshot Policy
- Querying Snapshot Details
- Deleting a Manual Snapshot
- Deleting a Snapshot Policy
- Restoring a Cluster
- Checking the Name of the Table to Be Restored
- Restoring a Table
- Obtaining Available Regions of a Cross-Region Snapshot
- Configuring Cross-Region Backup
- Querying All Cross-Region Snapshot Configurations
- Deleting Cross-Region Backup Configurations
- Copying a Snapshot
- Querying the Cluster Snapshot List
- Adding a Snapshot Policy
- Event Management
- Data Source
- Audit logs
-
Resource Management
- Setting the Resource Management Switch
- Querying the Resource Management Status
- Querying Resource Statistics
- Creating a Resource Pool
- Deleting a Resource Pool
- Querying the Resource Pool List
- Obtaining Resource Pool Details
- Updating Configuration Information of a Resource Pool
- Associating a Resource Pool with a User
- Obtaining the List of Users Bound to a Resource Pool
- Unbinding a User from a Resource Pool
- Creating a Resource Management Plan
- Querying the Resource Management Plan List
- Starting a Resource Management Plan
- Viewing Plan Execution Logs
- Querying Details About a Resource Management Plan
- Stopping a Resource Management Plan
- Deleting a Resource Management Plan
- Adding a Resource Management Plan Stage
- Querying Details About a Resource Management Plan Stage
- Deleting a Resource Management Plan Stage
- Switch to Another Resource Management Plan Stage
- Querying Cluster Schema Space Information
- Updating the Space Limit of a Schema
- Alarm Management
- Connection Management
- Tag Management
- Quota Management
-
DR Management
- Creating a DR Task
- Enabling DR
- Querying the DR List
- Querying DR Details
- Querying DR Progress
- Querying the List of Available DR Clusters
- Updating DR Configurations
- Switching to the DR Cluster
- Switching to the DR Cluster Upon Production Cluster Exceptions
- Performing Cluster Restoration
- Disabling DR
- Checking the DR Name
- Deleting a DR Task
- Job Management
-
Host Monitoring
- Querying the Host Overview
- Querying Disk Information
- Obtaining the NIC Status
- Querying Performance Monitoring Metrics
- Querying Historical Monitoring Data
- Querying Table Skew or Dirty Page Rate Information
- Querying the SQL List
- Querying SQL Execution Information
- Querying the List of Metrics Used by a Cluster
- Obtains the collected data of a specified metric.
- Managing Database Permissions
- Log Management
- Upgrade Management
- Application Cases
- Introduction
- Appendix
- SDK Reference
-
FAQs
- Top FAQs
-
Product Consulting
- Why Should I Use GaussDB(DWS)?
- Should I Choose Public Cloud GaussDB(DWS) or RDS?
- What Are the Differences Between GaussDB(DWS) Users and Roles?
- How Do I Check the Creation Time of a GaussDB(DWS) Database User?
- Learn How to Select a GaussDB(DWS) Region and AZ
- Is Data Secure in GaussDB(DWS)?
- Can I Modify the Security Group of a GaussDB(DWS) Cluster?
- What Is a Database/Data Warehouse/Data Lake/Lakehouse?
- How Are Dirty Pages Generated in GaussDB(DWS)?
- How Do I Use VPC Sharing to Process GaussDB(DWS) Resources?
-
Database Connections
- How Applications Communicate with GaussDB(DWS)?
- Does GaussDB(DWS) Support Third-Party Clients and JDBC and ODBC Drivers?
- What Should I Do If I Cannot Connect to a GaussDB(DWS) Cluster?
- Why Was I Not Notified of Failure Unbinding the EIP When GaussDB(DWS) Is Connected Over the Internet?
- How Do I Configure a Whitelist to Protect GaussDB(DWS) Clusters Available Through a Public IP Address?
-
Data Migration
- What Are the Differences Between Data Formats Supported by OBS and GDS Foreign Tables in GaussDB(DWS)?
- How Does GaussDB(DWS) Store Data?
- How Much Service Data Can Be Stored in GaussDB(DWS)?
- How to Import and Export Data in GaussDB(DWS) Using \copy?
- How Do I Implement Fault Tolerance Import Between Different GaussDB(DWS) Encoding Libraries
- Which Are the Factors That Affect GaussDB(DWS) Import Performance?
-
Database Usage
- How Do I Adjust GaussDB(DWS) Distribution Columns?
- How Do I View and Set the Character Set Encoding Format of the GaussDB(DWS) Database?
- What Do I Do If Date Type Is Automatically Converted to the Timestamp Type During GaussDB(DWS) Table Creation?
- Do I Need to Run VACUUM FULL and ANALYZE on Common Tables Periodically in GaussDB(DWS)?
- How Do I Export the Structure of a GaussDB(DWS) Table?
- How Do I Delete Table Data Efficiently in GaussDB(DWS)?
- How Do I View GaussDB(DWS) Foreign Table Information?
- How Will Data Be Stored in a GaussDB(DWS) Table If No Distribution Column Is Specified During Its Creation?
- How Do I Replace the Null Results with 0 in a GaussDB(DWS) Join Query?
- How Do I Check Whether a GaussDB(DWS) Table Is Row-Stored or Column-Stored?
- How Do I Query the Information About GaussDB(DWS) Column-Store Tables?
- Why Sometimes the GaussDB(DWS) Query Indexes Become Invalid?
- How Do I Use a User-Defined GaussDB(DWS) Function to Rewrite the CRC32() Function?
- What Is a GaussDB(DWS) Schema Starting with pg_toast_temp* or pg_temp*?
- Solutions to Inconsistent GaussDB(DWS) Query Results
- Which System Catalogs in GaussDB(DWS) Cannot Be Subjected to the VACUUM FULL Operation?
- In Which Scenarios Would a GaussDB(DWS) Statement Be "idle in transaction"?
- How Does GaussDB(DWS) Implement Row-to-Column and Column-to-Row Conversion?
- What Are the Differences Between Unique Constraints and Unique Indexes in GaussDB(DWS)?
- What Are the Differences Between GaussDB(DWS) Functions and Stored Procedures?
- How Do I Delete Duplicate Table Data in GaussDB(DWS)?
-
Cluster Management
- How Can I Clear and Reclaim the Storage Space in GaussDB(DWS)?
- Why Did the Used Storage in GaussDB(DWS) Shrink After Scale-out?
- How Is the Disk Space or Capacity of GaussDB(DWS) Calculated?
- How Can I Set the Session Threshold for Cloud Eye When Adding an Alarm Rule on GaussDB(DWS)?
- How Do I Determine Whether a GaussDB(DWS) Cluster Uses the x86 or Arm Architecture?
- What Should I Do If the GaussDB(DWS) Scale-out Check Fails?
- When Should I Add CNs or Scale Out a Cluster in GaussDB(DWS)?
- When to Modify GaussDB(DWS) Classic and Elastic Specifications and When to Perform Scale-Out and Scale-In?
- How Do I Select Between Small-Scale Multi-Node and Large-Scale Three-Node Clusters with Equivalent CPU and Memory in GaussDB(DWS)?
- What Are the Differences Between Cloud SSDs and Local SSDs in GaussDB(DWS)?
- What Are the Differences Between Hot Data Storage and Cold Data Storage in GaussDB(DWS)?
- What Should I Do If the Scale-In Button of GaussDB(DWS) Is Unavailable?
-
Account Permissions
- How Does GaussDB(DWS) Implement Workload Isolation?
- How Do I Change the Password of a GaussDB(DWS) Database Account When the Password Expires?
- How Do I Grant Table Permissions to a Specified GaussDB(DWS) User?
- How Do I Grant the Permission of a Schema to a Specified GaussDB(DWS) User?
- How Do I Create a GaussDB(DWS) Database Read-Only User?
- How Do I Create Private Users and Tables in a GaussDB(DWS) Database?
- How Do I Revoke the CONNECT ON DATABASE Permission of a User on GaussDB(DWS)?
- How Do I View the Table Permissions of a GaussDB(DWS) User?
- What Is the Ruby User in the GaussDB(DWS) Database?
-
Database Performance
- Why Is SQL Execution Slow After Long GaussDB(DWS) Usage?
- Why Does GaussDB(DWS) Perform Worse Than a Single-Server Database in Extreme Scenarios?
- How Do I View SQL Execution Records of a Certain Period When GaussDB(DWS) Service Read and Write Are Blocked?
- What is Operator Spilling in GaussDB(DWS)?
- GaussDB(DWS) CPU Resource Management
- Why Is the Execution of Common GaussDB(DWS) User Slower Than That of User dbadmin?
- What Are the Factors Related to the Single-Table Query Performance in GaussDB(DWS)?
- Backup and Restoration
-
Troubleshooting
-
Database Connections
- What Do I Do If gsql: command not found Is Displayed When I Run gsql to Connect to the Database?
- Database Cannot Be Connected Using the gsql Client
- An Error Indicating Too Many Client Connections Is Reported When a User Connects to a GaussDB(DWS) Database
- Cluster IP Address Cannot Be Pinged/Accessed
- Error "An I/O error occurred while sending to the backend" Is Reported During Service Execution
- JDBC/ODBC
-
Data Import and Export
- "ERROR: invalid byte sequence for encoding 'UTF8': 0x00" Is Reported When Data Is Imported to GaussDB(DWS) Using COPY FROM
- Data Import and Export Faults with GDS
- Failed to Create a GDS Foreign Table and An Error Is Reported Indicating that ROUNDROBIN Is Not Supported
- When CDM Is Used to Import MySQL Data to GaussDB(DWS), the Column Length Exceeds the Threshold and Data Synchronization Fails
- "Access Denied" Is Displayed When the SQL Statement for Creating an OBS Foreign Table Is Executed
- Disk Usage Increases After Data Fails to Be Imported Using GDS
- Error Message "out of memory" Is Displayed When GDS Is Used to Import Data
- Error Message "connection failure error" Is Displayed During GDS Data Transmission
- Data to Be Imported Contains Chinese When the DataArts Studio Service Is Used to Create a GaussDB(DWS) Foreign Table
- Database Parameter Modification
-
Account/Permission/Password
- How Do I Unlock an Account?
- Account Still Locked After Password Resetting
- After the Permission for Querying Tables in a Schema Is Granted to a User, the User Still Cannot Query the Tables
- How Do I Revoke the Permission of a User If grant select on table t1 to public Has Been Executed on a Table
- An Error Message Is Displayed When a Common User Executes the Statement for Creating or Deleting a GDS or OBS Foreign Table, Indicating that the User Does Not Have the Permission or the Permission Is Insufficient
- After the all Permission Is Granted to the Schema of a User, the Error Message "ERROR: current user does not have privilege to role tom" Persists During Table Creation
- An Error Message Is Reported During Statement Execution, Indicating that the User Does Not Have the Required Permission
- A User Cannot Be Deleted Due to Its Dependencies
-
Cluster Performance
- Lock Wait Detection
- During SQL Execution, a Table Deadlock Occurs and An Error Stating LOCK_WAIT_TIMEOUT Is Reported
- Error "abort transaction due to concurrent update" Is Reported During SQL Execution
- Solution to High Disk Usage and Cluster Read-Only
- SQL Execution Is Slow with Low Performance and Sometimes Does Not End After a Long Period of Time
- Data Skew Causes Slow SQL Statement Execution and Operations Fail on Large Tables
- Table Size Does not Change After VACUUM FULL Is Executed on the Table
- VACUUM Is Executed After Table Data Deletion, But the Space Is Not Released
- Error "lock wait timeout" Is Reported When VACUUM FULL Is Executed
- VACUUM FULL Is Slow
- Table Bloating Causes Slow SQL Query and Failed Data Loading on the GUI
- Memory Overflow Occurs in a Cluster
- Statements with User-defined Functions Cannot Be Pushed Down
- Column-Store Tables Cannot Be Updated or Table Bloat Occurs
- Table Bloat Occurs After Data Is Inserted into a Column-Store Table for Multiple Times
- Writing Data to GaussDB(DWS) Is Slow and Client Data Is Stacked
- Low Query Efficiency
- Poor Query Performance Due to the Lack of Statistics
- Execution of SQL Statements Is Slow Due to Nested Loops in Execution Plans
- SQL Query Is Slow Because Partitions Are Not Pruned
- Optimizer Uses Nested Loop Due to the Small Estimated Number of Rows and the Performance Deteriorates
- SQL Statements Contain the in Constant and No Result Is Returned After SQL Statement Execution
- Performance of Single-Table Point Query Is Poor
- CCN Queuing Under Dynamic Load Management
- Performance Deterioration Due to Data Bloat
- Slow Performance Caused by Too Many Small CUs in Column Storage
- Reducing I/O Usage
- Tuning Systems with High CPU Usage
- Reducing Memory Usage
- Cluster Exceptions
-
Database Use
- An Error Is Reported When Data Is Inserted or Updated, Indicating that the Distribution Key Cannot Be Updated
- "Connection reset by peer" Is Displayed When a User Executes an SQL Statement
- "value too long for type character varying" Is Displayed When VARCHAR(n) Stores Chinese Characters
- Case Sensitivity in SQL Statements
- cannot drop table test because other objects depend on it Is Displayed When a Table Is Deleted
- Failed to Execute MERGE INTO UPDATE for Multiple Tables
- JDBC Error Occurs Due to session_timeout Settings
- DROP TABLE Fails to Be Executed
- Execution Results of the string_agg Function Are Inconsistent
- Error "could not open relation with OID xxxx" Is Reported During Table Size Query
- DROP TABLE IF EXISTS Syntax Misuse
- Different Data Is Displayed for the Same Table Queried By Multiple Users
- When a User Specifies Only an Index Name to Modify the Index, A Message Indicating That the Index Does Not Exist Is Displayed
- An Error Is Displayed Indicating Schema Already Exists When Executing CREATE SCHEMA Statement
- Failed to Delete a Database and an Error Is Reported Indicating that a Session Is Connected to the Database
- Byte Type Is Returned After a Table Column of the Character Type Is Read in Java
- "ERROR:start value of partition 'XX' NOT EQUAL up-boundary of last partition." Is Displayed When Operations Related to Table Partitions Are Performed
- Reindexing Fails
- A View Failed to Be Queried
- Global SQL Query
- How Do I Determine Whether UPDATE or DELETE Has Been Executed on a Table?
- "Can't fit xid into page" Is Reported
- "unable to get a stable set of rows in the source table" Is Reported
- DWS Metadata Inconsistency - Abnormal Partition Index
- An Error Is Reported When the TRUNCATE Command Is Executed on the System Table gs_wlm_session_info
- "inserted partition key does not map to any table partition" Is Reported When Data Is Inserted into a Partitioned Table
- Error upper boundary of adding partition MUST overtop last existing partition Is Reported When a New Partition Is Added to a Range Partitioned Table
- Error Reported During Table Query: "missing chunk number %d for toast value %u in pg_toast_XXXX"
- When Inserting Data Into a Table, An Error Is Reported: "duplicate key value violates unique constraint "%s""
- Error could not determine which collation to use for string hashing Reported During Service Execution
- When the ODBC Driver of GaussDB(DWS) Is Used, Content of Fields of the Character Type in the SQL Query Result Is Truncated
- Execution Plan Scan Hints Do Not Take Effect
- Error "invalid input syntax for xxx" Is Reported During Data Type Conversion
- Error UNION types %s and %s cannot be matched Is Reported
- "ERROR: Non-deterministic UPDATE" Is Reported During Update
- Error Reported During Data Insertion: null value in column ' %s' violates not-null constraint
- Error "unable to get a stable set of rows in the source table"
- Query Results Are Inconsistent in Oracle, Teradata, and MySQL Compatibility Modes
-
Database Connections
- Videos
- Performance White Paper
-
Technical White Paper
- GaussDB(DWS)
- Platforms and Technical Specifications Supported by GaussDB(DWS)
-
GaussDB(DWS) Core Technologies
- Shared-Nothing Architecture
- Data Distribution in a Distributed System
- Fully Parallel Query
- Vectorized Executor and Hybrid Row-Column Storage Engine
- Resource Monitoring and Management
- Distributed Transactions
- Online Scale-Out
- SQL on Anywhere
- Cluster Management and HA
- SQL Self-Diagnosis
- Transparent Data Encryption
- Data Masking
- Data Backup and Disaster Recovery
- GaussDB(DWS) Tools
- External APIs
-
Error Code Reference
-
8.2.0 and earlier versions
- Management Console Error Code
-
Data Warehouse Service Error Codes
- Description of SQL Error Codes
- Third-Party Library Error Codes
- GAUSS-00001 -- GAUSS-00100
- GAUSS-00101 -- GAUSS-00200
- GAUSS-00201 -- GAUSS-00300
- GAUSS-00301 -- GAUSS-00400
- GAUSS-00401 -- GAUSS-00500
- GAUSS-00501 -- GAUSS-00600
- GAUSS-00601 -- GAUSS-00700
- GAUSS-00701 -- GAUSS-00800
- GAUSS-00801 -- GAUSS-00900
- GAUSS-00901 -- GAUSS-01000
- GAUSS-01001 -- GAUSS-01100
- GAUSS-01101 -- GAUSS-01200
- GAUSS-01201 -- GAUSS-01300
- GAUSS-01301 -- GAUSS-01400
- GAUSS-01401 -- GAUSS-01500
- GAUSS-01501 -- GAUSS-01600
- GAUSS-01601 -- GAUSS-01700
- GAUSS-01701 -- GAUSS-01800
- GAUSS-01801 -- GAUSS-01900
- GAUSS-01901 -- GAUSS-02000
- GAUSS-02001 -- GAUSS-02100
- GAUSS-02101 -- GAUSS-02200
- GAUSS-02201 -- GAUSS-02300
- GAUSS-02301 -- GAUSS-02400
- GAUSS-02401 -- GAUSS-02500
- GAUSS-02501 -- GAUSS-02600
- GAUSS-02601 -- GAUSS-02700
- GAUSS-02701 -- GAUSS-02800
- GAUSS-02801 -- GAUSS-02900
- GAUSS-02901 -- GAUSS-03000
- GAUSS-03001 -- GAUSS-03100
- GAUSS-03101 -- GAUSS-03200
- GAUSS-03201 -- GAUSS-03300
- GAUSS-03301 -- GAUSS-03400
- GAUSS-03401 -- GAUSS-03500
- GAUSS-03501 -- GAUSS-03600
- GAUSS-03601 -- GAUSS-03700
- GAUSS-03701 -- GAUSS-03800
- GAUSS-03801 -- GAUSS-03900
- GAUSS-03901 -- GAUSS-04000
- GAUSS-04001 -- GAUSS-04100
- GAUSS-04101 -- GAUSS-04200
- GAUSS-04201 -- GAUSS-04300
- GAUSS-04301 -- GAUSS-04400
- GAUSS-04401 -- GAUSS-04500
- GAUSS-04501 -- GAUSS-04600
- GAUSS-04601 -- GAUSS-04700
- GAUSS-04701 -- GAUSS-04800
- GAUSS-04901 -- GAUSS-04999
- GAUSS-05101 -- GAUSS-05200
- GAUSS-05201 -- GAUSS-05800
- GAUSS-05801 -- GAUSS-05900
- GAUSS-05901 -- GAUSS-05999
- GAUSS-06101 -- GAUSS-06200
- GAUSS-50000 -- GAUSS-50999
- GAUSS-51000 -- GAUSS-51999
- GAUSS-52000 -- GAUSS-52999
- GAUSS-53000 -- GAUSS-53999
- OE000
- 8.2.1 or later versions
-
8.2.0 and earlier versions
- Glossary
-
More Documents
-
User Guide
- Service Overview
- Getting Started
- Process for Using GaussDB(DWS)
- Preparations
- Cluster Configuration
-
Cluster Connection
- Methods of Connecting to a Cluster
- Obtaining the Cluster Connection Address
- Using the gsql CLI Client to Connect to a Cluster
- Using the Data Studio GUI Client to Connect to a Cluster
- Using the JDBC and ODBC Drivers to Connect to a Cluster
- Using the Python Library psycopg2 to Connect to a Cluster
- Using the Python Library PyGreSQL to Connect to a Cluster
- Managing Database Connections
-
Clusters
- Checking the Cluster Status
- Viewing Basic Cluster Information
- Managing Access Domain Names
- Cluster Scale-out
- Performing a Primary/Standby Switchback
- Cluster Upgrade
- Password Reset
- Cluster Restart
- Modifying Database Parameters
- MRS Data Sources
- Managing Logical Clusters
- Managing Tags
- Deleting Clusters
- Managing Parameter Templates
- Managing Clusters That Fail to Be Created
- Cluster HA
- Monitoring and Alarms
- Cluster Security Management
- Audit Logs
-
FAQs
-
General Problems
- Why Are Data Warehouses Necessary?
- What Are the Differences Between a Data Warehouse and the Hadoop Big Data Platform?
- Why Should I Use GaussDB(DWS)?
- When Should I Use GaussDB(DWS) and MRS?
- What Are the Differences Between GaussDB(DWS) and Hive in Functions?
- What Is the User Quota?
- What Are the Differences Between Users and Roles?
- How Do I Check the Creation Time of a Database User?
- Regions and AZs
- Is My Data Secure in GaussDB(DWS)?
- How Is GaussDB(DWS) Secured?
- Can I Modify the Security Group of a GaussDB(DWS) Cluster?
- What Is a Database/Data Warehouse/Data Lake/Lakehouse?
-
Cluster Management
- What Do I Do If Creating a GaussDB(DWS) Cluster Failed?
- How Can I Clear and Reclaim the Storage Space?
- Why Did the Used Storage Shrink After Scale-out?
- How Do I View Node Metrics (CPU, Memory, and Disk Usage)?
- Does GaussDB(DWS) Support a Single Node for a Learning Environment?
- How Is the Disk Space or Capacity of GaussDB(DWS) Calculated?
- What Are the gaussdb and postgres Databases of GaussDB(DWS)?
- How Do I Set the Maximum Number of Sessions When Adding an Alarm Rule on Cloud Eye?
- When Should I Add CNs or Scale out a cluster?
- What Are the Differences Between Hot Data Storage and Cold Data Storage?
-
Database Connections
- How Applications Communicate with GaussDB(DWS)?
- Does GaussDB(DWS) Support Third-Party Clients and JDBC and ODBC Drivers?
- Can I Connect to GaussDB(DWS) Cluster Nodes Using SSH?
- What Should I Do If I Cannot Connect to a Data Warehouse Cluster?
- Why Was I Not Notified of Failure Unbinding the EIP When GaussDB(DWS) Is Connected Over the Internet?
- How Do I Configure a Whitelist to Protect Clusters Available Through a Public IP Address?
-
Data Import and Export
- What Are the Differences Between Data Formats Supported by OBS and GDS Foreign Tables?
- How Do I Import Incremental Data Using an OBS Foreign Table?
- How Can I Import Data to GaussDB(DWS)?
- How Much Service Data Can a Data Warehouse Store?
- How Do I Use \Copy to Import and Export Data?
- Can I Export GaussDB(DWS) Data from/to OBS Across Regions?
- How Do I Import GaussDB(DWS)/Oracle/MySQL/SQL Server Data to GaussDB(DWS) (Whole Database Migration)?
- Can I Import Data over the Public/External Network Using GDS?
- Which Are the Factors That Affect GaussDB(DWS) Import Performance?
-
Account, Password, and Permissions
- How Does GaussDB(DWS) Implement Workload Isolation?
- How Do I Change the Password of a Database Account When the Password Expires?
- How Do I Grant Table Permissions to a User?
- How Do I Grant Schema Permissions to a User?
- How Do I Create a Database Read-only User?
- How Do I Create Private Database Users and Tables?
- How Do I Revoke the CONNECT ON DATABASE Permission from a User?
- How Do I View the Table Permissions of a User?
- Who Is User Ruby?
-
Database Usage
- How Do I Change Distribution Columns?
- How Do I View and Set the Database Character Encoding?
- What Do I Do If Date Type Is Automatically Converted to the Timestamp Type During Table Creation?
- Do I Need to Run VACUUM FULL and ANALYZE on Common Tables Periodically?
- Do I Need to Set a Distribution Key After Setting a Primary Key?
- Is GaussDB(DWS) Compatible with PostgreSQL Stored Procedures?
- What Are Partitioned Tables, Partitions, and Partition Keys?
- How Can I Export the Table Structure?
- How Can I Export All Tables and Views from a Database?
- How Can I Delete Table Data Efficiently?
- How Do I View Foreign Table Information?
- If No Distribution Column Is Specified, How Will Data Be Stored?
- How Do I Replace the Null Result with 0?
- How Do I Check Whether a Table Is Row-Stored or Column-Stored?
- How Do I Query the Information About GaussDB(DWS) Column-Store Tables?
- Why Sometimes the GaussDB(DWS) Query Indexes Become Invalid?
- How Do I Use a User-Defined Function to Rewrite the CRC32() Function?
- What Are the Schemas Starting with pg_toast_temp* or pg_temp*?
- Solutions to Inconsistent GaussDB(DWS) Query Results
- Which System Catalogs That the VACUUM FULL Operation Cannot Be Performed on?
- In Which Scenarios Would a Statement Be "idle in transaction"?
- Database Performance
- Snapshot Backup and Restoration
-
General Problems
- Change History
- API Reference (ME-Abu Dhabi Region)
-
Developer Guide (ME-Abu Dhabi Region)
- Welcome
- System Overview
-
Data Migration
- Data Migration to GaussDB(DWS)
- Data Import
- Full Database Migration
- Meta-command Migration
- Data Export
- Appendices
- Syntax Compatibility Differences Among Oracle, Teradata, and MySQL
- Database Security Management
- Development and Design Proposal
-
Guide: JDBC- or ODBC-Based Development
- Development Specifications
- Downloading Drivers
-
JDBC-Based Development
- JDBC Package and Driver Class
- Development Process
- Loading a Driver
- Connecting to a Database
- Executing SQL Statements
- Processing Data in a Result Set
- Closing the Connection
- Example: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example: Migrating Data from MySQL to GaussDB(DWS)
-
JDBC Interface Reference
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- ODBC-Based Development
- PostGIS Extension
- Resource Load Management
-
Query Performance Optimization
- Optimization Overview
- Overview of Query Performance Optimization
- Query Analysis
- System Optimization
-
Query Improvement
- Query Execution Process
- Introduction to the SQL Execution Plan
- Optimization Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Typical SQL Optimization Methods
- Experience in Rewriting SQL Statements
- Adjusting Key Parameters During SQL Tuning
- Hint-based Tuning
- Routinely Maintaining Tables
- Routinely Recreating an Index
- Configuring the SMP
-
Optimization Cases
- Case: Selecting an Appropriate Distribution Column
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Pushing Down Sort Operations to DNs
- Case: Configuring cost_param for Better Query Performance
- Case: Adjusting the Distribution Key
- Case: Adjusting the Partial Clustering Key
- Case: Adjusting the Table Storage Mode in a Medium Table
- Case: Adjusting the Local Clustering Column
- Case: Reconstructing Partition Tables
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL and Deleting Subqueries (Case 1)
- Case: Rewriting SQL and Deleting Subqueries (Case 2)
- Case: Rewriting SQL Statements and Eliminating Prune Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Setting Partial Cluster Keys
- SQL Execution Troubleshooting
- Common Performance Parameter Optimization Design
- User-Defined Functions
- Stored Procedures
-
System Catalogs and System Views
- Overview of System Catalogs and System Views
-
System Catalogs
- GS_OBSSCANINFO
- GS_WLM_INSTANCE_HISTORY
- GS_WLM_OPERATOR_INFO
- GS_WLM_SESSION_INFO
- GS_WLM_USER_RESOURCE_HISTORY
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_ENUM
- PG_EXTENSION
- PG_EXTENSION_DATA_SOURCE
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_INDEX
- PG_INHERITS
- PG_JOBS
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OBSSCANINFO
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REDACTION_COLUMN
- PG_REDACTION_POLICY
- PG_RLSPOLICY
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_ACTION
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
-
System Views
- ALL_ALL_TABLES
- ALL_CONSTRAINTS
- ALL_CONS_COLUMNS
- ALL_COL_COMMENTS
- ALL_DEPENDENCIES
- ALL_IND_COLUMNS
- ALL_IND_EXPRESSIONS
- ALL_INDEXES
- ALL_OBJECTS
- ALL_PROCEDURES
- ALL_SEQUENCES
- ALL_SOURCE
- ALL_SYNONYMS
- ALL_TAB_COLUMNS
- ALL_TAB_COMMENTS
- ALL_TABLES
- ALL_USERS
- ALL_VIEWS
- DBA_DATA_FILES
- DBA_USERS
- DBA_COL_COMMENTS
- DBA_CONSTRAINTS
- DBA_CONS_COLUMNS
- DBA_IND_COLUMNS
- DBA_IND_EXPRESSIONS
- DBA_IND_PARTITIONS
- DBA_INDEXES
- DBA_OBJECTS
- DBA_PART_INDEXES
- DBA_PART_TABLES
- DBA_PROCEDURES
- DBA_SEQUENCES
- DBA_SOURCE
- DBA_SYNONYMS
- DBA_TAB_COLUMNS
- DBA_TAB_COMMENTS
- DBA_TAB_PARTITIONS
- DBA_TABLES
- DBA_TABLESPACES
- DBA_TRIGGERS
- DBA_VIEWS
- DUAL
- GLOBAL_REDO_STAT
- GLOBAL_REL_IOSTAT
- GLOBAL_STAT_DATABASE
- GLOBAL_WORKLOAD_SQL_COUNT
- GLOBAL_WORKLOAD_SQL_ELAPSE_TIME
- GLOBAL_WORKLOAD_TRANSACTION
- GS_ALL_CONTROL_GROUP_INFO
- GS_CLUSTER_RESOURCE_INFO
- GS_INSTR_UNIQUE_SQL
- GS_REL_IOSTAT
- GS_NODE_STAT_RESET_TIME
- GS_SESSION_CPU_STATISTICS
- GS_SESSION_MEMORY_STATISTICS
- GS_SQL_COUNT
- GS_WAIT_EVENTS
- GS_WLM_OPERAROR_INFO
- GS_WLM_OPERATOR_HISTORY
- GS_WLM_OPERATOR_STATISTICS
- GS_WLM_SESSION_INFO
- GS_WLM_SESSION_HISTORY
- GS_WLM_SESSION_STATISTICS
- GS_WLM_SQL_ALLOW
- GS_WORKLOAD_SQL_COUNT
- GS_WORKLOAD_SQL_ELAPSE_TIME
- GS_WORKLOAD_TRANSACTION
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_USER_TRANSACTION
- GS_VIEW_DEPENDENCY
- GS_VIEW_DEPENDENCY_PATH
- GS_VIEW_INVALID
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_BULKLOAD_STATISTICS
- PG_COMM_CLIENT_INFO
- PG_COMM_DELAY
- PG_COMM_STATUS
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_JOB
- PG_JOB_PROC
- PG_JOB_SINGLE
- PG_LIFECYCLE_DATA_DISTRIBUTE
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_QUERYBAND_ACTION
- PG_REPLICATION_SLOTS
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SESSION_WLMSTAT
- PG_SESSION_IOSTAT
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_GET_MEM_MBYTES_RESERVED
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_SCHEMA_INFO
- PG_TOTAL_USER_RESOURCE_INFO
- PG_USER
- PG_USER_MAPPINGS
- PG_VIEWS
- PG_WLM_STATISTICS
- PGXC_BULKLOAD_PROGRESS
- PGXC_BULKLOAD_STATISTICS
- PGXC_COMM_CLIENT_INFO
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_DEADLOCK
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_STAT_ALL_PARTITIONS
- PGXC_GET_TABLE_SKEWNESS
- PGXC_GTM_SNAPSHOT_STATUS
- PGXC_INSTANCE_TIME
- PGXC_INSTR_UNIQUE_SQL
- PGXC_LOCK_CONFLICTS
- PGXC_NODE_ENV
- PGXC_NODE_STAT_RESET_TIME
- PGXC_OS_RUN_INFO
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_REDO_STAT
- PGXC_REL_IOSTAT
- PGXC_REPLICATION_SLOTS
- PGXC_RUNNING_XACTS
- PGXC_SETTINGS
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_STAT_BGWRITER
- PGXC_STAT_DATABASE
- PGXC_STAT_REPLICATION
- PGXC_SQL_COUNT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_TOTAL_SCHEMA_INFO
- PGXC_TOTAL_SCHEMA_INFO_ANALYZE
- PGXC_USER_TRANSACTION
- PGXC_VARIABLE_INFO
- PGXC_WAIT_EVENTS
- PGXC_WLM_OPERATOR_HISTORY
- PGXC_WLM_OPERATOR_INFO
- PGXC_WLM_OPERATOR_STATISTICS
- PGXC_WLM_SESSION_INFO
- PGXC_WLM_SESSION_HISTORY
- PGXC_WLM_SESSION_STATISTICS
- PGXC_WLM_WORKLOAD_RECORDS
- PGXC_WORKLOAD_SQL_COUNT
- PGXC_WORKLOAD_SQL_ELAPSE_TIME
- PGXC_WORKLOAD_TRANSACTION
- PLAN_TABLE
- PLAN_TABLE_DATA
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_TOTAL_MEMORY_DETAIL
- PV_REDO_STAT
- REDACTION_COLUMNS
- REDACTION_POLICIES
- USER_COL_COMMENTS
- USER_CONSTRAINTS
- USER_CONS_COLUMNS
- USER_INDEXES
- USER_IND_COLUMNS
- USER_IND_EXPRESSIONS
- USER_IND_PARTITIONS
- USER_JOBS
- USER_OBJECTS
- USER_PART_INDEXES
- USER_PART_TABLES
- USER_PROCEDURES
- USER_SEQUENCES
- USER_SOURCE
- USER_SYNONYMS
- USER_TAB_COLUMNS
- USER_TAB_COMMENTS
- USER_TAB_PARTITIONS
- USER_TABLES
- USER_TRIGGERS
- USER_VIEWS
- V$SESSION
- V$SESSION_LONGOPS
-
GUC Parameters
- Viewing GUC Parameters
- Configuring GUC Parameters
- GUC Parameter Usage
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Logs
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Workload Management
- Automatic Cleanup
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Developer Operations
- Auditing
- Transaction Monitoring
- Miscellaneous Parameters
- Glossary
-
SQL Syntax Reference (ME-Abu Dhabi Region)
- GaussDB(DWS) SQL
- Differences Between GaussDB(DWS) and PostgreSQL
- Keyword
- Data Types
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Mathematical Functions and Operators
- Date and Time Processing Functions and Operators
- Type Conversion Functions
- Geometric Functions and Operators
- Network Address Functions and Operators
- Text Search Functions and Operators
- UUID Functions
- JSON Functions
- HLL Functions and Operators
- SEQUENCE Functions
- Array Functions and Operators
- Range Functions and Operators
- Aggregate Functions
- Window Functions
- Security Functions
- Set Returning Functions
- Conditional Expression Functions
- System Information Functions
-
System Administration Functions
- Configuration Settings Functions
- Universal File Access Functions
- Server Signaling Functions
- Backup and Restoration Control Functions
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Residual File Management Functions
- Replication Functions
- Other Functions
- Resource Management Functions
- Data Redaction Functions
- Statistics Information Functions
- Trigger Functions
- XML Functions
- Call Stack Recording Functions
- Expressions
- Type Conversion
- Full Text Search
- System Operation
- Controlling Transactions
-
DDL Syntax
- DDL Syntax Overview
- ALTER DATABASE
- ALTER FOREIGN TABLE (for GDS)
- ALTER FOREIGN TABLE (for HDFS or OBS)
- ALTER FUNCTION
- ALTER GROUP
- ALTER INDEX
- ALTER LARGE OBJECT
- ALTER REDACTION POLICY
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TEXT SEARCH CONFIGURATION
- ALTER TEXT SEARCH DICTIONARY
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- CREATE BARRIER
- CREATE DATABASE
- CREATE FOREIGN TABLE (for GDS Import and Export)
- CREATE FOREIGN TABLE (for OBS Import and Export)
- CREATE FOREIGN TABLE (SQL on Hadoop or OBS)
- CREATE FUNCTION
- CREATE GROUP
- CREATE INDEX
- CREATE REDACTION POLICY
- CREATE ROW LEVEL SECURITY POLICY
- CREATE PROCEDURE
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CURSOR
- DROP DATABASE
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GROUP
- DROP INDEX
- DROP OWNED
- DROP REDACTION POLICY
- DROP ROW LEVEL SECURITY POLICY
- DROP PROCEDURE
- DROP RESOURCE POOL
- DROP ROLE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TEXT SEARCH CONFIGURATION
- DROP TEXT SEARCH DICTIONARY
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- FETCH
- MOVE
- REINDEX
- RESET
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SHOW
- TRUNCATE
- VACUUM
- DML Syntax
- DCL Syntax
- DQL Syntax
- TCL Syntax
- GIN Indexes
-
Tool Guide (ME-Abu Dhabi Region)
- Overview
- Downloading Client Tools
- gsql - CLI Client
-
Data Studio - Integrated Database Development Tool
- About Data Studio
- Installing and Configuring Data Studio
- Quick Start
- Data Studio GUI
- Data Studio Menus
- Data Studio Toolbar
- Data Studio Right-Click Menus
- Connection Profiles
- Databases
- Schemas
- Creating a Function/Procedure
- Editing a Function/Procedure
- Granting/Revoking a Permission (Function/Procedure)
- Debugging a PL/SQL Function
- Working with Functions/Procedures
- GaussDB(DWS) Tables
- Sequences
- Views
-
SQL Terminal
- Opening Multiple SQL Terminal Tabs
- Managing the History of Executed SQL Queries
- Opening and Saving SQL Scripts
- Viewing Object Properties in the SQL Terminal
- Canceling the Execution of SQL Queries
- Formatting of SQL Queries
- Selecting a DB Object in the SQL Terminal
- Viewing the Execution Plan and Costs
- Viewing the Query Execution Plan and Cost Graphically
- Using SQL Terminals
- Exporting Query Results
- Managing SQL Terminal Connections
- Batch Operation
- Personalizing Data Studio
- Performance Specifications
- Security Management
- Troubleshooting
- FAQs
- GDS: Parallel Data Loader
-
DSC: SQL Syntax Migration Tool
- Overview
- Supported Keywords and Features
- Constraints and Limitations
- System Requirements
- Installing DSC
- Configuring DSC
- Using DSC
- Teradata Syntax Migration
-
Oracle Syntax Migration
- Overview
- Schema Objects
- COMPRESS Phrase
- Bitmap Index
- Custom Tablespace
- Supplemental Log Data
- LONG RAW
- DML
- Pseudo Columns
- OUTER JOIN
- OUTER QUERY (+)
- CONNECT BY
- System Functions
- PL/SQL
- PL/SQL Collections (Using User-Defined Types)
- PL/SQL Packages
- VARRAY
- Granting Execution Permissions
- Package Name List
- Data Type
- Chinese Character Support
- Netezza Syntax Migration
- MySQL Syntax Migration
- DB2 Syntax Migration
- Command Reference
- Log Reference
- Troubleshooting
- FAQs
- Security Management
- Server Tool
- Error Code Reference (ME-Abu Dhabi Region)
-
User Guide (Paris Region)
- Service Overview
- Getting Started
- Process for Using GaussDB(DWS)
- Preparations
- Creating or Deleting a Cluster
-
Cluster Connection
- Methods of Connecting to a Cluster
- Obtaining the Cluster Connection Address
- Using the Data Studio GUI Client to Connect to a Cluster
- Using the gsql CLI Client to Connect to a Cluster
- Using the JDBC and ODBC Drivers to Connect to a Cluster
- Using the Third-Party Function Library psycopg2 of Python to Connect to a Cluster
- Using the Python Library PyGreSQL to Connect to a Cluster
- Managing Database Connections
- Monitoring and Alarms
- Specifications Change and Scaling
- Backup and Disaster Recovery
- Intelligent O&M
-
Cluster Management
- Modifying Database Parameters
- Checking the Cluster Status
- Viewing Cluster Details
- Managing Access Domain Names
- Cluster Topology
- Managing Tags
- Managing Enterprise Projects
- Managing Clusters That Fail to Be Created
- Removing the Read-only Status
- Performing a Primary/Standby Switchback
- Cluster Restart
- Resetting a Password
- Cluster Upgrade
- Associating and Disassociating ELB
- Managing CNs
- Cluster Log Management
- Database User Management
- Audit Logs
- Cluster Security Management
- Resource Management
- Data Source Management
-
Managing Logical Clusters
- Logical Cluster Overview
- Adding Logical Clusters
- Editing Logical Clusters
- Managing Resources (in a Logical Cluster)
- Restarting Logical Clusters
- Scaling Out Logical Clusters
- Deleting Logical Clusters
- Tutorial: Converting a Physical Cluster That Contains Data into a Logical Cluster
- Tutorial: Dividing a New Physical Cluster into Logical Clusters
-
FAQs
-
General Problems
- Why Do I Need to Use a Data Warehouse?
- What Are the Differences Between Users and Roles?
- When Should I Use GaussDB(DWS) and MRS?
- How Do I Check the Creation Time of a Database User?
- Regions and AZs
- Is My Data Secure in GaussDB(DWS)?
- How Is GaussDB(DWS) Secured?
- Can I Modify the Security Group of a GaussDB(DWS) Cluster?
- How Are Dirty Pages Generated in GaussDB(DWS)?
-
Database Usage
- How Do I Change Distribution Columns?
- How Do I View and Set the Database Character Encoding?
- What Do I Do If Date Type Is Automatically Converted to the Timestamp Type During Table Creation?
- Do I Need to Run VACUUM FULL and ANALYZE on Common Tables Periodically?
- Do I Need to Set a Distribution Key After Setting a Primary Key?
- Is GaussDB(DWS) Compatible with PostgreSQL Stored Procedures?
- What Are Partitioned Tables, Partitions, and Partition Keys?
- How Can I Export the Table Structure?
- How Do I Delete Table Data Efficiently?
- How Do I View Foreign Table Information?
- If No Distribution Column Is Specified, How Will Data Be Stored?
- How Do I Replace the Null Result with 0?
- How Do I Check Whether a Table Is Row-Stored or Column-Stored?
- How Do I Query the Information About GaussDB(DWS) Column-Store Tables?
- Why Sometimes the GaussDB(DWS) Query Indexes Become Invalid?
- How Do I Use a User-Defined Function to Rewrite the CRC32() Function?
- What Are the Schemas Starting with pg_toast_temp* or pg_temp*?
- Solutions to Inconsistent GaussDB(DWS) Query Results
- Which System Catalogs That the VACUUM FULL Operation Cannot Be Performed on?
- In Which Scenarios Would a Statement Be "idle in transaction"?
- How Does GaussDB(DWS) Implement Row-to-Column and Column-to-Row Conversion?
- What Are the Differences Between Unique Constraints and Unique Indexes?
- What Are the Differences Between Functions and Stored Procedures?
- How Do I Delete Duplicate Table Data?
-
Cluster Management
- What Do I Do If Creating a GaussDB(DWS) Cluster Failed?
- How Can I Clear and Reclaim the Storage Space?
- Why Did the Used Storage Shrink After Scale-out?
- How Do I View Node Metrics (CPU, Memory, and Disk Usage)?
- How Is the Disk Space or Capacity of GaussDB(DWS) Calculated?
- What Are the gaussdb and postgres Databases of GaussDB(DWS)?
- How Do I Set the Maximum Number of Sessions When Adding an Alarm Rule on Cloud Eye?
- When Should I Add CNs or Scale out a cluster?
- How Should I Select from a Small-Flavor Many-Node Cluster and a Large-Flavor Three-Node Cluster with Same CPU Cores and Memory?
- What Are the Differences Between Hot Data Storage and Cold Data Storage?
- What Do I do if the Scale-in Button Is Dimmed?
-
Database Connections
- How Applications Communicate with GaussDB(DWS)?
- Does GaussDB(DWS) Support Third-Party Clients and JDBC and ODBC Drivers?
- Can I Connect to GaussDB(DWS) Cluster Nodes Using SSH?
- What Should I Do If I Cannot Connect to a GaussDB(DWS) Cluster?
- Why Was I Not Notified of Failure Unbinding the EIP When GaussDB(DWS) Is Connected Over the Internet?
- How Do I Configure a Whitelist to Protect Clusters Available Through a Public IP Address?
-
Data Import and Export
- What Are the Differences Between Data Formats Supported by OBS and GDS Foreign Tables?
- How Do I Import Incremental Data Using an OBS Foreign Table?
- How Can I Import Data to GaussDB(DWS)?
- How Much Service Data Can a Data Warehouse Store?
- How Do I Use \Copy to Import and Export Data?
- How Do I Implement Fault Tolerance Import Between Different Encoding Libraries
- Can I Import and Export Data to and from OBS Across Regions?
- Can I Import Data over the Public/External Network Using GDS?
- Which Are the Factors That Affect GaussDB(DWS) Import Performance?
-
Account, Password, and Permission
- How Does GaussDB(DWS) Implement Workload Isolation?
- How Do I Change the Password of a Database Account When the Password Expires?
- How Do I Grant Table Permissions to a User?
- How Do I Grant Schema Permissions to a User?
- How Do I Create a Database Read-only User?
- How Do I Create Private Database Users and Tables?
- How Do I Revoke the CONNECT ON DATABASE Permission from a User?
- How Do I View the Table Permissions of a User?
- Who Is User Ruby?
-
Database Performance
- Why Is SQL Execution Slow After Long GaussDB(DWS) Usage?
- Why Does GaussDB(DWS) Perform Worse Than a Single-Server Database in Extreme Scenarios?
- How Can I View SQL Execution Records in a Certain Period When Read and Write Requests Are Blocked?
- What Do I Do If My Cluster Is Unavailable Because of Insufficient Space?
- GaussDB(DWS) CPU Resource Management
- Why the Tasks Executed by an Ordinary User Are Slower Than That Executed by the dbadmin User?
- What Are the Factors Related to the Single-Table Query Performance in GaussDB(DWS)?
- Snapshot Backup and Restoration
-
General Problems
- API Reference (Paris Region)
-
Developer Guide (Paris Region)
- Welcome
- System Overview
-
Data Migration
- Data Migration to GaussDB(DWS)
-
Data Import
- Importing Data from OBS in Parallel
- Using GDS to Import Data from a Remote Server
- Importing Data from MRS to a Cluster
- Importing Data from One GaussDB(DWS) Cluster to Another
- Using a gsql Meta-Command to Import Data
- Running the COPY FROM STDIN Statement to Import Data
- Full Database Migration
- Meta-command Migration
- Data Export
- Other Operations
- Syntax Compatibility Differences Among Oracle, Teradata, and MySQL
- Database Security Management
- Development and Design Proposal
-
Guide: JDBC- or ODBC-Based Development
- Development Specifications
- Downloading Drivers
-
JDBC-Based Development
- JDBC Package and Driver Class
- Development Process
- Loading a Driver
- Connecting to a Database
- Executing SQL Statements
- Processing Data in a Result Set
- Closing the Connection
- Example: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example: Migrating Data from MySQL to GaussDB(DWS)
-
JDBC Interface Reference
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- ODBC-Based Development
- PostGIS Extension
- Resource Load Management
- Resource Monitoring
-
Query Performance Optimization
- Overview of Query Performance Optimization
- Query Analysis
- Query Improvement
-
Optimization Cases
- Case: Selecting an Appropriate Distribution Column
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Pushing Down Sort Operations to DNs
- Case: Configuring cost_param for Better Query Performance
- Case: Adjusting the Distribution Key
- Case: Adjusting the Partial Clustering Key
- Case: Adjusting the Table Storage Mode in a Medium Table
- Case: Adjusting the Local Clustering Column
- Case: Reconstructing Partition Tables
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL and Deleting Subqueries (Case 1)
- Case: Rewriting SQL and Deleting Subqueries (Case 2)
- Case: Rewriting SQL Statements and Eliminating Prune Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Setting Partial Cluster Keys
- SQL Execution Troubleshooting
- Common Performance Parameter Optimization Design
- User-Defined Functions
- Stored Procedures
-
System Catalogs and System Views
- Overview of System Catalogs and System Views
-
System Catalogs
- GS_OBSSCANINFO
- GS_WLM_INSTANCE_HISTORY
- GS_WLM_OPERATOR_INFO
- GS_WLM_SESSION_INFO
- GS_WLM_USER_RESOURCE_HISTORY
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_ENUM
- PG_EXTENSION
- PG_EXTENSION_DATA_SOURCE
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_INDEX
- PG_INHERITS
- PG_JOBS
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OBSSCANINFO
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REDACTION_COLUMN
- PG_REDACTION_POLICY
- PG_RLSPOLICY
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_ACTION
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
-
System Views
- ALL_ALL_TABLES
- ALL_CONSTRAINTS
- ALL_CONS_COLUMNS
- ALL_COL_COMMENTS
- ALL_DEPENDENCIES
- ALL_IND_COLUMNS
- ALL_IND_EXPRESSIONS
- ALL_INDEXES
- ALL_OBJECTS
- ALL_PROCEDURES
- ALL_SEQUENCES
- ALL_SOURCE
- ALL_SYNONYMS
- ALL_TAB_COLUMNS
- ALL_TAB_COMMENTS
- ALL_TABLES
- ALL_USERS
- ALL_VIEWS
- DBA_DATA_FILES
- DBA_USERS
- DBA_COL_COMMENTS
- DBA_CONSTRAINTS
- DBA_CONS_COLUMNS
- DBA_IND_COLUMNS
- DBA_IND_EXPRESSIONS
- DBA_IND_PARTITIONS
- DBA_INDEXES
- DBA_OBJECTS
- DBA_PART_INDEXES
- DBA_PART_TABLES
- DBA_PROCEDURES
- DBA_SEQUENCES
- DBA_SOURCE
- DBA_SYNONYMS
- DBA_TAB_COLUMNS
- DBA_TAB_COMMENTS
- DBA_TAB_PARTITIONS
- DBA_TABLES
- DBA_TABLESPACES
- DBA_TRIGGERS
- DBA_VIEWS
- DUAL
- GLOBAL_REDO_STAT
- GLOBAL_REL_IOSTAT
- GLOBAL_STAT_DATABASE
- GLOBAL_WORKLOAD_SQL_COUNT
- GLOBAL_WORKLOAD_SQL_ELAPSE_TIME
- GLOBAL_WORKLOAD_TRANSACTION
- GS_ALL_CONTROL_GROUP_INFO
- GS_CLUSTER_RESOURCE_INFO
- GS_INSTR_UNIQUE_SQL
- GS_REL_IOSTAT
- GS_NODE_STAT_RESET_TIME
- GS_SESSION_CPU_STATISTICS
- GS_SESSION_MEMORY_STATISTICS
- GS_SQL_COUNT
- GS_WAIT_EVENTS
- GS_WLM_OPERAROR_INFO
- GS_WLM_OPERATOR_HISTORY
- GS_WLM_OPERATOR_STATISTICS
- GS_WLM_SESSION_INFO
- GS_WLM_SESSION_HISTORY
- GS_WLM_SESSION_STATISTICS
- GS_WLM_SQL_ALLOW
- GS_WORKLOAD_SQL_COUNT
- GS_WORKLOAD_SQL_ELAPSE_TIME
- GS_WORKLOAD_TRANSACTION
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_USER_TRANSACTION
- GS_VIEW_DEPENDENCY
- GS_VIEW_DEPENDENCY_PATH
- GS_VIEW_INVALID
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_BULKLOAD_STATISTICS
- PG_COMM_CLIENT_INFO
- PG_COMM_DELAY
- PG_COMM_STATUS
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_JOB
- PG_JOB_PROC
- PG_JOB_SINGLE
- PG_LIFECYCLE_DATA_DISTRIBUTE
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_QUERYBAND_ACTION
- PG_REPLICATION_SLOTS
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SESSION_WLMSTAT
- PG_SESSION_IOSTAT
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_GET_MEM_MBYTES_RESERVED
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_SCHEMA_INFO
- PG_TOTAL_USER_RESOURCE_INFO
- PG_USER
- PG_USER_MAPPINGS
- PG_VIEWS
- PG_WLM_STATISTICS
- PGXC_BULKLOAD_PROGRESS
- PGXC_BULKLOAD_STATISTICS
- PGXC_COMM_CLIENT_INFO
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_DEADLOCK
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_STAT_ALL_PARTITIONS
- PGXC_GET_TABLE_SKEWNESS
- PGXC_GTM_SNAPSHOT_STATUS
- PGXC_INSTANCE_TIME
- PGXC_INSTR_UNIQUE_SQL
- PGXC_LOCK_CONFLICTS
- PGXC_NODE_ENV
- PGXC_NODE_STAT_RESET_TIME
- PGXC_OS_RUN_INFO
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_REDO_STAT
- PGXC_REL_IOSTAT
- PGXC_REPLICATION_SLOTS
- PGXC_RUNNING_XACTS
- PGXC_SETTINGS
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_STAT_BGWRITER
- PGXC_STAT_DATABASE
- PGXC_STAT_REPLICATION
- PGXC_SQL_COUNT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_TOTAL_SCHEMA_INFO
- PGXC_TOTAL_SCHEMA_INFO_ANALYZE
- PGXC_USER_TRANSACTION
- PGXC_VARIABLE_INFO
- PGXC_WAIT_EVENTS
- PGXC_WLM_OPERATOR_HISTORY
- PGXC_WLM_OPERATOR_INFO
- PGXC_WLM_OPERATOR_STATISTICS
- PGXC_WLM_SESSION_INFO
- PGXC_WLM_SESSION_HISTORY
- PGXC_WLM_SESSION_STATISTICS
- PGXC_WLM_WORKLOAD_RECORDS
- PGXC_WORKLOAD_SQL_COUNT
- PGXC_WORKLOAD_SQL_ELAPSE_TIME
- PGXC_WORKLOAD_TRANSACTION
- PLAN_TABLE
- PLAN_TABLE_DATA
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_TOTAL_MEMORY_DETAIL
- PV_REDO_STAT
- REDACTION_COLUMNS
- REDACTION_POLICIES
- USER_COL_COMMENTS
- USER_CONSTRAINTS
- USER_CONS_COLUMNS
- USER_INDEXES
- USER_IND_COLUMNS
- USER_IND_EXPRESSIONS
- USER_IND_PARTITIONS
- USER_JOBS
- USER_OBJECTS
- USER_PART_INDEXES
- USER_PART_TABLES
- USER_PROCEDURES
- USER_SEQUENCES
- USER_SOURCE
- USER_SYNONYMS
- USER_TAB_COLUMNS
- USER_TAB_COMMENTS
- USER_TAB_PARTITIONS
- USER_TABLES
- USER_TRIGGERS
- USER_VIEWS
- V$SESSION
- V$SESSION_LONGOPS
-
GUC Parameters
- Viewing GUC Parameters
- Configuring GUC Parameters
- GUC Parameter Usage
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Logs
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Workload Management
- Automatic Cleanup
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Developer Operations
- Auditing
- Transaction Monitoring
- Miscellaneous Parameters
- Glossary
-
SQL Syntax Reference (Paris Region)
- GaussDB(DWS) SQL
- Differences Between GaussDB(DWS) and PostgreSQL
- Keyword
- Data Types
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Mathematical Functions and Operators
- Date and Time Processing Functions and Operators
- Type Conversion Functions
- Geometric Functions and Operators
- Network Address Functions and Operators
- Text Search Functions and Operators
- UUID Functions
- JSON Functions
- HLL Functions and Operators
- SEQUENCE Functions
- Array Functions and Operators
- Range Functions and Operators
- Aggregate Functions
- Window Functions
- Security Functions
- Set Returning Functions
- Conditional Expression Functions
- System Information Functions
-
System Administration Functions
- Configuration Settings Functions
- Universal File Access Functions
- Server Signaling Functions
- Backup and Restoration Control Functions
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Residual File Management Functions
- Replication Functions
- Other Functions
- Resource Management Functions
- Data Redaction Functions
- Statistics Information Functions
- Trigger Functions
- XML Functions
- Call Stack Recording Functions
- Expressions
- Type Conversion
- Full Text Search
- System Operation
- Controlling Transactions
-
DDL Syntax
- DDL Syntax Overview
- ALTER DATABASE
- ALTER FOREIGN TABLE (for GDS)
- ALTER FOREIGN TABLE (for HDFS or OBS)
- ALTER FUNCTION
- ALTER GROUP
- ALTER INDEX
- ALTER LARGE OBJECT
- ALTER REDACTION POLICY
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TEXT SEARCH CONFIGURATION
- ALTER TEXT SEARCH DICTIONARY
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- CREATE BARRIER
- CREATE DATABASE
- CREATE FOREIGN TABLE (for GDS Import and Export)
- CREATE FOREIGN TABLE (SQL on OBS or Hadoop )
- CREATE FOREIGN TABLE (for OBS Import and Export)
- CREATE FUNCTION
- CREATE GROUP
- CREATE INDEX
- CREATE REDACTION POLICY
- CREATE ROW LEVEL SECURITY POLICY
- CREATE PROCEDURE
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CURSOR
- DROP DATABASE
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GROUP
- DROP INDEX
- DROP OWNED
- DROP REDACTION POLICY
- DROP ROW LEVEL SECURITY POLICY
- DROP PROCEDURE
- DROP RESOURCE POOL
- DROP ROLE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TEXT SEARCH CONFIGURATION
- DROP TEXT SEARCH DICTIONARY
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- FETCH
- MOVE
- REINDEX
- RESET
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SHOW
- TRUNCATE
- VACUUM
- DML Syntax
- DCL Syntax
- DQL Syntax
- TCL Syntax
- GIN Indexes
-
Tool Guide (Paris Region)
- Overview
- Downloading Client Tools
- gsql - CLI Client
-
Data Studio - Integrated Database Development Tool
- About Data Studio
- Installing and Configuring Data Studio
- Quick Start
- Data Studio GUI
- Data Studio Menus
- Data Studio Toolbar
- Data Studio Right-Click Menus
- Connection Profiles
- Databases
- Schemas
- Creating a Function/Procedure
- Editing a Function/Procedure
- Granting/Revoking a Permission (Function/Procedure)
- Debugging a PL/SQL Function
- Working with Functions/Procedures
- GaussDB(DWS) Tables
- Sequences
- Views
-
SQL Terminal
- Opening Multiple SQL Terminal Tabs
- Managing the History of Executed SQL Queries
- Opening and Saving SQL Scripts
- Viewing Object Properties in the SQL Terminal
- Canceling the Execution of SQL Queries
- Formatting of SQL Queries
- Selecting a DB Object in the SQL Terminal
- Viewing the Execution Plan and Costs
- Viewing the Query Execution Plan and Cost Graphically
- Using SQL Terminals
- Exporting Query Results
- Managing SQL Terminal Connections
- Batch Operation
- Personalizing Data Studio
- Performance Specifications
- Security Management
- Troubleshooting
- FAQs
- GDS: Parallel Data Loader
-
DSC: SQL Syntax Migration Tool
- Overview
- Supported Keywords and Features
- Constraints and Limitations
- System Requirements
- Installing DSC
- Configuring DSC
- Using DSC
- Teradata Syntax Migration
-
Oracle Syntax Migration
- Overview
- Schema Objects
- COMPRESS Phrase
- Bitmap Index
- Custom Tablespace
- Supplemental Log Data
- LONG RAW
- DML
- Pseudo Columns
- OUTER JOIN
- OUTER QUERY (+)
- CONNECT BY
- System Functions
- PL/SQL
- PL/SQL Collections (Using User-Defined Types)
- PL/SQL Packages
- VARRAY
- Granting Execution Permissions
- Package Name List
- Data Type
- Chinese Character Support
- Netezza Syntax Migration
- MySQL Syntax Migration
- DB2 Syntax Migration
- Command Reference
- Log Reference
- Troubleshooting
- FAQs
- Security Management
- Server Tool
- Change History
- Error Code Reference (Paris Region)
-
User Guide (Kuala Lumpur Region)
- Service Overview
- Getting Started
- Process for Using GaussDB(DWS)
- Preparations
- Cluster Configuration
-
Cluster Connection
- Methods of Connecting to a Cluster
- Obtaining the Cluster Connection Address
- Using the gsql CLI Client to Connect to a Cluster
- Using the Data Studio GUI Client to Connect to a Cluster
- Using the JDBC and ODBC Drivers to Connect to a Cluster
- Using the Python Library psycopg2 to Connect to a Cluster
- Using the Python Library PyGreSQL to Connect to a Cluster
- Managing Database Connections
-
Clusters
- Checking the Cluster Status
- Viewing Basic Cluster Information
- Managing Access Domain Names
- Nodes
- Cluster Scale-out
- Cluster Redistribution
- Performing a Primary/Standby Switchback
- Cluster Upgrade
- Password Reset
- Cluster Restart
- Modifying Database Parameters
- MRS Data Sources
- Managing Cluster Workloads
- Managing Logical Clusters
- Managing Tags
- Deleting Clusters
- Managing Parameter Templates
- Managing Clusters That Fail to Be Created
- Read-only Status
- Cluster HA
- Monitoring and Alarms
- Cluster Security Management
- Audit Logs
-
FAQs
-
General Problems
- Why Are Data Warehouses Necessary?
- What Are the Differences Between a Data Warehouse and the Hadoop Big Data Platform?
- Why Should I Use GaussDB(DWS)?
- When Should I Use GaussDB(DWS) and MRS?
- What Are the Differences Between GaussDB(DWS) and Hive in Functions?
- What Is the User Quota?
- What Are the Differences Between Users and Roles?
- How Do I Check the Creation Time of a Database User?
- Regions and AZs
- Is My Data Secure in GaussDB(DWS)?
- How Is GaussDB(DWS) Secured?
- Can I Modify the Security Group of a GaussDB(DWS) Cluster?
- What Is a Database/Data Warehouse/Data Lake/Lakehouse?
-
Cluster Management
- What Do I Do If Creating a GaussDB(DWS) Cluster Failed?
- How Can I Clear and Reclaim the Storage Space?
- Why Did the Used Storage Shrink After Scale-out?
- How Do I View Node Metrics (CPU, Memory, and Disk Usage)?
- Does GaussDB(DWS) Support a Single Node for a Learning Environment?
- How Is the Disk Space or Capacity of GaussDB(DWS) Calculated?
- What Are the gaussdb and postgres Databases of GaussDB(DWS)?
- How Do I Set the Maximum Number of Sessions When Adding an Alarm Rule on Cloud Eye?
- When Should I Add CNs or Scale out a cluster?
- What Are the Differences Between Hot Data Storage and Cold Data Storage?
-
Database Connections
- How Applications Communicate with GaussDB(DWS)?
- Does GaussDB(DWS) Support Third-Party Clients and JDBC and ODBC Drivers?
- Can I Connect to GaussDB(DWS) Cluster Nodes Using SSH?
- What Should I Do If I Cannot Connect to a Data Warehouse Cluster?
- Why Was I Not Notified of Failure Unbinding the EIP When GaussDB(DWS) Is Connected Over the Internet?
- How Do I Configure a Whitelist to Protect Clusters Available Through a Public IP Address?
-
Data Import and Export
- What Are the Differences Between Data Formats Supported by OBS and GDS Foreign Tables?
- How Do I Import Incremental Data Using an OBS Foreign Table?
- How Can I Import Data to GaussDB(DWS)?
- How Much Service Data Can a Data Warehouse Store?
- How Do I Use \Copy to Import and Export Data?
- Can I Export GaussDB(DWS) Data from/to OBS Across Regions?
- How Do I Import GaussDB(DWS)/Oracle/MySQL/SQL Server Data to GaussDB(DWS) (Whole Database Migration)?
- Can I Import Data over the Public/External Network Using GDS?
- Which Are the Factors That Affect GaussDB(DWS) Import Performance?
-
Account, Password, and Permissions
- How Does GaussDB(DWS) Implement Workload Isolation?
- How Do I Change the Password of a Database Account When the Password Expires?
- How Do I Grant Table Permissions to a User?
- How Do I Grant Schema Permissions to a User?
- How Do I Create a Database Read-only User?
- How Do I Create Private Database Users and Tables?
- How Do I Revoke the CONNECT ON DATABASE Permission from a User?
- How Do I View the Table Permissions of a User?
- Who Is User Ruby?
-
Database Usage
- How Do I Change Distribution Columns?
- How Do I View and Set the Database Character Encoding?
- What Do I Do If Date Type Is Automatically Converted to the Timestamp Type During Table Creation?
- Do I Need to Run VACUUM FULL and ANALYZE on Common Tables Periodically?
- Do I Need to Set a Distribution Key After Setting a Primary Key?
- Is GaussDB(DWS) Compatible with PostgreSQL Stored Procedures?
- What Are Partitioned Tables, Partitions, and Partition Keys?
- How Can I Export the Table Structure?
- How Can I Export All Tables and Views from a Database?
- How Can I Delete Table Data Efficiently?
- How Do I View Foreign Table Information?
- If No Distribution Column Is Specified, How Will Data Be Stored?
- How Do I Replace the Null Result with 0?
- How Do I Check Whether a Table Is Row-Stored or Column-Stored?
- How Do I Query the Information About GaussDB(DWS) Column-Store Tables?
- Why Sometimes the GaussDB(DWS) Query Indexes Become Invalid?
- How Do I Use a User-Defined Function to Rewrite the CRC32() Function?
- What Are the Schemas Starting with pg_toast_temp* or pg_temp*?
- Solutions to Inconsistent GaussDB(DWS) Query Results
- Which System Catalogs That the VACUUM FULL Operation Cannot Be Performed on?
- In Which Scenarios Would a Statement Be "idle in transaction"?
-
Database Performance
- Why Is SQL Execution Slow After Long GaussDB(DWS) Usage?
- Why Does GaussDB(DWS) Perform Worse Than a Single-Server Database in Extreme Scenarios?
- How Can I View SQL Execution Records in a Certain Period When Read and Write Requests Are Blocked?
- What Do I Do If My Cluster Is Unavailable Because of Insufficient Space?
- Snapshot Backup and Restoration
-
General Problems
- Change History
- API Reference (Kuala Lumpur Region)
-
Developer Guide (Kuala Lumpur Region)
- Welcome
- System Overview
-
Data Migration
- Data Migration to GaussDB(DWS)
-
Data Import
- Importing Data from OBS in Parallel
- Using GDS to Import Data from a Remote Server
- Importing Data from MRS to a Cluster
- Importing Data from One GaussDB(DWS) Cluster to Another
- Using the gsql Meta-Command \COPY to Import Data
- Running the COPY FROM STDIN Statement to Import Data
- Full Database Migration
- Metadata Migration
- Data Export
- Other Operations
- Syntax Compatibility Differences Among Oracle, Teradata, and MySQL
- Database Security Management
- Development and Design Proposal
-
Guide: JDBC- or ODBC-Based Development
- Development Specifications
- Downloading Drivers
-
JDBC-Based Development
- JDBC Package and Driver Class
- Development Process
- Loading a Driver
- Connecting to a Database
- Executing SQL Statements
- Processing Data in a Result Set
- Closing the Connection
- Example: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example: Migrating Data from MySQL to GaussDB(DWS)
-
JDBC Interface Reference
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- ODBC-Based Development
- PostGIS Extension
- Resource Load Management
- Resource Monitoring
-
Query Performance Optimization
- Overview of Query Performance Optimization
- Query Analysis
- Query Improvement
-
Optimization Cases
- Case: Selecting an Appropriate Distribution Column
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Pushing Down Sort Operations to DNs
- Case: Configuring cost_param for Better Query Performance
- Case: Adjusting the Distribution Key
- Case: Adjusting the Partial Clustering Key
- Case: Adjusting the Table Storage Mode in a Medium Table
- Case: Adjusting the Local Clustering Column
- Case: Reconstructing Partition Tables
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL and Deleting Subqueries (Case 1)
- Case: Rewriting SQL and Deleting Subqueries (Case 2)
- Case: Rewriting SQL Statements and Eliminating Prune Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Setting Partial Cluster Keys
- SQL Execution Troubleshooting
- Common Performance Parameter Optimization Design
- User-Defined Functions
- Stored Procedures
-
System Catalogs and System Views
- Overview of System Catalogs and System Views
-
System Catalogs
- GS_OBSSCANINFO
- GS_WLM_INSTANCE_HISTORY
- GS_WLM_OPERATOR_INFO
- GS_WLM_SESSION_INFO
- GS_WLM_USER_RESOURCE_HISTORY
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_ENUM
- PG_EXTENSION
- PG_EXTENSION_DATA_SOURCE
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_INDEX
- PG_INHERITS
- PG_JOBS
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OBSSCANINFO
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REDACTION_COLUMN
- PG_REDACTION_POLICY
- PG_RLSPOLICY
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_ACTION
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
-
System Views
- ALL_ALL_TABLES
- ALL_CONSTRAINTS
- ALL_CONS_COLUMNS
- ALL_COL_COMMENTS
- ALL_DEPENDENCIES
- ALL_IND_COLUMNS
- ALL_IND_EXPRESSIONS
- ALL_INDEXES
- ALL_OBJECTS
- ALL_PROCEDURES
- ALL_SEQUENCES
- ALL_SOURCE
- ALL_SYNONYMS
- ALL_TAB_COLUMNS
- ALL_TAB_COMMENTS
- ALL_TABLES
- ALL_USERS
- ALL_VIEWS
- DBA_DATA_FILES
- DBA_USERS
- DBA_COL_COMMENTS
- DBA_CONSTRAINTS
- DBA_CONS_COLUMNS
- DBA_IND_COLUMNS
- DBA_IND_EXPRESSIONS
- DBA_IND_PARTITIONS
- DBA_INDEXES
- DBA_OBJECTS
- DBA_PART_INDEXES
- DBA_PART_TABLES
- DBA_PROCEDURES
- DBA_SEQUENCES
- DBA_SOURCE
- DBA_SYNONYMS
- DBA_TAB_COLUMNS
- DBA_TAB_COMMENTS
- DBA_TAB_PARTITIONS
- DBA_TABLES
- DBA_TABLESPACES
- DBA_TRIGGERS
- DBA_VIEWS
- DUAL
- GLOBAL_REDO_STAT
- GLOBAL_REL_IOSTAT
- GLOBAL_STAT_DATABASE
- GLOBAL_WORKLOAD_SQL_COUNT
- GLOBAL_WORKLOAD_SQL_ELAPSE_TIME
- GLOBAL_WORKLOAD_TRANSACTION
- GS_ALL_CONTROL_GROUP_INFO
- GS_CLUSTER_RESOURCE_INFO
- GS_INSTR_UNIQUE_SQL
- GS_REL_IOSTAT
- GS_NODE_STAT_RESET_TIME
- GS_SESSION_CPU_STATISTICS
- GS_SESSION_MEMORY_STATISTICS
- GS_SQL_COUNT
- GS_WAIT_EVENTS
- GS_WLM_OPERAROR_INFO
- GS_WLM_OPERATOR_HISTORY
- GS_WLM_OPERATOR_STATISTICS
- GS_WLM_SESSION_INFO
- GS_WLM_SESSION_HISTORY
- GS_WLM_SESSION_STATISTICS
- GS_WLM_SQL_ALLOW
- GS_WORKLOAD_SQL_COUNT
- GS_WORKLOAD_SQL_ELAPSE_TIME
- GS_WORKLOAD_TRANSACTION
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_USER_TRANSACTION
- GS_VIEW_DEPENDENCY
- GS_VIEW_DEPENDENCY_PATH
- GS_VIEW_INVALID
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_BULKLOAD_STATISTICS
- PG_COMM_CLIENT_INFO
- PG_COMM_DELAY
- PG_COMM_STATUS
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_JOB
- PG_JOB_PROC
- PG_JOB_SINGLE
- PG_LIFECYCLE_DATA_DISTRIBUTE
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_QUERYBAND_ACTION
- PG_REPLICATION_SLOTS
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SESSION_WLMSTAT
- PG_SESSION_IOSTAT
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_GET_MEM_MBYTES_RESERVED
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_REPLICATION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TDE_INFO
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_SCHEMA_INFO
- PG_TOTAL_USER_RESOURCE_INFO
- PG_USER
- PG_USER_MAPPINGS
- PG_VIEWS
- PG_WLM_STATISTICS
- PGXC_BULKLOAD_PROGRESS
- PGXC_BULKLOAD_STATISTICS
- PGXC_COMM_CLIENT_INFO
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_DEADLOCK
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_STAT_ALL_PARTITIONS
- PGXC_GET_TABLE_SKEWNESS
- PGXC_GTM_SNAPSHOT_STATUS
- PGXC_INSTANCE_TIME
- PGXC_INSTR_UNIQUE_SQL
- PGXC_LOCK_CONFLICTS
- PGXC_NODE_ENV
- PGXC_NODE_STAT_RESET_TIME
- PGXC_OS_RUN_INFO
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_REDO_STAT
- PGXC_REL_IOSTAT
- PGXC_REPLICATION_SLOTS
- PGXC_RUNNING_XACTS
- PGXC_SETTINGS
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_STAT_BGWRITER
- PGXC_STAT_DATABASE
- PGXC_STAT_REPLICATION
- PGXC_SQL_COUNT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_TOTAL_SCHEMA_INFO
- PGXC_TOTAL_SCHEMA_INFO_ANALYZE
- PGXC_USER_TRANSACTION
- PGXC_VARIABLE_INFO
- PGXC_WAIT_EVENTS
- PGXC_WLM_OPERATOR_HISTORY
- PGXC_WLM_OPERATOR_INFO
- PGXC_WLM_OPERATOR_STATISTICS
- PGXC_WLM_SESSION_INFO
- PGXC_WLM_SESSION_HISTORY
- PGXC_WLM_SESSION_STATISTICS
- PGXC_WLM_WORKLOAD_RECORDS
- PGXC_WORKLOAD_SQL_COUNT
- PGXC_WORKLOAD_SQL_ELAPSE_TIME
- PGXC_WORKLOAD_TRANSACTION
- PLAN_TABLE
- PLAN_TABLE_DATA
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_TOTAL_MEMORY_DETAIL
- PV_REDO_STAT
- REDACTION_COLUMNS
- REDACTION_POLICIES
- USER_COL_COMMENTS
- USER_CONSTRAINTS
- USER_CONS_COLUMNS
- USER_INDEXES
- USER_IND_COLUMNS
- USER_IND_EXPRESSIONS
- USER_IND_PARTITIONS
- USER_JOBS
- USER_OBJECTS
- USER_PART_INDEXES
- USER_PART_TABLES
- USER_PROCEDURES
- USER_SEQUENCES
- USER_SOURCE
- USER_SYNONYMS
- USER_TAB_COLUMNS
- USER_TAB_COMMENTS
- USER_TAB_PARTITIONS
- USER_TABLES
- USER_TRIGGERS
- USER_VIEWS
- V$SESSION
- V$SESSION_LONGOPS
-
GUC Parameters
- Viewing GUC Parameters
- Configuring GUC Parameters
- GUC Parameter Usage
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Logs
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Workload Management
- Automatic Cleanup
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Developer Operations
- Auditing
- Transaction Monitoring
- Miscellaneous Parameters
- Glossary
-
SQL Syntax Reference (Kuala Lumpur Region)
- GaussDB(DWS) SQL
- Differences Between GaussDB(DWS) and PostgreSQL
- Keyword
- Data Types
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Mathematical Functions and Operators
- Date and Time Processing Functions and Operators
- Type Conversion Functions
- Geometric Functions and Operators
- Network Address Functions and Operators
- Text Search Functions and Operators
- UUID Functions
- JSON Functions
- HLL Functions and Operators
- SEQUENCE Functions
- Array Functions and Operators
- Range Functions and Operators
- Aggregate Functions
- Window Functions
- Security Functions
- Set Returning Functions
- Conditional Expression Functions
- System Information Functions
-
System Administration Functions
- Configuration Settings Functions
- Universal File Access Functions
- Server Signaling Functions
- Backup and Restoration Control Functions
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Residual File Management Functions
- Replication Functions
- Other Functions
- Resource Management Functions
- Data Redaction Functions
- Statistics Information Functions
- Trigger Functions
- XML Functions
- Call Stack Recording Functions
- Expressions
- Type Conversion
- Full Text Search
- System Operation
- Controlling Transactions
-
DDL Syntax
- DDL Syntax Overview
- ALTER DATABASE
- ALTER FOREIGN TABLE (for GDS)
- ALTER FOREIGN TABLE (for HDFS or OBS)
- ALTER FUNCTION
- ALTER GROUP
- ALTER INDEX
- ALTER LARGE OBJECT
- ALTER REDACTION POLICY
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TEXT SEARCH CONFIGURATION
- ALTER TEXT SEARCH DICTIONARY
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- CREATE BARRIER
- CREATE DATABASE
- CREATE FOREIGN TABLE (for GDS Import and Export)
- CREATE FOREIGN TABLE (SQL on OBS or Hadoop )
- CREATE FOREIGN TABLE (for OBS Import and Export)
- CREATE FUNCTION
- CREATE GROUP
- CREATE INDEX
- CREATE REDACTION POLICY
- CREATE ROW LEVEL SECURITY POLICY
- CREATE PROCEDURE
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CURSOR
- DROP DATABASE
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GROUP
- DROP INDEX
- DROP OWNED
- DROP REDACTION POLICY
- DROP ROW LEVEL SECURITY POLICY
- DROP PROCEDURE
- DROP RESOURCE POOL
- DROP ROLE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TEXT SEARCH CONFIGURATION
- DROP TEXT SEARCH DICTIONARY
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- FETCH
- MOVE
- REINDEX
- RESET
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SHOW
- TRUNCATE
- VACUUM
- DML Syntax
- DCL Syntax
- DQL Syntax
- TCL Syntax
- GIN Indexes
-
Tool Guide (Kuala Lumpur Region)
- Overview
- Downloading Client Tools
- gsql - CLI Client
-
Data Studio - Integrated Database Development Tool
- About Data Studio
- Installing and Configuring Data Studio
- Quick Start
- Data Studio GUI
- Data Studio Menus
- Data Studio Toolbar
- Data Studio Right-Click Menus
- Connection Profiles
- Databases
- Schemas
- Creating a Function/Procedure
- Editing a Function/Procedure
- Granting/Revoking a Permission (Function/Procedure)
- Debugging a PL/SQL Function
- Working with Functions/Procedures
- GaussDB(DWS) Tables
- Sequences
- Views
-
SQL Terminal
- Opening Multiple SQL Terminal Tabs
- Managing the History of Executed SQL Queries
- Opening and Saving SQL Scripts
- Viewing Object Properties in the SQL Terminal
- Canceling the Execution of SQL Queries
- Formatting of SQL Queries
- Selecting a DB Object in the SQL Terminal
- Viewing the Execution Plan and Costs
- Viewing the Query Execution Plan and Cost Graphically
- Using SQL Terminals
- Exporting Query Results
- Managing SQL Terminal Connections
- Batch Operation
- Personalizing Data Studio
- Performance Specifications
- Security Management
- Troubleshooting
- FAQs
- GDS: Parallel Data Loader
-
DSC: SQL Syntax Migration Tool
- Overview
- Supported Keywords and Features
- Constraints and Limitations
- System Requirements
- Installing DSC
- Configuring DSC
- Using DSC
- Teradata Syntax Migration
-
Oracle Syntax Migration
- Overview
- Schema Objects
- COMPRESS Phrase
- Bitmap Index
- Custom Tablespace
- Supplemental Log Data
- LONG RAW
- DML
- Pseudo Columns
- OUTER JOIN
- OUTER QUERY (+)
- CONNECT BY
- System Functions
- PL/SQL
- PL/SQL Collections (Using User-Defined Types)
- PL/SQL Packages
- VARRAY
- Granting Execution Permissions
- Package Name List
- Data Type
- Chinese Character Support
- Netezza Syntax Migration
- MySQL Syntax Migration
- DB2 Syntax Migration
- Command Reference
- Log Reference
- Troubleshooting
- FAQs
- Security Management
- Server Tool
- Change History
- Error Code Reference (Kuala Lumpur Region)
-
User Guide
- General Reference
Copied.
Table Migration
The table-specific keyword MULTISET VOLATILE is provided in the input file, but the keyword is not supported by GaussDB(DWS). Therefore, the tool replaces it with the LOCAL TEMPORARY/UNLOGGED keyword during the migration process. Use the session_mode configuration parameter to set the default table type (SET/MULTISET) for CREATE TABLE.
For details, see the following topics:
CHARACTER SET and CASESPECIFIC
Example:
Input: CREATE TABLE
1 2 3 |
CT tab1 ( id INT ); |
Output
1 2 3 4 5 6 |
CREATE TABLE tab1 ( id INTEGER ) ; |
When using CREATE tab2 AS tab1, a new table tab2 is created with the structure copied from tab1. If the CREATE TABLE statement includes WITH DATA operator, then the data from tab1 is also copied into tab2. When using CREATE AS, the behavior of the CONSTRAINT from the source table is retained in the new target table.
- If session_mode = Teradata, the default table type is SET in which duplicate records must be removed. This is done by adding the MINUS operator in the migrated scripts.
- If session_mode = ANSI, the default table type is MULTISET in which duplicate records must be allowed.
If the source table has a PRIMARY KEY or a UNIQUE CONSTRAINT, then it will not contain any duplicate records. In this case, the MINUS operator is not required or added to remove duplicate records.
Example:
Input: CREATE TABLE AS with DATA (session_mode=Teradata)
1 2 |
CREATE TABLE tab2 AS tab1 WITH DATA; |
Output
1 2 3 4 5 6 7 8 9 10 11 |
BEGIN CREATE TABLE tab2 ( LIKE tab1 INCLUDING ALL EXCLUDING PARTITION EXCLUDING RELOPTIONS ); INSERT INTO tab2 SELECT * FROM tab1 MINUS SELECT * FROM tab2; END ; / |
Example: Input: CREATE TABLE AS with DATA AND STATISTICS
1 2 3 4 |
CREATE SET VOLATILE TABLE tab2025 AS ( SELECT * from tab2023 ) WITH DATA AND STATISTICS PRIMARY INDEX (LOGTYPE, OPERSEQ); |
Output
1 2 3 4 5 |
CREATE LOCAL TEMPORARY TABLE tab2025 DISTRIBUTE BY HASH ( LOGTYPE, OPERSEQ ) AS ( SELECT * FROM tab2023 ); ANALYZE tab2025; |
CHARACTER SET and CASESPECIFIC
CHARACTER SET is used to specify the server character set for a character column. CASESPECIFIC specifies the case for character data comparisons and collations.
Use the tdMigrateCharsetCase configuration parameter to configure migration of CHARACTER SET and CASESPECIFIC. If tdMigrateCharsetCase is set to false, the tool will skip migration of the query and will log a message.
Input (tdMigrateCharsetCase=True)
1 2 3 4 5 6 7 8 |
CREATE MULTISET VOLATILE TABLE TAB1 ( col1 INTEGER NOT NULL ,col2 INTEGER NOT NULL ,col3 VARCHAR(100) NOT NULL CHARACTER SET UNICODE CASESPECIFIC ) PRIMARY INDEX (col1,col2) ON COMMIT PRESERVE ROWS ; |
Output
1 2 3 4 5 6 7 8 9 10 |
CREATE LOCAL TEMPORARY TABLE TMP_RATING_SYS_PARA ( col1 INTEGER NOT NULL ,col2 INTEGER NOT NULL ,col3 VARCHAR(100) NOT NULL /* CHARACTER SET UNICODE CASESPECIFIC */) ) ON COMMIT PRESERVE ROWS DISTRIBUTE BY HASH (col1,col2) ; |
Input-Migration support for Character-based data type
In Teradata, the following character sets support character-based length for string data types:
- LATIN
- UNICODE
- GRAPHIC
However, the KANJISJIS character set support byte-based length for string data types.
For example, COLUMN_NAME VARCHAR(100) CHARACTER SET UNICODE CASESPECIFIC COLUMN_NAME VARCHAR(100) CHARACTER SET LATIN CASESPECIFIC This can store up to 100 characters (not bytes).
In GaussDB(DWS), string data types are byte-based (not character-based). VARCHAR (100) and VARCHAR2 (100) can store up to 100 byte (not characters). However, NVARCHAR2 (100) can store up to 100 characters.
So, if TD's LATIN, UNICODE and GRAPHIC character sets, VARCHAR should be migrated to NVARCHAR.
1 2 3 4 5 |
CREATE TABLE tab1 ( col1 VARCHAR(10), COL2 CHAR(1) ); |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
a)when default_charset = UNICODE/GRAPHIC CREATE TABLE tab1 ( col1 NVARCHAR2 (10) ,COL2 NVARCHAR2 (1) ) ; b)when default_charset = LATIN CREATE TABLE tab1 ( col1 VARCHAR2 (10) ,COL2 VARCHAR2 (1) ) ; |
Input
1 2 3 4 5 |
CREATE TABLE tab1 ( col1 VARCHAR(10) CHARACTER SET UNICODE, COL2 CHAR(1) ); |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
a) when default_charset = UNICODE/GRAPHIC CREATE TABLE tab1 ( col1 NVARCHAR2 (10) /* CHARACTER SET UNICODE*/ ,COL2 NVARCHAR2( 1 ) ) ; b) when default_charset = LATIN CREATE TABLE tab1 ( col1 NVARCHAR2 (10) /* CHARACTER SET UNICODE*/ ,COL2 CHAR(1) ) |
VOLATILE
The table-specific keyword VOLATILE is provided in the input file, but the keyword is not supported by GaussDB(DWS). The tool replaces it with the LOCAL TEMPORARY keyword during the migration process. Volatile tables are migrated as local temporary or unlogged based on the config input.
Input: CREATE VOLATILE TABLE
1 |
CREATE VOLATILE TABLE T1 (c1 int ,c2 int); |
Output
1 2 3 4 5 6 7 |
CREATE LOCAL TEMPORARY TABLE T1 ( c1 INTEGER ,c2 INTEGER ) ; |
Input: CREATE VOLATILE TABLE AS WITH DATA (session_mode=Teradata)
If the source table has a PRIMARY KEY or a UNIQUE CONSTRAINT, then it will not contain any duplicate records. In this case, the MINUS operator is not required or added to remove duplicate records.
1 2 3 4 5 6 7 8 9 10 |
CREATE VOLATILE TABLE tabV1 ( C1 INTEGER DEFAULT 99 ,C2 INTEGER ,C3 INTEGER ,C4 NUMERIC (20,0) DEFAULT NULL (BIGINT) ,CONSTRAINT XX1 PRIMARY KEY ( C1, C2 ) ) PRIMARY INDEX (C1, C3 ); CREATE TABLE tabV2 AS tabV1 WITH DATA PRIMARY INDEX (C1) ON COMMIT PRESERVE ROWS; |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
CREATE LOCAL TEMPORARY TABLE tabV1 ( C1 INTEGER DEFAULT 99 ,C2 INTEGER ,C3 INTEGER ,C4 NUMERIC (20,0) DEFAULT CAST( NULL AS BIGINT ) ,CONSTRAINT XX1 PRIMARY KEY ( C1, C2 ) ) DISTRIBUTE BY HASH (C1); BEGIN CREATE TABLE tabV2 ( LIKE tabV1 INCLUDING ALL EXCLUDING PARTITION EXCLUDING RELOPTIONS EXCLUDING DISTRIBUTION ) DISTRIBUTE BY HASH (C1); INSERT INTO tabV2 SELECT * FROM tabV1; END ; / |
SET
SET is a unique feature in Teradata. It does not allow duplicate records. It is addressed using the MINUS set operator. Migration tool supports MULTISET and SET tables. SET table can be used with VOLATILE.
Input: SET TABLE
1 2 3 4 5 |
CREATE SET VOLATILE TABLE tab1 … ; INSERT INTO tab1 SELECT expr1, expr2, … FROM tab1, … WHERE ….; |
Output
1 2 3 4 5 6 7 |
CREATE LOCAL TEMPORARY TABLE tab1 … ; INSERT INTO tab1 SELECT expr1, expr2, … FROM tab1, … WHERE …. MINUS SELECT * FROM tab1 ; |
MULTISET
MULTISET is a normal table, which is supported by all the DBs. Migration tool supports MULTISET and SET tables.
MULTISET table can be used with VOLATILE.
Input: CREATE MULTISET TABLE
1 |
CREATE VOLATILE MULTISET TABLE T1 (c1 int ,c2 int); |
Output
1 2 3 4 5 6 7 |
CREATE LOCAL TEMPORARY TABLE T1 ( c1 INTEGER ,c2 INTEGER ) ; |
TITLE
The keyword TITLE is supported for Teradata Permanent, Global Temporary and Volatile tables. In the migration process, the TITLE text is migrated as a comment.
If the TITLE text is split across multiple lines, then in the migrated script, the line breaks (ENTER) are replaced with a space.
Input: CREATE TABLE with TITLE
1 2 3 |
CREATE TABLE tab1 ( c1 NUMBER(2) TITLE 'column_a' ); |
Output
1 2 3 |
CREATE TABLE tab1 ( c1 NUMBER(2) /* TITLE 'column_a' */ ); |
Input: TABLE with multiline TITLE
1 2 3 4 |
CREATE TABLE tab1 ( c1 NUMBER(2) TITLE 'This is a very long title' ); |
Output
1 2 3 |
CREATE TABLE tab1 ( c1 NUMBER(2) /* TITLE 'This is a very long title' */ ); |
Input: TABLE with COLUMN TITLE
DSC migrates COLUMN TITLE as a new outer query.
1 2 3 |
SELECT customer_id (TITLE 'cust_id') FROM Customer_T WHERE cust_id > 10; |
Output
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT customer_id AS "cust_id" FROM ( SELECT customer_id FROM Customer_T WHERE cust_id > 10 ) ; |
Input: TABLE with COLUMN TITLE and QUALIFY
1 2 3 4 5 |
SELECT ord_id (TITLE 'Order_Id'), order_date, customer_id FROM order_t WHERE Order_Id > 100 QUALIFY ROW_NUMBER() OVER(PARTITION BY customer_id ORDER BY order_date DESC) <= 5; |
Output
SELECT "mig_tmp_alias1" AS "Order_Id" FROM ( SELECT ord_id AS "mig_tmp_alias1" ,ROW_NUMBER( ) OVER( PARTITION BY customer_id ORDER BY order_date DESC ) AS ROW_NUM1 FROM order_t WHERE Order_Id > 100 ) Q1 WHERE Q1.ROW_NUM1 <= 5 ;
- TITLE with ALIAS
If the TITLE is accompanied with an ALIAS, the tool will migrate it as follows:
- TITLE with AS: Tool will migrate it with the AS alias.
- TITLE with NAMED: Tool will migrate it with NAMED alias.
- TITLE with NAMED and AS: Tool will migrate it with AS alias.
Input: TABLE TITLE with NAMED and AS
1 2 3 4
SELECT Acct_ID (TITLE 'Acc Code') (NAMED XYZ) AS "Account Code" ,Acct_Name (TITLE 'Acc Name') FROM GT_JCB_01030_Acct_PBU where "Account Code" > 500 group by "Account Code" ,Acct_Name ;
Output
SELECT Acct_ID AS "Account Code" ,Acct_Name AS "Acc Name" FROM GT_JCB_01030_Acct_PBU WHERE Acct_ID > 500 GROUP BY Acct_ID ,Acct_Name ;
NOTE:
Currently the Migration tool supports the migration of the TITLE command included in the initial CREATE/ALTER statement. The subsequent references of the TITLE specified column are not supported. For example, in the CREATE TABLE statement below, the column eid with the TITLE Employee ID will be migrated to a comment but the reference of eid in the SELECT statement will be retained as it is.
Input
1 2
CREATE TABLE tab1 ( eid INT TITLE 'Employee ID'); SELECT eid FROM tab1;
Output
1 2
CREATE TABLE tab1 (eid INT /*TITLE 'Employee ID'*/); SELECT eid from tab1;
- TITLE with CREATE VIEW
REPLACE VIEW ${STG_VIEW}.B971_AUMSUMMARY${TABLE_SUFFIX_INC} AS LOCK TABLE ${STG_DATA}.B971_AUMSUMMARY${TABLE_SUFFIX_INC} FOR ACCESS SELECT AUM_DATE (TITLE ' ') ,CLNTCODE (TITLE ' ') ,ACCTYPE (TITLE ' ') ,CCY (TITLE ' ') ,BAL_AMT (TITLE ' ') ,MON_BAL_AMT (TITLE ' ') ,HK_CLNTCODE (TITLE ' ') ,MNT_DATE (TITLE ' ') FROM ${STG_DATA}.B971_AUMSUMMARY${TABLE_SUFFIX_INC}; it should be migrated as below: CREATE OR REPLACE VIEW ${STG_VIEW}.B971_AUMSUMMARY${TABLE_SUFFIX_INC} AS /*LOCK TABLE ${STG_DATA}.B971_AUMSUMMARY${TABLE_SUFFIX_INC} FOR ACCESS */ SELECT AUM_DATE /* (TITLE ' ') */ ,CLNTCODE /* (TITLE ' ') */ ,ACCTYPE /* (TITLE ' ') */ ,CCY /* (TITLE ' ') */ ,BAL_AMT /* (TITLE ' ') */ ,MON_BAL_AMT /* (TITLE ' ') */ ,HK_CLNTCODE /* (TITLE ' ') */ ,MNT_DATE /* (TITLE ' ') */ FROM ${STG_DATA}.B971_AUMSUMMARY${TABLE_SUFFIX_INC};
Output
CREATE OR REPLACE VIEW ${STG_VIEW}.B971_AUMSUMMARY${TABLE_SUFFIX_INC} AS /*LOCK TABLE ${STG_DATA}.B971_AUMSUMMARY${TABLE_SUFFIX_INC} FOR ACCESS */ SELECT AUM_DATE /* (TITLE ' ') */ ,CLNTCODE /* (TITLE ' ') */ ,ACCTYPE /* (TITLE ' ') */ ,CCY /* (TITLE ' ') */ ,BAL_AMT /* (TITLE ' ') */ ,MON_BAL_AMT /* (TITLE ' ') */ ,HK_CLNTCODE /* (TITLE ' ') */ ,MNT_DATE /* (TITLE ' ') */ FROM ${STG_DATA}.B971_AUMSUMMARY${TABLE_SUFFIX_INC};
INDEX
The CREATE TABLE statement supports creation of an index. Migration tool supports the TABLE statement with PRIMARY INDEX and UNIQUE INDEX.
The tool will not add DISTRIBUTE BY HASH which is used to create a table with PRIMARY KEY and Non-Unique PRIMARY INDEX.
Input: CREATE TABLE with INDEX
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE SET TABLE DP_TEDW.B0381_ACCOUNT_OBTAINED_MAP, NO FALLBACK, NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT ( Ranked_Id INTEGER NOT NULL , Source_System_Code SMALLINT NOT NULL , Operational_Acc_Obtained_Id VARCHAR(100) CHARACTER SET LATIN NOT CASESPECIFIC FORMAT 'X(50)' , Mapped_Id INTEGER NOT NULL ) PRIMARY INDEX B0381_ACCOUNT_OBTAINED_idx_PR ( Ranked_Id ) UNIQUE INDEX B0381_ACCT_OBT_MAP__idx_SCD ( Source_System_Code ) INDEX B0381_ACCT_OBT_MAP__idx_OPID ( Operational_Acc_Obtained_Id ); |
Output
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE DP_TEDW.B0381_ACCOUNT_OBTAINED_MAP ( Ranked_Id INTEGER NOT NULL , Source_System_Code SMALLINT NOT NULL , Operational_Acc_Obtained_Id VARCHAR( 100 ) , Mapped_Id INTEGER NOT NULL ) DISTRIBUTE BY HASH ( Ranked_Id ); CREATE INDEX B0381_ACCT_OBT_MAP__idx_SCD ON DP_TEDW.B0381_ACCOUNT_OBTAINED_MAP ( Source_System_Code ); CREATE INDEX B0381_ACCT_OBT_MAP__idx_OPID ON DP_TEDW.B0381_ACCOUNT_OBTAINED_MAP ( Operational_Acc_Obtained_Id ); |
UNIQUE is removed in the index since index column list (organic_name) is not a super set of DISTRIBUTE BY column list (serial_no, organic_name).
Input - CREATE TABLE with Primary Key and Non-Unique Primary Index (DISTRIBUTE BY HASH is not added)
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE employee ( EMP_NO INTEGER , DEPT_NO INTEGER , FIRST_NAME VARCHAR(20) , LAST_NAME CHAR(20) , SALARY DECIMAL(10,2) , ADDRESS VARCHAR(100) , CONSTRAINT pk_emp PRIMARY KEY ( EMP_NO ) ) PRIMARY INDEX ( DEPT_NO ) ; |
Output
1 2 3 4 5 6 7 8 9 10 11 |
CREATE TABLE employee ( EMP_NO INTEGER , DEPT_NO INTEGER , FIRST_NAME VARCHAR(20) , LAST_NAME CHAR(20) , SALARY DECIMAL(10,2) , ADDRESS VARCHAR(100) , CONSTRAINT pk_emp PRIMARY KEY ( EMP_NO ) ) ; |
CONSTRAINT
A table CONSTRAINT is applied to multiple columns. Migration tool supports the following constraints:
- REFERENCES constraint / FOREIGN KEY: migration currently NOT supported by tool.
- PRIMARY KEY constraint: migration supported by tool.
- UNIQUE constraint: migration supported by tool.
Input: CREATE TABLE with CONSTRAINT
1 2 3 4 5 6 7 8 9 10 |
CREATE SET TABLE DP_SEDW.T_170UT_HOLDER_ACCT, NO FALLBACK, NO BEFORE JOURNAL, NO AFTER JOURNAL ( BUSINESSDATE VARCHAR(10) , SOURCESYSTEM VARCHAR(5) , UPLOADCODE VARCHAR(1) , HOLDER_NO VARCHAR(7) NOT NULL , POSTAL_ADD_4 VARCHAR(40) , EPF_IND CHAR(1) , CONSTRAINT uq_t_170ut_hldr UNIQUE ( SOURCESYSTEM, UPLOADCODE, HOLDER_NO ) ) PRIMARY INDEX ( HOLDER_NO, SOURCESYSTEM ) ; |
Output
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE DP_SEDW.T_170UT_HOLDER_ACCT ( BUSINESSDATE VARCHAR( 10 ) , SOURCESYSTEM VARCHAR( 5 ) , UPLOADCODE VARCHAR( 1 ) , HOLDER_NO VARCHAR( 7 ) NOT NULL , POSTAL_ADD_4 VARCHAR( 40 ) , EPF_IND CHAR( 1 ) , CONSTRAINT uq_t_170ut_hldr UNIQUE ( SOURCESYSTEM, UPLOADCODE, HOLDER_NO ) ) DISTRIBUTE BY HASH ( HOLDER_NO, SOURCESYSTEM ); |
Input
After table creation, CONSTRAINT can be added to a table column to put some restriction at column level by using ALTER statement.
1 2 3 4 |
CREATE TABLE GCC_PLAN.T1033 ( ROLLOUT_PLAN_LINE_ID NUMBER NOT NULL, UDF_FIELD_VALUE_ID NUMBER NOT NULL) ; ALTER TABLE GCC_PLAN.T1033 ADD CONSTRAINT UDF_FIELD_VALUE_ID_PK UNIQUE (UDF_FIELD_VALUE_ID) ; |
Output
1 2 3 4 |
CREATE TABLE GCC_PLAN.T1033 ( ROLLOUT_PLAN_LINE_ID NUMBER NOT NULL, UDF_FIELD_VALUE_ID NUMBER NOT NULL, CONSTRAINT UDF_FIELD_VALUE_ID_PK UNIQUE (UDF_FIELD_VALUE_ID) ; |
Need to put CONSTRAINT creation syntax inside table creation script after all column declaration.
COLUMN STORE
The table orientation can be converted from ROW-STORE to COLUMN store using the WITH (ORIENTATION=COLUMN) in the CREATE TABLE statement. This feature can be enabled/disabled using the rowstoreToColumnstore configuration parameter.
Input: CREATE TABLE with change orientation to COLUMN STORE
1 2 3 4 5 6 7 |
CREATE MULTISET VOLATILE TABLE tab1 ( c1 VARCHAR(30) CHARACTER SET UNICODE , c2 DATE , ... ) PRIMARY INDEX (c1, c2) ON COMMIT PRESERVE ROWS; |
Output
1 2 3 4 5 6 7 |
CREATE LOCAL TEMPORARY TABLE tab1 ( c1 VARCHAR(30) , c2 DATE , ... ) WITH (ORIENTATION = COLUMN) ON COMMIT PRESERVE ROWS DISTRIBUTE BY HASH (c1, c2); |
PARTITION
The tool does not support migration of partitions/subpartitions and the partition/subpartition keywords are commented in the migrated scripts:
- Range partition/subpartition
- List partition/subpartition
- Hash partition/subpartition
Scenario 1: Assume that the configuration parameters (tdMigrateCASE_N and tdMigrateRANGE_N) are set to comment or range respectively.
The following is a Teradata CREATE TABLE script with nested partitions.
Input - PARTITION BY RANGE_N
CREATE TABLE tab1 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) PRIMARY INDEX (entry_id, oper_id, source_system_cd) PARTITION BY ( CASE_N( source_system_cd = '00000' , source_system_cd = '00002' , source_system_cd = '00006' , source_system_cd = '00018' , NO CASE ) , RANGE_N( entry_dt BETWEEN DATE '2012-01-01' AND DATE '2025-12-31' EACH INTERVAL '1' DAY, NO RANGE ) );
Output
CREATE TABLE tab1 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) DISTRIBUTE BY HASH (entry_id, oper_id, source_system_cd) PARTITION BY RANGE (entry_dt) ( PARTITION tab1_p1 START (CAST('2012-01-01' AS DATE)) END (CAST('2025-12-31' AS DATE)) EVERY (INTERVAL '1' DAY) );
Scenario 2: Assume that the configuration parameters (tdMigrateCASE_N and tdMigrateRANGE_N) are set to comment or range respectively.
The following is another Teradata CREATE TABLE script with nested partitions.
Input
CREATE TABLE tab2 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) PRIMARY INDEX (entry_id, oper_id, source_system_cd) PARTITION BY ( RANGE_N( entry_dt BETWEEN DATE '2012-01-01' AND DATE '2025-12-31' EACH INTERVAL '1' DAY, NO RANGE ) , CASE_N( source_system_cd = '00000' , source_system_cd = '00002' , source_system_cd = '00006' , source_system_cd = '00018' , NO CASE ) );
Output
CREATE TABLE tab2 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) DISTRIBUTE BY HASH (entry_id, oper_id, source_system_cd) PARTITION BY RANGE (entry_dt) ( PARTITION tab2_p1 START (CAST('2012-01-01' AS DATE)) END (CAST('2025-12-31' AS DATE)) EVERY (INTERVAL '1' DAY) );
Scenario 3: Assume that the configuration parameters (tdMigrateCASE_N and tdMigrateRANGE_N) are set to values other than comment or range respectively.
Partition syntax will not be commented and the remaining syntax will be migrated.
Input
CREATE TABLE tab1 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) PRIMARY INDEX (entry_id, oper_id, source_system_cd) PARTITION BY ( CASE_N( source_system_cd = '00000' , source_system_cd = '00002' , source_system_cd = '00006' , source_system_cd = '00018' , NO CASE ) , RANGE_N( entry_dt BETWEEN DATE '2012-01-01' AND DATE '2025-12-31' EACH INTERVAL '1' DAY, NO RANGE ) );
Output
CREATE TABLE tab2 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) DISTRIBUTE BY HASH (entry_id, oper_id, source_system_cd) /* PARTITION BY ( CASE_N( source_system_cd = '00000' , source_system_cd = '00002' , source_system_cd = '00006' , source_system_cd = '00018' , NO CASE ) , RANGE_N( entry_dt BETWEEN DATE '2012-01-01' AND DATE '2025-12-31' EACH INTERVAL '1' DAY, NO RANGE ) ) */ ;
Scenario 4: Assume that the configuration parameters (tdMigrateCASE_N and tdMigrateRANGE_N) are set to any value.
The following is another TD create table script with RANGE_N partition (without nested partitions).
Input
CREATE TABLE tab4 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) PRIMARY INDEX (entry_id, oper_id, source_system_cd) PARTITION BY (RANGE_N( entry_dt BETWEEN DATE '2012-01-01' AND DATE '2025-12-31' EACH INTERVAL '1' DAY, NO RANGE ) );
Output
CREATE TABLE tab4 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) DISTRIBUTE BY HASH (entry_id, oper_id, source_system_cd) PARTITION BY RANGE (entry_dt) ( PARTITION tab4_p1 START (CAST('2012-01-01' AS DATE)) END (CAST('2025-12-31' AS DATE)) EVERY (INTERVAL '1' DAY) );
Scenario 5: Assume that the configuration parameters (tdMigrateCASE_N and tdMigrateRANGE_N) are set to comment or range respectively.
The following is another teradata create table script with CASE_N partition (without nested partitions).
Input
CREATE TABLE tab5 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) PRIMARY INDEX (entry_id, oper_id, source_system_cd) PARTITION BY ( CASE_N( source_system_cd = '00000' , source_system_cd = '00002' , source_system_cd = '00006' , source_system_cd = '00018' , NO CASE ) );
Output
CREATE TABLE tab5 ( entry_id integer not null , oper_id integer not null , source_system_cd varchar(5) , entry_dt date , file_id integer , load_id integer , contract_id varchar(50) , contract_type_cd varchar(50) ) DISTRIBUTE BY HASH (entry_id, oper_id, source_system_cd) /* PARTITION BY ( CASE_N( source_system_cd = '00000' , source_system_cd = '00002' , source_system_cd = '00006' , source_system_cd = '00018' , NO CASE ) ) */ ;
1 2 |
CREATE TABLE EMP27 AS emp21 WITH DATA PRIMARY INDEX (EMPNO) ON COMMIT PRESERVE ROWS; |
Output
Begin CREATE TABLE EMP27 ( LIKE emp21 INCLUDING ALL EXCLUDING PARTITION EXCLUDING RELOPTIONS EXCLUDING DISTRIBUTION ) DISTRIBUTE BY HASH ( EMPNO ) ; INSERT INTO EMP27 select * from emp21 ; end ; / ANALYZE Emp27 (EmpNo);
Input |
Output |
---|---|
Numeric |
Numeric |
BIGINT |
BIGINT |
BYTEINT |
SMALLINT |
DECIMAL [(n[,m])] |
DECIMAL [(n[,m])] |
DOUBLE PRECISION |
DOUBLE PRECISION |
FLOAT |
DOUBLE PRECISION |
INT / INTEGER |
INTEGER |
NUMBER / NUMERIC |
NUMERIC |
NUMBER(n[,m]) |
NUMERIC (n[,m]) |
REAL |
REAL |
SMALLINT |
SMALLINT |
Character |
Character |
CHAR[(n)] / CHARACTER [(n)] |
CHAR(n) |
CLOB |
CLOB |
LONG VARCHAR |
TEXT |
VARCHAR(n) / CHAR VARYING(n) / CHARACTER VARYING(n) |
VARCHAR(n) |
DateTime |
DateTime |
DATE |
DATE |
TIME [(n)] |
TIME [(n)] |
TIME [(n)] WITH TIME ZONE |
TIME [(n)] WITH TIME ZONE |
TIMESTAMP [(n)] |
TIMESTAMP [(n)] |
TIMESTAMP [(n)] WITH TIME ZONE |
TIMESTAMP [(n)] WITH TIME ZONE |
Period |
Period |
PERIOD(DATE) |
daterange |
PERIOD(TIME [(n)]) |
tsrange [(n)] |
PERIOD(TIME WITH TIME ZONE) |
tstzrange |
PERIOD(TIMESTAMP [(n)]) |
tsrange [(n)] |
PERIOD(TIMESTAMP WITH TIME ZONE) |
tstzrange |
Binary |
Binary |
BLOB[(n)] |
blob |
BYTE[(n)] |
bytea |
VARBYTE[(n)] |
bytea |
For example: BYTEINT
Input
select cast(col as byteint) from tab;
Output
SELECT CAST( col AS SMALLINT ) FROM tab ;
Support for Specified Columns
Migration tool supports queries that specify number of columns (not all columns specified) during INSERT. This can happen when the input INSERT statement does not contain all the columns mentioned in the input CREATE statement. During migration, the columns are added with any default values specified.
This feature is supported if session_mode is Teradata.
- The SELECT statement for the INSERT-INTO-SELECT must not include the following:
- Set operators
- MERGE, TOP with PERCENT, TOP PERCENT with TIES
Input - TABLE with all columns of CREATE are not specified in the INSERT statement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
CREATE VOLATILE TABLE Convert_Data3 ,NO LOG ( zoneno CHAR( 6 ) ,brno CHAR( 6 ) ,currtype CHAR( 4 ) ,Commuteno CHAR( 4 ) ,Subcode CHAR( 12 ) ,accdate DATE format 'YYYY-MM-DD' NOT NULL ,acctime INTEGER ,quoteno CHAR( 1 ) ,quotedate DATE FORMAT 'YYYY-MM-DD' ,lddrbaL DECIMAL( 18 ,0 ) DEFAULT 0 ,ldcrbal DECIMAL( 18 ,0 ) ,tddramt DECIMAL( 18 ,0 ) DEFAULT 25 ,tdcramt DECIMAL( 18 ,0 ) ,tddrbal DECIMAL( 18 ,2 ) ,tdcrbal DECIMAL( 18 ,2 ) ) PRIMARY INDEX ( BRNO ,CURRTYPE ,SUBCODE ) ON COMMIT PRESERVE ROWS ; INSERT INTO Convert_Data3 ( zoneno ,brno ,currtype ,commuteno ,subcode ,accdate ,acctime ,quoteno ,quotedate ,tddrbal ,tdcrbal ) SELECT A.zoneno ,A.brno ,'014' currtype ,'2' commuteno ,A.subcode ,A.Accdate ,A.Acctime ,'2' quoteno ,B.workdate quoteDate ,CAST( ( CAST( SUM ( CAST( A.tddrbal AS FLOAT ) * CAST( B.USCVRATE AS FLOAT ) ) AS FLOAT ) ) AS DEC ( 18 ,2 ) ) AS tddrbal ,CAST( ( CAST( SUM ( CAST( A.tdcrbal AS FLOAT ) * CAST( B.USCVRATE AS FLOAT ) ) AS FLOAT ) ) AS DEC ( 18 ,2 ) ) AS tdcrbal FROM table2 A ; |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
CREATE LOCAL TEMPORARY TABLE Convert_Data3 ( zoneno CHAR( 6 ) ,brno CHAR( 6 ) ,currtype CHAR( 4 ) ,Commuteno CHAR( 4 ) ,Subcode CHAR( 12 ) ,accdate DATE NOT NULL ,acctime INTEGER ,quoteno CHAR( 1 ) ,quotedate DATE ,lddrbaL DECIMAL( 18 ,0 ) DEFAULT 0 ,ldcrbal DECIMAL( 18 ,0 ) ,tddramt DECIMAL( 18 ,0 ) DEFAULT 25 ,tdcramt DECIMAL( 18 ,0 ) ,tddrbal DECIMAL( 18 ,2 ) ,tdcrbal DECIMAL( 18 ,2 ) ) ON COMMIT PRESERVE ROWS DISTRIBUTE BY HASH ( BRNO ,CURRTYPE ,SUBCODE ) ; INSERT INTO Convert_Data3 ( lddrbaL ,ldcrbal ,tddramt ,tdcramt ,zoneno ,brno ,currtype ,commuteno ,subcode ,accdate ,acctime ,quoteno ,quotedate ,tddrbal ,tdcrbal ) SELECT 0 ,NULL ,25 ,NULL ,A.zoneno ,A.brno ,'014' currtype ,'2' commuteno ,A.subcode ,A.Accdate ,A.Acctime ,'2' quoteno ,B.workdate quoteDate ,CAST( ( CAST( SUM ( CAST( A.tddrbal AS FLOAT ) * CAST( B.USCVRATE AS FLOAT ) ) AS FLOAT ) ) AS DECIMAL( 18 ,2 ) ) AS tddrbal ,CAST( ( CAST( SUM ( CAST( A.tdcrbal AS FLOAT ) * CAST( B.USCVRATE AS FLOAT ) ) AS FLOAT ) ) AS DECIMAL( 18 ,2 ) ) AS tdcrbal FROM table2 A MINUS SELECT lddrbaL ,ldcrbal ,tddramt ,tdcramt ,zoneno ,brno ,currtype ,commuteno ,subcode ,accdate ,acctime ,quoteno ,quotedate ,tddrbal ,tdcrbal FROM CONVERT_DATA3 ; |
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