Are there unquoted names that are case insensitive in Postgres?

Re: “In PostgreSQL unquoted names are case-insensitive”, AFAIK that’s actually in the SQL standards. However, the standard says that unquoted identifiers should be folded to uppercase but PostgreSQL folds them to lower case (probably for historic reasons).

How are string columns in PostgreSQL case sensitive?

When I first migrated, one problem I had was related to how string columns work. In PostgreSQL they’re case-sensitive. To demonstrate how PostgreSQL works let’s create a table with a unique index. When you insert some records, notice that PostgreSQL will accept “duplicated terms”.

Which is case sensitive, sort _ string or sort _ regular?

Both SORT_STRING and SORT_REGULAR are case sensitive, strings starting with a capital letter will come before strings starting with a lowercase letter. To perform a case insensitive sort, force the sorting order to be determined by a lowercase copy of the original array. The above example will output:

How does the array multisort function in PHP work?

This function passes the entire child element even if it is not a string. If it is an array, as would be the case in multidimensional arrays, it will pass the whole child array as one parameter. This does in 4 lines what other functions took 40 to 50 lines to do.

Do you need case sensitive search in PostgreSQL?

We do ot have any scenarios where we will need case sensitive search. This may be too late for the original poster, but for completeness, the way to achieve case insensitive behaviour from PostgreSQL is to set a non-deterministic collation. This is only for Postgres 12.

Is there case insensitive collation in PostgreSQL V12?

A lot has changed since this question. Native support for case-insensitive collation has been added in PostgreSQL v12. This basically deprecates the citext extension, as mentioned in the other answers.

When to use unquoted or quoted entities in PostgreSQL?

Thus, when creating entities (tables, views, procedures, etc) in PostgreSQL, you should specify them either unquoted, or quoted-but-lowercased. To convert existing tables/views/etc you can use something like ALTER TABLE “FOO” RENAME TO “foo”.