Windows下的安裝與配置
- 選擇合適的版本,下載安裝。安裝過程中需要輸入將來使用的超管密碼,以及數(shù)據(jù)庫服務(wù)端口,需要記錄保管。安裝完還有一個(gè)插件捆綁安裝推薦,后期用到再安裝也可以。
- 安裝完成后,可以借助命令行使用pgSQL,也可使用管理界面。
- 找開始菜單應(yīng)用列表中的PostgreSQL -> SQL Shell,可通過命令行使用PostgreSQL。
- PostgreSQL -> pgAdmin 4 -> 輸入密碼登錄 -> 點(diǎn)開 左側(cè)PostgreSQL 14。這里分別有數(shù)據(jù)庫管理和角色管理。
- 新建角色,可省略:右擊
Login/Group Roles,Create,輸入名字,勾選"可登錄"、"可創(chuàng)建數(shù)據(jù)庫",保存。(實(shí)際操作時(shí)發(fā)現(xiàn)自己新建的角色不能用,可用內(nèi)置角色postgres) - 創(chuàng)建新數(shù)據(jù)庫:右擊
Databases,Create,輸入名字,輸入所屬角色,保存。
archLinux下的安裝與配置
更新庫并安裝:
sudo pacman -Syu postgresql初始化(必須):
sudo su - postgres -c "initdb --locale zh_CN.UTF-8 -E UTF8 -D '/var/lib/postgres/data'"其中,本人將原本的en_US改為了zh_CN,未見異常。想要撤銷的話,只需要把'/var/lib/postgres/data'下面的內(nèi)容清空。
啟動(dòng)/開機(jī)啟動(dòng) PostgreSQL:
systemctl start postgresql.servicesystemctl enable postgresql.service切換到postgres用戶,然后登錄(初始無密碼):
sudo -i -u postgrespsql要退出psql或返回原用戶,都是用exit命令。PostgreSQL的用戶跟系統(tǒng)用戶有些關(guān)聯(lián),前者必須也是后者。在初始化過程中會(huì)在系統(tǒng)中創(chuàng)建postgres用戶,同時(shí)也是數(shù)據(jù)庫的超級(jí)權(quán)限用戶,postgres用戶可以創(chuàng)建其他數(shù)據(jù)庫用戶。
提示: 如果創(chuàng)建一個(gè)與你的系統(tǒng)用戶同名的數(shù)據(jù)庫用戶,并允許其訪問 PostgreSQL 數(shù)據(jù)庫,那么在登錄PostgreSQL 數(shù)據(jù)庫 shell 的時(shí)候無需切換用戶(這樣做會(huì)比較方便)。
命令行基本操作^1
數(shù)據(jù)庫shell外
添加數(shù)據(jù)庫(須在原用戶操作):
連接數(shù)據(jù)庫shell(須用postgres用戶,所以先切一下用戶):
sudo -i -u postgrespsql -d myDatabaseName也可以一步進(jìn)入postgres用戶的myDatabaseName數(shù)據(jù)庫,與上面效果一樣:
psql -U postgres -d myDatabaseName若要?jiǎng)?chuàng)建用戶,要在數(shù)據(jù)庫程序外,用postgres用戶執(zhí)行:
createuser --interactive myUserName數(shù)據(jù)庫shell內(nèi)
注意:數(shù)據(jù)庫內(nèi)的SQL語句,建議大寫,必須分號(hào)結(jié)尾。進(jìn)入數(shù)據(jù)庫后可修改密碼:
alter user postgres with password ' *** 密碼 *** ';如果有其他用戶,可以把postgres換成其他用戶的名。一些常用的命令:
\c myDatabaseName # 連接到數(shù)據(jù)庫myDatabaseName\du # 列出所有用戶以及他們的權(quán)限\dt # 展示當(dāng)前數(shù)據(jù)庫中所有的表相關(guān)的匯總信息\q # 退出psqlpg_dump數(shù)據(jù)庫遷移
遷移數(shù)據(jù)庫所有結(jié)構(gòu)和數(shù)據(jù),也就是數(shù)據(jù)庫的備份與恢復(fù)。
pg_dump
將數(shù)據(jù)庫cloudschool_db的結(jié)構(gòu)和數(shù)據(jù)導(dǎo)出到copy.sql文件
pg_dump -U postgres cloudschool_db > copy.sql以帶有列名的INSERT命令形式轉(zhuǎn)儲(chǔ)數(shù)據(jù):
E:\>pg_dump -U postgres --column-inserts TestDb1 > TestDb15.sql經(jīng)測試, 以上兩種方法可生成sql格式的文本文件,但使用sql代碼的方式恢復(fù)數(shù)據(jù)庫并未成功(可能是本人技術(shù)還不到位)。
pgAdmin圖形界面
導(dǎo)出
本質(zhì)上也是使用pg_dump,首先設(shè)置命令文件所在目錄,找File->Preferences->Paths->Binary paths->PostgreSQL Binary Path找到對(duì)應(yīng)的版本,定位到對(duì)應(yīng)的bin文件夾

備份之后,默認(rèn)在“文檔”里生成一個(gè)無格式文件,這就是備份文件。
重建導(dǎo)入
用備份文件重建時(shí),需要先建庫,結(jié)構(gòu)和內(nèi)容可以沒有,庫名可以不同。在新庫上點(diǎn)右鍵,選擇restore,選擇之前的備份文件
本文使用 Zhihu On VSCode 創(chuàng)作并發(fā)布
本文使用 文章同步助手 同步