It is weird that the index name needs quotation around it. Below command worked absolutely fine and dropped the index as well

drop index my_schema."users_dept_idx"
Answer from newbie on Stack Overflow
🌐
PostgreSQL
postgresql.org › docs › current › sql-dropindex.html
PostgreSQL: Documentation: 18: DROP INDEX
May 14, 2026 - July 16, 2026: PostgreSQL 19 Beta 2 Released! ... Unsupported versions: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 ... DROP INDEX drops an existing index from the database system.
🌐
Neon
neon.com › postgresql › indexes › drop-index
PostgreSQL DROP INDEX Statement
The statement removed the index as expected. Use the PostgreSQL DROP INDEX statement to delete an index.
🌐
PostgreSQL
postgresql.org › docs › 7.0 › sql-dropindex.htm
PostgreSQL: Documentation: 7.0: DROP INDEX
January 1, 2012 - This message occurs if index_name is not an index in the database. DROP INDEX drops an existing index from the database system.
🌐
GeeksforGeeks
geeksforgeeks.org › postgresql › postgresql-drop-index
PostgreSQL - DROP INDEX - GeeksforGeeks
July 15, 2025 - Use the CONCURRENTLY option to minimize the impact on database availability during the index removal. The PostgreSQL DROP INDEX command is a powerful tool for managing and optimizing your database.
Find elsewhere
🌐
PopSQL
popsql.com › learn-sql › postgresql › how-to-drop-an-index-in-postgresql
PostgreSQL: Drop an Index - PopSQL
Learn how to drop an index in PostgreSQL using SQL commands. Dropping an index removes it from the database, which can be useful when you no longer need the index or want to replace it with a different one.
🌐
pgPedia
pgpedia.info › d › drop-index.html
DROP INDEX - pgPedia - a PostgreSQL Encyclopedia
PostgreSQL documentation PostgreSQL feature matrix PostgreSQL versioning policy PostgreSQL latest versions @pgpedia.info (Bluesky) ... DROP INDEX is a DDL command for removing an index.
🌐
PostgreSQL Tutorial
pgtutorial.com › home › postgresql tutorial › postgresql drop index statement
PostgreSQL DROP INDEX statement
March 7, 2025 - Finally, use the CASCADE option to automatically drop the objects that depend on the index and, in turn, all objects that depend on those objects. The RESTRICT option rejects the index removal if the index has any dependent objects. The RESTRICT option is the default.
🌐
Medium
medium.com › @jramcloud1 › 25-postgresql-17-performance-tuning-detecting-and-removing-unused-indexes-a6f01d1d9055
25 - PostgreSQL 17 Performance Tuning: Detecting and Removing Unused Indexes | by Jeyaram Ayyalusamy | Medium
September 9, 2025 - PostgreSQL 17 provides system views (pg_stat_user_indexes) to spot them. Always validate with developers before dropping indexes — some may serve niche but important queries.
🌐
Rockdata
rockdata.net › zh-cn › tutorial › ddl-drop-index
PostgreSQL 教程: DROP INDEX 删除索引 - Redrock Postgres
摘要:在本教程中,您将学习如何使用 PostgreSQL 的DROP INDEX语句删除现有索引。 ... 有时,您可能希望从数据库系统中删除现有索引。为此,您可以使用DROP INDEX语句,如下: · DROP INDEX [ CONCURRENTLY] [ IF EXISTS ] index_name [ CASCADE | RESTRICT ];
🌐
RisingWave
risingwave.com › home › blog › dropping an index in postgresql: a step-by-step guide
Dropping an Index in PostgreSQL: A Step-by-Step Guide | RisingWave
July 2, 2024 - By incorporating backup strategies ... To remove an existing index in PostgreSQL, use the DROP INDEX statement followed by the name of the index you intend to delete....
🌐
Stormatics
stormatics.tech › home › unused indexes in postgresql: risks, detection, and safe removal
Unused Indexes In PostgreSQL: Risks, Detection, And Safe Removal - Stormatics
March 30, 2026 - A large index can appear unused in statistics, but must not be dropped if it enforces a PRIMARY, UNIQUE, or FOREIGN KEY constraint. PostgreSQL uses these indexes to guarantee data integrity and will not allow them to be dropped unless the constraint itself is explicitly removed.
🌐
Supabase
supabase.com › docs › guides › database › row level security
Row Level Security | Supabase Docs
1 day ago - You should never share login credentials for any Postgres Role with this privilege. Every authorization system has an impact on performance. While row level security is powerful, the performance impact is important to keep in mind. This is especially true for queries that scan every row in a table - like many select operations, including those using limit, offset, and ordering. Based on a series of tests, we have a few recommendations for RLS: Make sure you've added indexes on any columns used within the Policies which are not already indexed (or primary keys).
🌐
Drizzle ORM
orm.drizzle.team › docs › get-started › postgresql-new
Drizzle ORM - PostgreSQL
PlanetScale Postgres Neon Vercel Postgres Prisma Postgres Supabase Xata PGLite Nile Bun SQL Effect Postgres Netlify Database AWS Data API Postgres ... Manage schema Data types Indexes & Constraints Sequences Views Schemas Drizzle Relations Row-Level Security (RLS) Extensions
🌐
TypeORM
typeorm.io
TypeORM - Code with Confidence. Query with Power. | TypeORM
Works with MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB, and more.
🌐
DataCamp
datacamp.com › doc › postgresql › dropping-unused-indexes
PostgreSQL Dropping Unused Indexes
In this syntax, DROP INDEX IF EXISTS index_name removes the index if it exists, preventing error messages if the index is not present.
🌐
Adminer
adminer.org
Adminer - Database management in a single PHP file
Adminer is available for: MySQL, MariaDB, PostgreSQL, CockroachDB, SQLite, MS SQL, Oracle.