最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PostgreSQL清空數(shù)據(jù)庫的常用方法

 更新時間:2026年03月18日 08:33:44   作者:亮子AI  
PostgreSQL 中清空一個數(shù)據(jù)庫通常有幾種理解和對應(yīng)方法,具體取決于你的需求,本文通過代碼示例給大家介紹了常用的清空方法,需要的朋友可以參考下

PostgreSQL 中“清空一個數(shù)據(jù)庫”通常有幾種理解和對應(yīng)方法,具體取決于你的需求:

  • 只清空所有數(shù)據(jù)(保留表結(jié)構(gòu)、索引、約束等):推薦使用 TRUNCATE。
  • 徹底清空(刪除所有表、視圖、序列等對象,保留空數(shù)據(jù)庫):推薦 DROP SCHEMA + CREATE SCHEMA。
  • 完全刪除并重建數(shù)據(jù)庫:最簡單粗暴的方式。

注意事項(非常重要)

  • 操作前備份數(shù)據(jù)!清空是不可逆的。
  • 需要超級用戶或數(shù)據(jù)庫所有者權(quán)限。
  • 大部分操作會鎖定表,生產(chǎn)環(huán)境慎用。
  • 如果有外鍵約束,TRUNCATEDROP 可能需要加 CASCADE

1. 最推薦:只清空數(shù)據(jù)(保留表結(jié)構(gòu))—— 使用 TRUNCATE

TRUNCATEDELETE 快得多,且立即釋放空間。

方法 A:手動清空單個或多個表

TRUNCATE TABLE table1, table2, table3 RESTART IDENTITY CASCADE;
  • RESTART IDENTITY:同時重置自增序列(序列從 1 開始)。
  • CASCADE:自動清空有外鍵引用的表(小心使用)。

方法 B:自動清空當前 schema(通常是 public)中的所有表

在 psql 中執(zhí)行以下腳本:

DO $$
DECLARE
    r RECORD;
BEGIN
    FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema()) LOOP
        EXECUTE 'TRUNCATE TABLE ' || quote_ident(r.tablename) || ' RESTART IDENTITY CASCADE;';
    END LOOP;
END $$;

或者生成 SQL 后執(zhí)行(更靈活):

SELECT 'TRUNCATE TABLE ' || tablename || ' RESTART IDENTITY CASCADE;'
FROM pg_tables 
WHERE schemaname = 'public';

復(fù)制輸出結(jié)果并執(zhí)行即可。

2. 徹底清空數(shù)據(jù)庫(刪除所有對象,保留空庫)

最簡單高效的方式是刪除并重建默認 schema(public):

DROP SCHEMA public CASCADE;
CREATE SCHEMA public;

-- 恢復(fù)默認權(quán)限(推薦加上)
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO public;

這會刪除所有表、視圖、函數(shù)、序列等,數(shù)據(jù)庫本身還在,但已經(jīng)是空的。

3. 完全刪除并重建整個數(shù)據(jù)庫

使用 SQL(需要在 postgres 或其他數(shù)據(jù)庫中執(zhí)行,不能在目標數(shù)據(jù)庫里刪自己)

DROP DATABASE IF EXISTS your_database_name;
CREATE DATABASE your_database_name;

使用命令行工具(推薦)

# 刪除數(shù)據(jù)庫
dropdb -U postgres your_database_name
# 創(chuàng)建新數(shù)據(jù)庫
createdb -U postgres your_database_name

或者用 pgAdmin 圖形界面操作更直觀。

4. 其他常見場景

  • 清空后重置序列:在 TRUNCATE 時加 RESTART IDENTITY,或單獨執(zhí)行 ALTER SEQUENCE seq_name RESTART WITH 1;
  • 釋放磁盤空間:清空后如果空間沒釋放,可執(zhí)行:
VACUUM FULL;

(會鎖表,生產(chǎn)環(huán)境慎用;平時用 VACUUM 即可)。

  • 只刪除數(shù)據(jù)不重置序列TRUNCATE ... CONTINUE IDENTITY;(默認行為)。

建議

  • 開發(fā)/測試環(huán)境:用方法 2(DROP SCHEMA)最方便。
  • 生產(chǎn)環(huán)境:強烈建議用方法 1(TRUNCATE),并在事務(wù)中測試。
  • 如果數(shù)據(jù)庫很大,TRUNCATE 仍然是最快的清空方式。

到此這篇關(guān)于PostgreSQL清空數(shù)據(jù)庫的常用方法的文章就介紹到這了,更多相關(guān)PostgreSQL清空數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PostgreSQL中實現(xiàn)自增的三種方式舉例

    PostgreSQL中實現(xiàn)自增的三種方式舉例

    很多小伙伴在把mysql數(shù)據(jù)庫里面的表導(dǎo)入pgsql數(shù)據(jù)庫的時候,會遇到新增數(shù)據(jù)的時候id不自增,這篇文章主要給大家介紹了關(guān)于PostgreSQL中實現(xiàn)自增的三種方式,需要的朋友可以參考下
    2024-02-02
  • PostgreSQL 自動Vacuum配置方式

    PostgreSQL 自動Vacuum配置方式

    這篇文章主要介紹了PostgreSQL 自動Vacuum配置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 對PostgreSQL中的慢查詢進行分析和優(yōu)化的操作指南

    對PostgreSQL中的慢查詢進行分析和優(yōu)化的操作指南

    在數(shù)據(jù)庫的世界里,慢查詢就像是路上的絆腳石,讓數(shù)據(jù)處理的道路變得崎嶇不平,想象一下,你正在高速公路上飛馳,突然遇到一堆減速帶,那感覺肯定糟透了,本文介紹了怎樣對?PostgreSQL?中的慢查詢進行分析和優(yōu)化,需要的朋友可以參考下
    2024-07-07
  • RuoYi從MySQL遷移到PostgreSQL數(shù)據(jù)庫的踩坑實錄

    RuoYi從MySQL遷移到PostgreSQL數(shù)據(jù)庫的踩坑實錄

    隨著業(yè)務(wù)發(fā)展對數(shù)據(jù)庫性能要求的提升,MySQL遷移至PostgreSQL成為企業(yè)級應(yīng)用的常見需求,下面這篇文章主要介紹了RuoYi從MySQL遷移到PostgreSQL數(shù)據(jù)庫的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-02-02
  • Cenots7 離線安裝部署PostgreSQL 的詳細過程

    Cenots7 離線安裝部署PostgreSQL 的詳細過程

    這篇文章主要介紹了Cenots7 離線安裝部署PostgreSQL 的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • PostgreSQL 實現(xiàn)sql放入文件批量執(zhí)行

    PostgreSQL 實現(xiàn)sql放入文件批量執(zhí)行

    這篇文章主要介紹了PostgreSQL 實現(xiàn)sql放入文件批量執(zhí)行,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • PostgreSQL云服務(wù)器安裝配置指南

    PostgreSQL云服務(wù)器安裝配置指南

    這篇文章主要介紹了PostgreSQL的相關(guān)配置,包括安裝、基本配置、安全加固等,重點介紹了配置文件調(diào)整、遠程訪問配置、訪問控制配置等內(nèi)容,并強調(diào)了連接池和索引優(yōu)化的重要性,需要的朋友可以參考下
    2026-05-05
  • PostgreSQL 主備數(shù)據(jù)宕機恢復(fù)測試方案

    PostgreSQL 主備數(shù)據(jù)宕機恢復(fù)測試方案

    這篇文章主要介紹了PostgreSQL 主備數(shù)據(jù)宕機恢復(fù)測試方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL中進行數(shù)據(jù)導(dǎo)入和導(dǎo)出

    PostgreSQL中進行數(shù)據(jù)導(dǎo)入和導(dǎo)出

    在PostgreSQL中,數(shù)據(jù)的導(dǎo)入和導(dǎo)出是數(shù)據(jù)庫管理中不可或缺的操作,通過使用COPYCOPYpg_dump和pg_dumpall等工具,您可以高效地管理您的數(shù)據(jù),感興趣的可以了解一下
    2026-05-05
  • PostgreSQL?10分區(qū)表及性能測試報告小結(jié)

    PostgreSQL?10分區(qū)表及性能測試報告小結(jié)

    PostgreSQL的分區(qū)表跟先前版本一樣,也要先建立主表,然后再建立子表,使用繼承的特性,但不需要手工寫規(guī)則了,目前支持range、list分區(qū),10正式版本發(fā)布時不知會不會支持其它方法,感興趣的朋友跟隨小編一起看看吧
    2022-01-01

最新評論

左权县| 冕宁县| 廉江市| 上思县| 大姚县| 依兰县| 阳春市| 共和县| 潞城市| 屏东县| 普兰店市| 嘉荫县| 江川县| 定州市| 江源县| 尼勒克县| 平武县| 轮台县| 来安县| 筠连县| 大丰市| 兰西县| 定陶县| 乳源| 墨脱县| 镇安县| 简阳市| 师宗县| 抚州市| 衡阳县| 琼中| 阿坝县| 乡城县| 淄博市| 伊春市| 轮台县| 峡江县| 西盟| 富平县| 清流县| 塔河县|