Postgresql常用命令

登錄命令:

  • psql -U user -h host -d dbname -p 5432

複製表結構、資料庫結構

pg_dump 工具可以用來導資料庫結構和數據,常用來資料庫遷移用。

-s 是只導結構,-t 是指定表名,-s -t 都不帶就導整個資料庫的結構和數據。

  • 導一個資料庫dbname 中的表tablename 的結構和數據

    pg_dump -U user -h host -p 5432 -t tablename dbname > /tmp/tablename.sql

  • 導一個資料庫dbname 中的表tablename 的結構

    pg_dump -U user -h host -p 5432 -s -t tablename dbname > /tmp/tablename.sql

  • 導整個資料庫dbname 所有表結構

    pg_dump -U user -h host -p 5432 -s dbname> /tmp/dbname.sql

  • 遠程帶密碼dump資料庫結構

    pg_dump "host=XXX port=5432 user=XXX password=XXX dbname=XXX" -s -t tablename -f /tmp/tablename.sql

創建一個db,並用sql文件生成表

  • 創建一個帶密碼的用戶db

    createdb -h host -p 5432 -U user dbname -W

  • 用sql文件生成資料庫裡面的表結構

    psql -U user dbname < /tmp/dbname.sql

修改資料庫操作

  • 修改表中列的默認值

    ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT 2400;

  • 重置序列的初始值

    ALTER sequence seq_name restart with num;

清空資料庫操作

  • 清空一個表的數據,連帶序列號

    TRUNCATE tablename1, tablename2, ... , RESTART IDENTITY;

  • 刪除一個表

    DROP TABLE table_name;

  • 刪除一個資料庫

    DROP DATABASE db_name;