Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql pgSQL字符限制_Postgresql - Fatal编程技术网

Postgresql pgSQL字符限制

Postgresql pgSQL字符限制,postgresql,Postgresql,在完全脱离mySQL之后,我对pgSQL还是比较陌生的 我试图找到pgSQL可能有或没有的字符限制(如果有)。具体地说,我很好奇下面的内容是否有字符限制 数据库名称长度(mySQL为64个字符) 用户名长度(mySQL为16个字符) 密码长度 我一直在搜索谷歌,我读过pgSQL常见问题解答,以及一些随机的其他帖子,但我没有找到任何可靠的答案。也许pgSQL不像mySQL那样有这些限制。如果有人能解释一下,那就太好了 我目前正在使用pgSQL 9.3.1任何标识符的长度限制为63个字符: 默认情

在完全脱离mySQL之后,我对pgSQL还是比较陌生的

我试图找到pgSQL可能有或没有的字符限制(如果有)。具体地说,我很好奇下面的内容是否有字符限制

  • 数据库名称长度(mySQL为64个字符)
  • 用户名长度(mySQL为16个字符)
  • 密码长度
  • 我一直在搜索谷歌,我读过pgSQL常见问题解答,以及一些随机的其他帖子,但我没有找到任何可靠的答案。也许pgSQL不像mySQL那样有这些限制。如果有人能解释一下,那就太好了

    我目前正在使用pgSQL 9.3.1

    任何标识符的长度限制为63个字符:

    默认情况下,NAMEDATALEN为64,因此最大标识符长度为63字节

    由于用户名和数据库名是标识符,所以应该对它们应用该限制


    我不知道密码有任何长度限制(尽管我肯定有限制)。

    获得限制的最简单方法是测试。没有那么难。可能是“不”的重复,因为我只关心上面提到的。DB内部发生的事情与我无关。我相信密码是散列的,所以我怀疑对长度的限制是否适用于它们。是的,我想不必担心密码长度,但我把它放在那里以防万一。
    psql
    命令行工具将密码截断为
    100
    字节,并且不能处理超过这个长度的密码,虽然服务器会接受它们,但准确地说是0.99个字符!我使用了一个100个字符的密码,花了一整天的时间寻找它为什么不起作用。对于任何其他遇到此问题的人,有两个详细信息:长密码可以手动输入,但从envar/.pgpass加载时会中断,而且这似乎不仅是psql,而且是libpq(或者至少是node pq库,我认为它基于libpq)