CREATE COLLATION 7 SQL - Language Statements CREATE COLLATION define a new collation CREATE COLLATION CREATE COLLATION name ( [ LOCALE = locale, ] [ LC_COLLATE = lc_collate, ] [ LC_CTYPE = lc_ctype, ] ) CREATE COLLATION name FROM existing_collation Description CREATE COLLATION defines a new collation using the specified operating system locales or from an existing collation. To be able to create a collation, you must have CREATE privilege on the destination schema. Parameters name The name of the collation. The collation name can be schema-qualified. If it is not, the collation is defined in the current schema. The collation name must be unique within a schema. (The system catalogs can contain collations with the same name for other encodings, but these are not usable if the database encoding does not match.) existing_collation The name of an existing collation to copy. The new collation will have the same properties as the existing one, but they will become independent objects. locale This is a shortcut for setting LC_COLLATE and LC_CTYPE at once. If you specify this, you cannot specify either of the other parameters. lc_collate Use the specified operating system locale for the LC_COLLATE locale category. The locale must be applicable to the current database encoding. (See for the precise rules.) lc_ctype Use the specified operating system locale for the LC_CTYPE locale category. The locale must be applicable to the current database encoding. (See for the precise rules.) Notes Use DROP COLLATION to remove user-defined collations. See for more information about collation support in PostgreSQL. Examples To create a collation from the locale fr_FR.utf8 (assuming the current database encoding is UTF8): CREATE COLLATION french (LOCALE = 'fr_FR.utf8'); To create a collation from an existing collation: CREATE COLLATION german FROM "de_DE"; This can be convenient to be able to use operating-system independent collation names in applications. Compatibility There is a CREATE COLLATION statement in the SQL standard, but it is limited to copying an existing collation. The syntax to create a new collation is a PostgreSQL extension. See Also