DEV Community

Michael
Michael

Posted on • Originally published at gbase.cn

Using Chinese Identifiers in GBase 8a: The gcluster_extend_ident Parameter

By default, GBase 8a does not accept Chinese characters for database, table, or column names. To enable this, you must turn on a specific system parameter — gcluster_extend_ident.

The Parameter

  • Name: gcluster_extend_ident
  • Default: 0 (disabled)
  • Values: 1 or ON
  • Effect: Allows Chinese characters in identifier names. Database names can contain up to 48 Chinese characters, and table names up to 21.

Why It's Disabled by Default

This is not a technical limitation but a deliberate design choice that prioritizes stability, maintainability, and global compatibility.

Key Reasons

  1. Character set and collation complexity: Chinese characters involve UTF8, GBK, UTF8MB4, etc. Enabling them means every metadata operation, privilege check, SQL parse, and distributed execution plan must handle non‑ASCII identifiers correctly — significantly increasing internal complexity.
  2. No ambiguity from full‑width/half‑width characters: While Chinese has no case, confusion between full‑width and half‑width symbols can lead to subtle bugs.
  3. Tool chain compatibility: Monitoring scripts, ETL tools, BI platforms are largely built around ASCII identifiers. Chinese names can cause connection errors or garbled metadata, breaking the ecosystem.
  4. Cross‑platform consistency: Terminals, SSH clients, and operating systems render Chinese inconsistently, complicating remote maintenance.
  5. International collaboration: English identifiers are the lingua franca for global teams and open‑source projects.

The Design Philosophy

GBase 8a follows a "safe default" strategy: provide the most stable, universal configuration out of the box, while making niche features like Chinese identifiers optional. gcluster_extend_ident acts as both a capability switch and a risk indicator — keeping the system robust for everyone, while giving experienced DBAs the freedom to enable it after evaluating the trade‑offs.

In short, GBASE's GBase 8a database puts the choice in your hands: solid defaults for safety, and an explicit parameter when you need language‑specific flexibility.

Top comments (0)