我想創建一個表,其字段名稱爲100個字符,但postgres限制的字符數爲64,因此如何將該限制更改爲100?如何更改Postgres表字段名稱限制?
例如: 創建表測試 ( PatientFirstnameLastNameSSNPolicyInsuraceTicketDetailEMRquestionEMR VARCHAR(10) )
作爲名稱超過64個字符
我想創建一個表,其字段名稱爲100個字符,但postgres限制的字符數爲64,因此如何將該限制更改爲100?如何更改Postgres表字段名稱限制?
例如: 創建表測試 ( PatientFirstnameLastNameSSNPolicyInsuraceTicketDetailEMRquestionEMR VARCHAR(10) )
作爲名稱超過64個字符
實際上名稱的限制等於NAMEDATALEN - 1
字節(不一定字符),用於缺省NAMEDATALEN值是64
NAMEDATALEN是在編譯時決定(src/include/pg_config_manual.h
)。您必須用新的NAMEDATALEN限制重新編譯PostgreSQL才能使其工作。
但是考慮設計和與其他標準63字節限制的服務器的兼容性。使用這種長名稱並不常見。
這是因爲special name
type(見表8.5)的,該表創建失敗,其在pg_catalog中使用。它不會接受超過63字節(加終止符)的任何內容。沒有解決方法。
PostgreSQL是開源的。 *總是*開放源碼軟件的解決方法。但它往往不是一個愉快的。 :-) – 2011-06-10 14:20:33
是的,我知道,但我懷疑OP會弄髒他的手。 ;-) – 2011-06-10 14:24:34
另外,正如註釋中鏈接的其他線程所指出的,63個字符的長度足以接受「insanely_stupid_and_totally_impractical_table_or_function_name0」:-D – 2011-06-10 14:26:47
我不想成爲需要輸入那個100個字符長的列名的編碼員。 :-) – 2011-06-10 14:05:35
看看http://stackoverflow.com/questions/3836247/how-do-i-change-the-namedatalen-configuration-after-installing-postgresql-9-0 – 2011-06-10 14:20:25
@Denis:我一直都知道從pgAdminIII的SQL頁面複製更短的列名稱。減少錯別字。 – 2011-06-10 22:48:51