{"Entry":{"collection":"sql","key":"drop-index","name":"DROP INDEX","aliases":["dropindex"],"metadata":{"aliases":["dropindex"],"changed_in":["7.1","7.3","7.4","8.2","9.2"],"changes":[{"from":"6.4","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["usage"],"removed":[]},"status":"changed","synopsis":null,"to":"6.5"},{"from":"6.5","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description"],"removed":[]},"status":"changed","synopsis":null,"to":"7.0"},{"from":"7.0","purpose_changed":true,"renamed":{"from_file":"sql-dropindex.htm","to_file":"sql-dropindex.html"},"sections":{"added":[],"changed":[],"removed":[]},"status":"changed","synopsis":{"added":["DROP INDEX index_name [, ...]"],"removed":[]},"to":"7.1"},{"from":"7.1","purpose_changed":true,"renamed":null,"sections":{"added":[],"changed":["description"],"removed":[]},"status":"changed","synopsis":null,"to":"7.2"},{"from":"7.2","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":[],"removed":[]},"status":"changed","synopsis":{"added":["DROP INDEX index_name [, ...] [ CASCADE | RESTRICT ]"],"removed":[]},"to":"7.3"},{"from":"7.3","purpose_changed":false,"renamed":null,"sections":{"added":["parameters","examples","see_also"],"changed":["description","compatibility"],"removed":["usage"]},"status":"changed","synopsis":{"added":["DROP INDEX name [, ...] [ CASCADE | RESTRICT ]"],"removed":["DROP INDEX index_name [, ...] [ CASCADE | RESTRICT ]"]},"to":"7.4"},{"from":"8.1","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":{"added":["DROP INDEX [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"],"removed":[]},"to":"8.2"},{"from":"9.1","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":{"added":["DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"],"removed":[]},"to":"9.2"},{"from":"9.3","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"9.4"},{"from":"9.5","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"9.6"},{"from":"10","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"11"},{"from":"11","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"12"},{"from":"16","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"17"},{"from":"18","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"19"}],"content_hash":"47b3e5a9e3872ecadcd39ebb0daef28330c0aa3dd904d9deb5e6ba7bb89786d5","editorial":{},"first_version":"6.4","group":"index","imported_at":"2026-09-30T17:43:36.931531+08:00","last_version":"20","name":"DROP INDEX","object":"INDEX","position":1003,"present_in":["6.4","6.5","7.0","7.1","7.2","7.3","7.4","8.0","8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6","10","11","12","13","14","15","16","17","18","19","20"],"purpose":"remove an index","purpose_zh":"","related":["create-index"],"slug":"drop-index","source_rev":"a709ab85","synopsis":"DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]","verb":"DROP"}},"Definition":{"Collection":"sql","Key":"drop-index","SourceDatabase":"center","Version":"18","SourceTable":"sqlcmd","SourceKey":"drop-index","SourceRevision":"a709ab85","Facts":{"anchor":"SQL-DROPINDEX","file":"sql-dropindex.html","lang":"en","name":"DROP INDEX","purpose":"remove an index","purpose_zh":"","related":["create-index"],"sections":[{"html":"\u003cp\u003e\u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e drops an existing index from the database system. To execute this command you must be the owner of the index.\u003c/p\u003e","key":"description","title":"Description"},{"html":"\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eCONCURRENTLY\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eDrop the index without locking out concurrent selects, inserts, updates, and deletes on the index's table. A normal \u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e acquires an \u003ccode class=\"literal\"\u003eACCESS EXCLUSIVE\u003c/code\u003e lock on the table, blocking other accesses until the index drop can be completed. With this option, the command instead waits until conflicting transactions have completed.\u003c/p\u003e\u003cp\u003eThere are several caveats to be aware of when using this option. Only one index name can be specified, and the \u003ccode class=\"literal\"\u003eCASCADE\u003c/code\u003e option is not supported. (Thus, an index that supports a \u003ccode class=\"literal\"\u003eUNIQUE\u003c/code\u003e or \u003ccode class=\"literal\"\u003ePRIMARY KEY\u003c/code\u003e constraint cannot be dropped this way.) Also, regular \u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e commands can be performed within a transaction block, but \u003ccode class=\"command\"\u003eDROP INDEX CONCURRENTLY\u003c/code\u003e cannot. Lastly, indexes on partitioned tables cannot be dropped using this option.\u003c/p\u003e\u003cp\u003eFor temporary tables, \u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e is always non-concurrent, as no other session can access them, and non-concurrent index drop is cheaper.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eIF EXISTS\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eDo not throw an error if the index does not exist. A notice is issued in this case.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eThe name (optionally schema-qualified) of an index to remove.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eCASCADE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eAutomatically drop objects that depend on the index, and in turn all objects that depend on those objects (see \u003ca href=\"/docs/18/ddl-depend.html\" title=\"5.15. Dependency Tracking\"\u003eSection 5.15\u003c/a\u003e).\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eRESTRICT\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eRefuse to drop the index if any objects depend on it. This is the default.\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e","key":"parameters","title":"Parameters"},{"html":"\u003cp\u003eThis command will remove the index \u003ccode class=\"literal\"\u003etitle_idx\u003c/code\u003e:\u003c/p\u003e\u003cpre class=\"programlisting\"\u003eDROP INDEX title_idx;\n\u003c/pre\u003e","key":"examples","title":"Examples"},{"html":"\u003cp\u003e\u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e is a \u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e language extension. There are no provisions for indexes in the SQL standard.\u003c/p\u003e","key":"compatibility","title":"Compatibility"},{"html":"\u003cspan class=\"simplelist\"\u003e\u003ca href=\"/wiki/sql/create-index/?v=18\" title=\"CREATE INDEX\"\u003e\u003cspan class=\"refentrytitle\"\u003eCREATE INDEX\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e","key":"see_also","title":"See Also"}],"sections_same_as":"","slug":"18","synopsis_html":"DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] \u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e [, ...] [ CASCADE | RESTRICT ]","synopsis_text":"DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"},"ManualEvidence":{},"MeasuredEvidence":{}},"Text":{"Collection":"sql","Key":"drop-index","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"DROP INDEX","Summary":"移除一个索引","BodyHTML":"\u003cpre\u003eDROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]\u003c/pre\u003e\u003csection\u003e\u003ch2\u003e描述\u003c/h2\u003e\u003cp\u003e\u003ccode\u003eDROP INDEX\u003c/code\u003e从数据库系统中删除一个现有索引。要执行此命令，你必须是该索引的拥有者。\u003c/p\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e参数\u003c/h2\u003e\u003cdiv\u003e\u003cdl\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eCONCURRENTLY\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e删除索引时，不阻塞该索引所在表上的并发查询、插入、更新和删除。普通的\u003ccode\u003eDROP INDEX\u003c/code\u003e 会对该表获取\u003ccode\u003eACCESS EXCLUSIVE\u003c/code\u003e锁，阻塞其他访问，直到索引删除完成。使用该选项时，命令会改为等待相冲突的事务完成。\u003c/p\u003e\u003cp\u003e使用此选项时有若干限制需要注意。只能指定一个索引名，并且不支持 \u003ccode\u003eCASCADE\u003c/code\u003e选项。（因此，支撑\u003ccode\u003eUNIQUE\u003c/code\u003e 或\u003ccode\u003ePRIMARY KEY\u003c/code\u003e约束的索引不能以这种方式删除。）另外，普通的\u003ccode\u003eDROP INDEX\u003c/code\u003e可以在事务块内执行，但\u003ccode\u003eDROP INDEX CONCURRENTLY\u003c/code\u003e不可以。最后，分区表上的索引也不能使用该选项删除。\u003c/p\u003e\u003cp\u003e对于临时表，\u003ccode\u003eDROP INDEX\u003c/code\u003e始终是非并发的，因为没有其他会话可以访问它们，而且非并发删除索引的代价更低。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eIF EXISTS\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e如果该索引不存在，则不要抛出错误。这种情况下会发出一条提示。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003cem\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e要移除的索引名称（可以被模式限定）。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eCASCADE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e自动删除依赖于该索引的对象，以及进一步依赖于这些对象的所有对象（参见\u003ca href=\"/docs/18/ddl-depend.html\" rel=\"nofollow\"\u003e第 5.15 节\u003c/a\u003e）。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eRESTRICT\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e如果有任何对象依赖于该索引，则拒绝删除它。这是默认值。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e示例\u003c/h2\u003e\u003cp\u003e此命令会删除索引\u003ccode\u003etitle_idx\u003c/code\u003e：\u003c/p\u003e\u003cpre\u003eDROP INDEX title_idx;\n\u003c/pre\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e兼容性\u003c/h2\u003e\u003cp\u003e\u003ccode\u003eDROP INDEX\u003c/code\u003e是\u003cspan\u003ePostgreSQL\u003c/span\u003e 的一种语言扩展。SQL 标准中没有关于索引的规定。\u003c/p\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e另见\u003c/h2\u003e\u003cspan\u003e\u003ca href=\"/wiki/sql/create-index/?v=18\" title=\"CREATE INDEX\" rel=\"nofollow\"\u003e\u003cspan\u003eCREATE INDEX\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003c/section\u003e","SourceRevision":"1b5ca64c","ContentHash":"5fb9c42db7053067e5dd3d91162b257d346cf3c45c267fd4ec82953a07e3d6be","Payload":{"purpose_zh":"移除一个索引","sections":[{"html":"\u003cp\u003e\u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e从数据库系统中删除一个现有索引。要执行此命令，你必须是该索引的拥有者。\u003c/p\u003e","key":"description","title":"描述"},{"html":"\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eCONCURRENTLY\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e删除索引时，不阻塞该索引所在表上的并发查询、插入、更新和删除。普通的\u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e 会对该表获取\u003ccode class=\"literal\"\u003eACCESS EXCLUSIVE\u003c/code\u003e锁，阻塞其他访问，直到索引删除完成。使用该选项时，命令会改为等待相冲突的事务完成。\u003c/p\u003e\u003cp\u003e使用此选项时有若干限制需要注意。只能指定一个索引名，并且不支持 \u003ccode class=\"literal\"\u003eCASCADE\u003c/code\u003e选项。（因此，支撑\u003ccode class=\"literal\"\u003eUNIQUE\u003c/code\u003e 或\u003ccode class=\"literal\"\u003ePRIMARY KEY\u003c/code\u003e约束的索引不能以这种方式删除。）另外，普通的\u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e可以在事务块内执行，但\u003ccode class=\"command\"\u003eDROP INDEX CONCURRENTLY\u003c/code\u003e不可以。最后，分区表上的索引也不能使用该选项删除。\u003c/p\u003e\u003cp\u003e对于临时表，\u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e始终是非并发的，因为没有其他会话可以访问它们，而且非并发删除索引的代价更低。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eIF EXISTS\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e如果该索引不存在，则不要抛出错误。这种情况下会发出一条提示。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e要移除的索引名称（可以被模式限定）。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eCASCADE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e自动删除依赖于该索引的对象，以及进一步依赖于这些对象的所有对象（参见\u003ca href=\"/docs/18/ddl-depend.html\" title=\"5.15. 依赖跟踪\"\u003e第 5.15 节\u003c/a\u003e）。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eRESTRICT\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e如果有任何对象依赖于该索引，则拒绝删除它。这是默认值。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e","key":"parameters","title":"参数"},{"html":"\u003cp\u003e此命令会删除索引\u003ccode class=\"literal\"\u003etitle_idx\u003c/code\u003e：\u003c/p\u003e\u003cpre class=\"programlisting\"\u003eDROP INDEX title_idx;\n\u003c/pre\u003e","key":"examples","title":"示例"},{"html":"\u003cp\u003e\u003ccode class=\"command\"\u003eDROP INDEX\u003c/code\u003e是\u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e 的一种语言扩展。SQL 标准中没有关于索引的规定。\u003c/p\u003e","key":"compatibility","title":"兼容性"},{"html":"\u003cspan class=\"simplelist\"\u003e\u003ca href=\"/wiki/sql/create-index/?v=18\" title=\"CREATE INDEX\"\u003e\u003cspan class=\"refentrytitle\"\u003eCREATE INDEX\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e","key":"see_also","title":"另见"}],"sections_same_as":"","synopsis_html":"DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] \u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e [, ...] [ CASCADE | RESTRICT ]","synopsis_text":"DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","6.4","6.5","7.0","7.1","7.2","7.3","7.4","8.0","8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
