Ubuntu PostgreSQL安裝和配置的介紹
1、安裝
使用如下命令,會(huì)自動(dòng)安裝最新版,這里為9.5
sudo apt-get install postgresql
安裝完成后,默認(rèn)會(huì):
- (1)創(chuàng)建名為"postgres"的Linux用戶
- (2)創(chuàng)建名為"postgres"、不帶密碼的默認(rèn)數(shù)據(jù)庫(kù)賬號(hào)作為數(shù)據(jù)庫(kù)管理員
- (3)創(chuàng)建名為"postgres"的表
安裝完成后的一些默認(rèn)信息如下:
config /etc/postgresql/9.5/main data /var/lib/postgresql/9.5/main locale en_US.UTF-8 socket /var/run/postgresql port 5432
2、psql命令
安裝完后會(huì)有PostgreSQL的客戶端psql,通過 sudo -u postgres psql
進(jìn)入,提示符變成: postgres=#
在這里可用執(zhí)行SQL語句和psql的基本命令??捎玫幕久钊缦拢?/p>
- \password:設(shè)置密碼
- \q:退出
- \h:查看SQL命令的解釋,比如\h select。
- \?:查看psql命令列表。
- \l:列出所有數(shù)據(jù)庫(kù)。
- \c [database_name]:連接其他數(shù)據(jù)庫(kù)。
- \d:列出當(dāng)前數(shù)據(jù)庫(kù)的所有表格。
- \d [table_name]:列出某一張表格的結(jié)構(gòu)。
- \du:列出所有用戶。
- \e:打開文本編輯器。
- \conninfo:列出當(dāng)前數(shù)據(jù)庫(kù)和連接的信息。
修改數(shù)據(jù)庫(kù)默認(rèn)賬號(hào)的密碼
1、登錄
使用psql命令登錄數(shù)據(jù)庫(kù)的命令為:
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
上面命令的參數(shù)含義如下:-U指定用戶,-d指定數(shù)據(jù)庫(kù),-h指定服務(wù)器,-p指定端口。
輸入上面命令以后,系統(tǒng)會(huì)提示輸入dbuser用戶的密碼。
psql命令存在簡(jiǎn)寫形式:
如果當(dāng)前Linux系統(tǒng)用戶,同時(shí)也是PostgreSQL用戶,則可以省略用戶名(-U參數(shù)的部分)
如果PostgreSQL內(nèi)部還存在與當(dāng)前系統(tǒng)用戶同名的數(shù)據(jù)庫(kù),則數(shù)據(jù)庫(kù)名也可以省略。
2、修改默認(rèn)管理員賬號(hào)的密碼
以Linux用戶"postgres"的身份(此時(shí)只有該用戶有psql命令)執(zhí)行psql客戶端,進(jìn)入該客戶端的提示符界面(這里系統(tǒng)用戶名、數(shù)據(jù)庫(kù)用戶名、數(shù)據(jù)庫(kù)名都為postgres,故可采用簡(jiǎn)寫形式)
sudo -u postgres psql
postgres=# alter user postgres with password '123456';
這樣,管理員"postgres"的密碼就為"123456"。
退出psql客戶端命令:\q
若要?jiǎng)h除該管理員的密碼,則可用命令:sudo -u postgres psql -d postgres
修改Linux用戶的密碼
以Linux用戶"postgres"為例,對(duì)其運(yùn)行passwd命令:
codetc@ubuntu:/etc/postgresql/9.5/main$ sudo -u postgres passwd //也可以 sudo passwd postgres Changing password for postgres. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
配置數(shù)據(jù)庫(kù)以允許遠(yuǎn)程連接訪問
安裝完成后,默認(rèn)只能本地才能連接數(shù)據(jù)庫(kù),其他機(jī)子訪問不了,需要進(jìn)行配置。
1、修改監(jiān)聽地址
sudo gedit /etc/postgresql/9.5/main/postgresql.conf
將 #listen_addresses = 'localhost'
的注釋去掉并改為 listen_addresses = '*'
2、修改可訪問用戶的IP段
sudo gedit /etc/postgresql/9.5/main/pg_hba.conf
在文件末尾添加: host all all 0.0.0.0 0.0.0.0 md5
,表示運(yùn)行任何IP連接
3、重啟數(shù)據(jù)庫(kù)
sudo /etc/init.d/postgresql restart
添加新用戶和新數(shù)據(jù)庫(kù)
1、使用PostgreSQL客戶端psql
運(yùn)行系統(tǒng)用戶"postgres"的psql命令,進(jìn)入客戶端:
sudo -u postgres psql
創(chuàng)建用戶"xiaozhang"并設(shè)置密碼:
postgres=# create user xiaozhang with password '123456';
創(chuàng)建數(shù)據(jù)庫(kù)exampledb,所有者為xiaozhang:
postgres=# create database exampledb owner xiaozhang;
將exampledb數(shù)據(jù)庫(kù)的所有權(quán)限賦予xiaozhang,否則xiaozhang只能登錄psql,沒有任何數(shù)據(jù)庫(kù)操作權(quán)限:
grant all privileges on database exampledb to xiaozhang;
2、使用shell命令行
安裝PostgreSQL后提供了createuser和createdb命令行程序。
首先創(chuàng)建數(shù)據(jù)庫(kù)用戶"codetc",并指定為超級(jí)用戶:
sudo -u postgres createuser --superuser codetc;
接著登錄psql控制臺(tái)設(shè)置其密碼后退出:
codetc@ubuntu:~$ sudo -u postgres psql psql (9.5.3) Type "help" for help. postgres=# \password codetc; Enter new password: Enter it again: postgres=# \q
然后在shell命令行下創(chuàng)建數(shù)據(jù)庫(kù)并指定所有者:
sudo -u postgres createdb -O codetc exampledb1;
基本數(shù)據(jù)庫(kù)操作命令
# 創(chuàng)建新表 CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE); # 插入數(shù)據(jù) INSERT INTO user_tbl(name, signup_date) VALUES('張三', '2013-12-22'); # 選擇記錄 SELECT * FROM user_tbl; # 更新數(shù)據(jù) UPDATE user_tbl set name = '李四' WHERE name = '張三'; # 刪除記錄 DELETE FROM user_tbl WHERE name = '李四' ; # 添加欄位 ALTER TABLE user_tbl ADD email VARCHAR(40); # 更新結(jié)構(gòu) ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL; # 更名欄位 ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; # 刪除欄位 ALTER TABLE user_tbl DROP COLUMN email; # 表格更名 ALTER TABLE user_tbl RENAME TO backup_tbl; # 刪除表格 DROP TABLE IF EXISTS backup_tbl;
重啟服務(wù)
/etc/init.d/postgresql restart 或者 service postgresql restart
卸載
sudo apt-get purge 'postgresql-*' sudo apt-get autoremove 'postgresql-*'
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
教你如何在Centos8-stream安裝PostgreSQL13
這篇文章主要介紹了Centos8-stream安裝PostgreSQL13,初始化PostgreSQL需要先創(chuàng)建postgresql儲(chǔ)存目錄,啟動(dòng)postgresql數(shù)據(jù)庫(kù),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02postgresql高級(jí)應(yīng)用之行轉(zhuǎn)列&匯總求和的實(shí)現(xiàn)思路
這篇文章主要介紹了postgresql高級(jí)應(yīng)用之行轉(zhuǎn)列&匯總求和的實(shí)現(xiàn)思路,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05PostgreSQL pg_ctl start啟動(dòng)超時(shí)實(shí)例分析
這篇文章主要給大家介紹了關(guān)于PostgreSQL pg_ctl start啟動(dòng)超時(shí)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01postgresql數(shù)據(jù)庫(kù)表ID自增的實(shí)現(xiàn)代碼
postgresql數(shù)據(jù)庫(kù)可以創(chuàng)建主鍵,但是沒有像mysql那樣直接指定主鍵自增的auto_increment關(guān)鍵字,因此如果在postgresql中創(chuàng)建表指定主鍵自增使用auto_increment會(huì)報(bào)錯(cuò),本文通過一個(gè)實(shí)例給大家演示自增ID的實(shí)現(xiàn),需要的朋友可以參考下2023-12-12postgresql實(shí)現(xiàn)對(duì)已有數(shù)據(jù)表分區(qū)處理的操作詳解
這篇文章主要為大家詳細(xì)介紹了postgresql實(shí)現(xiàn)對(duì)已有數(shù)據(jù)表分區(qū)處理的操作的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12PostgreSQL中enable、disable和validate外鍵約束的實(shí)例
這篇文章主要介紹了PostgreSQL中enable、disable和validate外鍵約束的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01