Джон использует CHARACTER VARYINGтам, где я использую VARCHAR. Я новичок, а он специалист. Это наводит на мысль, что я чего-то не знаю.
В чем разница между CHARACTER VARYING и VARCHAR в PostgreSQL?
Джон использует CHARACTER VARYINGтам, где я использую VARCHAR. Я новичок, а он специалист. Это наводит на мысль, что я чего-то не знаю.
В чем разница между CHARACTER VARYING и VARCHAR в PostgreSQL?
Ответы:
Varying - это псевдоним для varchar, поэтому без разницы, см. Документацию :)
Обозначения varchar (n) и char (n) - это псевдонимы для символа изменяющийся (n) и символа (n), соответственно. символ без спецификатора длины эквивалентен символу (1). Если изменение символа используется без спецификатора длины, тип принимает строки любого размера. Последний является расширением PostgreSQL.
varchar(n)и т. д. являются стандартами ANSI, и этот синтаксис специфичен для PostgreSQL.
Документация PostgreSQL по символьным типам - хорошая ссылка на это. Это два разных названия одного и того же типа.
Единственная разница в том, что CHARACTER VARYING более дружелюбен к человеку, чем VARCHAR.
И то, и другое - одно и то же, но многие базы данных не предоставляют различные символы, которые в основном предоставляет postgreSQL. Итак, для многопользовательской базы данных, такой как Oracle Postgre и DB2, хорошо использовать Varchar
Короткий ответ: разницы нет.
Длинный ответ: CHARACTER VARYINGэто официальное имя типа из стандарта ANSI SQL, которое должны поддерживать все совместимые базы данных. VARCHARэто более короткий псевдоним, который также поддерживают все современные базы данных. Я предпочитаю, VARCHARпотому что оно короче, а более длинное имя кажется педантичным. Однако такие инструменты postgres, как pg_dumpи, \dбудут выводить character varying.