重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 395|回复: 2
打印 上一主题 下一主题

PG标识符长度不能超过63个字符

[复制链接]
跳转到指定楼层
楼主
发表于 2025-8-8 10:43:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果超过,会截断。
比如我们创建一个超过63个字符的表名如下:

create table a1234567890abcdefghigklmnopqrstuvwzyz1234567890abcdefghijklmnopqrstuvwxyz(a int)
postgres-# ;
NOTICE:  identifier "a1234567890abcdefghigklmnopqrstuvwzyz1234567890abcdefghijklmnopqrstuvwxyz" will be truncated to "a1234567890abcdefghigklmnopqrstuvwzyz1234567890abcdefghijklmnop"
CREATE TABLE


postgres=# \d
                                    List of relations
Schema |                              Name                               | Type  | Owner
--------+-----------------------------------------------------------------+-------+-------
public | a1234567890abcdefghigklmnopqrstuvwzyz1234567890abcdefghijklmnop | table | pg16
public | emp                                                             | table | pg16
(2 rows)


看一下长度:
postgres=# select length(relname) from pg_class where relname='a1234567890abcdefghigklmnopqrstuvwzyz1234567890abcdefghijklmnop';
length
--------
     63
(1 row)


只有63个字符。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2025-8-8 10:49:01 | 只看该作者
当然,这个长度限制可以修改源码进行调整。具体位置:
src/include/pg_config_manual.h文件中

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2025-8-8 10:49:33 | 只看该作者
之后,重新编译,以及 INITDB
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 21:20 , Processed in 0.253008 second(s), 23 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表