Thread: Syntax incorrect for psql 9.6
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/9.4/sql-reindex.html Description: For the REINDEX DATABASE command, the documentation suggests REINDEX DATABASE databaseName, however my experience suggests this does not work; the database name must be quoted: sonarDB=# \c sonarDB; You are now connected to database "sonarDB" as user "sonarUser". sonarDB=# REINDEX DATABASE sonarDB; ERROR: can only reindex the currently open database sonarDB=# REINDEX DATABASE "sonarDB"; REINDEX
PG Doc comments form <noreply@postgresql.org> writes: > For the REINDEX DATABASE command, the documentation suggests REINDEX > DATABASE databaseName, however my experience suggests this does not work; > the database name must be quoted: > sonarDB=# \c sonarDB; > You are now connected to database "sonarDB" as user "sonarUser". > sonarDB=# REINDEX DATABASE sonarDB; > ERROR: can only reindex the currently open database > sonarDB=# REINDEX DATABASE "sonarDB"; > REINDEX There's nothing wrong with REINDEX; this is just the generic problem that non-lower-case identifiers have to be double-quoted anywhere in SQL. See https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS particularly the last para in 4.1.1. regards, tom lane