新聞中心
如何把postgresql 加入systemctl
您高興能幫助您 1.安裝PostgreSQL 首先根據(jù)服務(wù)器架構(gòu)添加PostgreSQL庫(kù): CentOS 6.x 32bit: rpm -Uvh 1.noarch.rpm CentOS 6.x 64bit: rpm -Uvh
成都創(chuàng)新互聯(lián)長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為右江企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站設(shè)計(jì),右江網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
.安裝PostgreSQL
首先根據(jù)服務(wù)器架構(gòu)添加PostgreSQL庫(kù):
于其發(fā)行版查看鏈接并建立庫(kù):
使用命令更新庫(kù):
yum update
使用命令安裝PostgreSQL:
yum install postgresql93-server postgresql93-contrib
使用命令初始化PostgreSQL數(shù)據(jù)庫(kù):
CentOS 6.x 系統(tǒng):
service postgresql-9.3 initdb
CentOS 7系統(tǒng):
/usr/pgsql-9.3/bin/postgresql93-setup initdb
啟PostgreSQL服務(wù)并使機(jī)自啟:
CentOS 6.x 系統(tǒng):
service postgresql-9.3 start
chkconfig postgresql-9.3 on
CentOS 7系統(tǒng):
systemctl enable postgresql-9.3
systemctl start postgresql-9.3
2.調(diào)整Iptables/Firewall
接調(diào)整防火墻站規(guī)則:
CentOS 6.x系統(tǒng):
vi /etc/sysconfig/iptables
并添加行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
退并保存文件重啟iptables服務(wù):
service iptables restart
CentOS系統(tǒng):
firewall-cmd --permanent –add-port=5432/tcp
firewall-cmd --permanent –add-port=80/tcp
firewall-cmd --reload
3.訪問(wèn)PostgreSQL用命令提示符
默認(rèn)情況數(shù)據(jù)庫(kù)名用戶名都postgres切換至用戶執(zhí)行相關(guān)操作:
su – postgres
輸入命令登陸:
psql
例輸:
psql (9.3.5)
Type "help" for help.
Postgres=#
通輸入\q退postgresql返命令終端:
4.設(shè)置用戶密碼
登陸至postgres命令提示符界面
su – postgres
psql
使用命令設(shè)置密碼
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
輸入命令建立PostgreSQL系統(tǒng)管理工具
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
5.創(chuàng)建用戶數(shù)據(jù)庫(kù)
例:用戶名:senthil 密碼:centos 數(shù)據(jù)庫(kù)名:mydb
轉(zhuǎn)postgres用戶
su – postgres
創(chuàng)建用戶senthil
$ createuser senthil
創(chuàng)建數(shù)據(jù)庫(kù)
$ createdb mydb
現(xiàn)登陸至psql提示符界面用戶senthil設(shè)置密碼及授權(quán)數(shù)據(jù)庫(kù)mydb訪問(wèn):
$ psql
psql (9.3.5)
Type "help" for help.
postgres=# alter user senthil with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database mydb to senthil;
GRANT
postgres=#
6.刪除用戶數(shù)據(jù)庫(kù)
首先轉(zhuǎn)postgres界面
su – postgres
輸入命令
$ dropdb database-name
刪除用戶名輸入
$ dropuser user-name
7.配置PostgreSQL-MD5認(rèn)證
MD5認(rèn)證需要客戶端提供MD5-encrypted 密碼便身份驗(yàn)證需要編輯 /var/lib/pgsql/9.3/data/pg_hba.conf文件:
vi /var/lib/pgsql/9.3/data/pg_hba.conf
添加或修改行:
[...]
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
[...]
重啟postgresql服務(wù)應(yīng)用更改
CentOS 6.x系統(tǒng)
service postgresql-9.3 restart
CentOS 7系統(tǒng)
systemctl restart postgresql-9.3
8.配置PostgreSQL-Configure TCP/IP
默認(rèn)情況TCP/IP連接行所其計(jì)算機(jī)用戶能連接postgresql編輯文件 /var/lib/pgsql/9.3/data/postgresql.conf允許連接:
vi /var/lib/pgsql/9.3/data/postgresql.conf
找面行:
[...]
#listen_addresses = 'localhost’
[...]
#port = 5432
[...]
兩行都取消并設(shè)置postgresql服務(wù)器IP址或設(shè)置*監(jiān)聽(tīng)所客戶端所示:
listen_addresses = '*'
port = 5432
重啟應(yīng)用更改
CentOS6.x系統(tǒng):
/etc/init.d/postgresql-9.3 restart
CentOS7系統(tǒng):
systemctl restart postgresql-9.3
9.使用phpPgAdmin管理PostgreSQL
phpPgAdmin使用PHP編寫(xiě)基于web管理工具用于管理PostgreSQL適用與PostgreSQL RPM庫(kù)
沒(méi)添加PostgreSQL庫(kù)添加EPEL庫(kù)
使用命令更新庫(kù)
yum update
現(xiàn)輸入命令安裝phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin區(qū)寫(xiě)要準(zhǔn)確使用面所示寫(xiě)
編輯文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改加粗部:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin
Location /phpPgAdmin
IfModule mod_authz_core.c
# Apache 2.4
Require all granted
#Require host example.com
/IfModule
IfModule !mod_authz_core.c
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
/IfModule
/Location
啟或重啟Apache服務(wù)
CentOS 6.x系統(tǒng)
service httpd start
chkconfig httpd on
CentOS 7系統(tǒng)
systemctl enable httpd
systemctl start httpd
現(xiàn)打?yàn)g覽器并轉(zhuǎn)終于看面界面
使用前創(chuàng)建用戶登錄我用戶senthil密碼CentOS
能遇:Login failed
SELLinux能限制用戶連接PostgreSQL需輸入命令更改即:
setsebool -P httpd_can_network_connect_db 1
現(xiàn)應(yīng)該能登錄
我phpPgAdimn:
OK現(xiàn)使用圖形化界面phpPgAdmin創(chuàng)建、刪除管理數(shù)據(jù)庫(kù)
如何安裝PostgreSQL
PostgreSQL安裝:一、windows下安裝過(guò)程
安裝介質(zhì):postgresql-9.1.3-1-windows.exe(46M),安裝過(guò)程非常簡(jiǎn)單,過(guò)程如下:
1、開(kāi)始安裝:
2、選擇程序安裝目錄:
注:安裝
PostgreSQL
的分區(qū)最好是
NTFS
格式的。PostgreSQL
首要任務(wù)是要保證數(shù)據(jù)的完整性,而
FAT
和
FAT32
文件系統(tǒng)不能提供這樣的可靠性保障,而且
FAT
文件系統(tǒng)缺乏安全性保障,無(wú)法保證原始數(shù)據(jù)在未經(jīng)授權(quán)的情況下被更改。此外,PostgreSQL
所使用的"多分點(diǎn)"功能完成表空間的這一特征在FAT文件系統(tǒng)下無(wú)法實(shí)現(xiàn)。
然而,在某些系統(tǒng)中,只有一種
FAT
分區(qū),這種情況下,可以正常安裝
PostgreSQL,但不要進(jìn)行數(shù)據(jù)庫(kù)的初始化工作。安裝完成后,在
FAT
分區(qū)上手動(dòng)執(zhí)行
initdb.exe
程序即可,但不能保證其安全性和可靠性,并且建立表空間也會(huì)失敗。
3、選擇數(shù)據(jù)存放目錄:
4、輸入數(shù)據(jù)庫(kù)超級(jí)用戶和創(chuàng)建的OS用戶的密碼
注:數(shù)據(jù)庫(kù)超級(jí)用戶是一個(gè)非管理員賬戶,這是為了減少黑客利用在
PostgreSQL
發(fā)現(xiàn)的缺陷對(duì)系統(tǒng)造成損害,因此需要對(duì)數(shù)據(jù)庫(kù)超級(jí)用戶設(shè)置密碼,如下圖所示,安裝程序自動(dòng)建立的服務(wù)用戶的用戶名默認(rèn)為
postgres。
5、設(shè)置服務(wù)監(jiān)聽(tīng)端口,默認(rèn)為5432
6、選擇運(yùn)行時(shí)語(yǔ)言環(huán)境
注:選擇數(shù)據(jù)庫(kù)存儲(chǔ)區(qū)域的運(yùn)行時(shí)語(yǔ)言環(huán)境(字符編碼格式)。
在選擇語(yǔ)言環(huán)境時(shí),若選擇"default
locale"會(huì)導(dǎo)致安裝不正確;同時(shí),PostgreSQL
不支持
GBK
和
GB18030
作為字符集,如果選擇其它四個(gè)中文字符集:中文繁體
香港(Chinese[Traditional],
Hong
Kong
S.A.R.)、中文簡(jiǎn)體
新加坡(Chinese[Simplified],
Singapore)、中文繁體
臺(tái)灣(Chinese[Traditional],
Taiwan)和中文繁體
澳門(mén)(Chinese[Traditional],
Marco
S.A.R.),會(huì)導(dǎo)致查詢結(jié)果和排序效果不正確。建議選擇"C",即不使用區(qū)域。
----我選擇了default
localt,安裝正確;建議選擇default
localt。
7、安裝過(guò)程(2分鐘)
8、安裝完成
Ubuntu 16.04 怎樣安裝 PostgreSQL 和 phpPgAdmin
您好,很高興能幫助您1.安裝PostgreSQL首先根據(jù)你的服務(wù)器架構(gòu)添加PostgreSQL庫(kù):對(duì)CentOS6.x32bit:rpm-Uvhtcpfirewall-cmd--reload3.訪問(wèn)PostgreSQL常用的命令提示符默認(rèn)情況下數(shù)據(jù)庫(kù)名和用戶名都是postgres。切換至用戶以執(zhí)行相關(guān)操作:su–postgres輸入以下命令登陸:psql會(huì)有以下樣例輸出:psql(9.3.5)Type"help"forhelp.Postgres=#可通過(guò)輸入\q退出postgresql返回命令終端:4.設(shè)置用戶密碼登陸至postgres命令提示符界面su–postgrespsql然后使用命令設(shè)置密碼postgres=#\passwordpostgresEnternewpassword:Enteritagain:postgres=#\q輸入命令以建立PostgreSQL系統(tǒng)管理工具postgres=#CREATEEXTENSIONadminpack;CREATEEXTENSION5.創(chuàng)建用戶和數(shù)據(jù)庫(kù)例如:用戶名:senthil密碼:centos數(shù)據(jù)庫(kù)名:mydb轉(zhuǎn)到postgres用戶su–postgres創(chuàng)建用戶senthil$createusersenthil創(chuàng)建數(shù)據(jù)庫(kù)$createdbmydb現(xiàn)在登陸至psql提示符界面,為用戶senthil設(shè)置密碼及授權(quán)對(duì)數(shù)據(jù)庫(kù)mydb的訪問(wèn):$psqlpsql(9.3.5)Type"help"forhelp.postgres=#alterusersenthilwithencryptedpassword'centos';ALTERROLEpostgres=#grantallprivilegesondatabasemydbtosenthil;GRANTpostgres=#6.刪除用戶和數(shù)據(jù)庫(kù)首先轉(zhuǎn)到p...
postgresql怎么給一個(gè)用戶賦予權(quán)限
grant db_role1 to db_user1,db_user2; 意為:給用戶1,2賦予角色1,兩個(gè)用戶就擁有了角色1對(duì)應(yīng)的權(quán)限。
1、角色
PostgreSQL使用角色的概念管理數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。 根據(jù)角色自身的設(shè)置不同,一個(gè)角色可以看作是一個(gè)數(shù)據(jù)庫(kù)用戶,或者一組數(shù)據(jù)庫(kù)用戶。 角色可以擁有數(shù)據(jù)庫(kù)對(duì)象(比如表)以及可以把這些對(duì)象上的權(quán)限賦予其它角色, 以控制誰(shuí)擁有訪問(wèn)哪些對(duì)象的權(quán)限。
2、角色的權(quán)限
一個(gè)數(shù)據(jù)庫(kù)角色可以有很多權(quán)限,這些權(quán)限定義了角色和擁有角色的用戶可以做的事情。
3、用戶
其實(shí)用戶和角色都是角色,只是用戶是具有登錄權(quán)限的角色。
4、賦予角色控制權(quán)限
可以使用GRANT 和REVOKE命令賦予用戶角色,來(lái)控制權(quán)限。
如:
create role db_role1 createdb createrole; --創(chuàng)建角色1
grant db_role1 to db_user1,db_user2; --給用戶1,2賦予角色1,兩個(gè)用戶就擁有了創(chuàng)建數(shù)據(jù)庫(kù)和創(chuàng)建角色的權(quán)限
revoke db_role1 from db_user1; --從用戶1移除角色1,用戶不再擁有角色1的權(quán)限。
擴(kuò)展資料
1、角色權(quán)限相關(guān)腳本
create role db_role1 LOGIN; --創(chuàng)建具有登錄權(quán)限的角色db_role1
create role db_role2 SUPERUSER; --創(chuàng)建具有超級(jí)用戶權(quán)限的角色
create role db_role3 CREATEDB; --創(chuàng)建具有創(chuàng)建數(shù)據(jù)庫(kù)權(quán)限的角色
create role db_role4 CREATEROLE --創(chuàng)建具有創(chuàng)建角色權(quán)限的角色
alter role db_role1 nologin nocreatedb; --修改角色取消登錄和創(chuàng)建數(shù)據(jù)庫(kù)權(quán)限
2、用戶相關(guān)腳本
create user db_user1 password '123'; --創(chuàng)建用戶
create role db_user1 password '123' LOGIN; --同上一句等價(jià)
drop user db_user1; --刪除用戶
alter user db_user1 password '123456'; --修改密碼
alter user db_user1 createdb createrole; --對(duì)用戶授權(quán)
參考資料
百度百科-postgresql
PostgreSQL的用戶,角色跟權(quán)限管理怎么解決
禁止的權(quán)限規(guī)則集如果權(quán)限規(guī)則不是一個(gè)集合,因?yàn)橹挥信c用戶或角色關(guān)聯(lián)的權(quán)限規(guī)則才允許訪問(wèn),所以用戶的權(quán)限是一個(gè)閉合區(qū)域,不想用戶擁有某些權(quán)限時(shí),只要不進(jìn)行關(guān)聯(lián)授權(quán)即可。如果權(quán)限規(guī)則使用通配符變成一個(gè)集合,那么用戶的權(quán)限將變成一個(gè)開(kāi)放區(qū)域,比如上面的論壇文章列表,假設(shè)論壇文章按照“版面/作者/文章標(biāo)題”作為資源命名,那么將(閱覽,版面/作者/*)授權(quán)給某用戶時(shí),該用戶允許閱覽該版面下該作者的所有文章,假設(shè)現(xiàn)在有一種管理需求要求某用戶可以閱覽某版面下某作者除某幾種文章標(biāo)題外的所有文章,這樣單純的允許授權(quán)難以實(shí)現(xiàn)這個(gè)管理需求。法律有許可和禁止的區(qū)別,那么權(quán)限管理也應(yīng)該有許可和禁止兩種授權(quán),上面的不允許訪問(wèn)某幾種文章標(biāo)題的文章就是一種禁止規(guī)則,如果將這種禁止規(guī)則合并到允許規(guī)則中,就可以解決上面的問(wèn)題。這就相當(dāng)于畫(huà)了一個(gè)大圈表示可以訪問(wèn)的區(qū)域,但是大圈里面的某些小圈是不可以訪問(wèn)的區(qū)域。這又帶來(lái)一個(gè)問(wèn)題,假設(shè)允許的和禁止的規(guī)則重疊,以誰(shuí)為準(zhǔn)?這個(gè)沒(méi)有一個(gè)準(zhǔn)則,不過(guò)基于安全性考慮,應(yīng)該采用禁止優(yōu)先,只要是禁止的集合,就算有允許的集合重疊,也不允許訪問(wèn)。提高權(quán)限驗(yàn)證效率使用關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)權(quán)限數(shù)據(jù)時(shí),權(quán)限數(shù)據(jù)表更新和查詢的操作頻繁度通常小于1:9,也就是這是一個(gè)典型的OLAP系統(tǒng),以查詢?yōu)橹鳎钥梢圆捎肙LAP的優(yōu)化策略進(jìn)行優(yōu)化,但是大多數(shù)優(yōu)化策略都不具備實(shí)時(shí)性,如果兼顧實(shí)時(shí)性和效率要求,可以單獨(dú)創(chuàng)建一個(gè)內(nèi)存數(shù)據(jù)庫(kù),這個(gè)內(nèi)存數(shù)據(jù)庫(kù)只存放用戶、資源、操作關(guān)聯(lián)關(guān)系,也就是(用戶,操作,資源)集合,如果用戶通過(guò)角色關(guān)聯(lián)到權(quán)限規(guī)則,那么將這些用戶到權(quán)限規(guī)則的間接傳遞關(guān)系轉(zhuǎn)變成直接傳遞關(guān)系保存。這個(gè)內(nèi)存數(shù)據(jù)庫(kù)就相當(dāng)于權(quán)限數(shù)據(jù)的緩存,可以保證很高的查詢效率,并且該內(nèi)存數(shù)據(jù)庫(kù)與權(quán)限管理保持同步,可以保證實(shí)時(shí)性。安裝和配置附件是權(quán)限管理和權(quán)限驗(yàn)證的實(shí)現(xiàn),也有用戶管理的演示,不過(guò)用戶管理很粗糙,實(shí)際使用需要做進(jìn)一步開(kāi)發(fā),之所以沒(méi)有開(kāi)發(fā)相對(duì)完善的用戶管理,是因?yàn)楝F(xiàn)在已有的系統(tǒng)通常都有完善的用戶管理。下面簡(jiǎn)單講解安裝配置,只在Tomcat5523+MySQL5037+jre1.5.0_12下測(cè)試過(guò)。1.下載rbac+profile.rar,解壓,得到一系列文件,文件用途如下:profile.admin.src.v1.jar用戶管理源代碼rbac.admin.src.v2.jar權(quán)限管理源代碼rbac.auth.src.v2.jar權(quán)限驗(yàn)證源代碼profile.v1.MySQL5.sql用戶管理用戶數(shù)據(jù)表profile.war用戶管理WEB系統(tǒng)rbac.v2.MySQL5.sql權(quán)限管理數(shù)據(jù)表rbac.war權(quán)限管理WEB系統(tǒng)2.創(chuàng)建數(shù)據(jù)庫(kù)profile,使用UTF-8導(dǎo)入profile.v1.MySQL5.sql到profile,使用下面SQL創(chuàng)建用戶root/1:InsertintoT_PROFILE(USER_ID,USER_NAME,USER_PASSWORD)values(‘1’,‘root’,sha1(‘1’));如果創(chuàng)建過(guò)先前SSO單點(diǎn)登陸的用戶數(shù)據(jù)表,可以跳過(guò)這步,使用先前的數(shù)據(jù)表。3.創(chuàng)建數(shù)據(jù)庫(kù)rbac,使用UTF-8導(dǎo)入rbac.v2.MySQL5.sql到rbac。4.拷貝profile.war和rbac.war到Tomcat5523/webapps/,會(huì)自動(dòng)生成profile和rbac目錄。5.參考配置單點(diǎn)登陸,因?yàn)闄?quán)限管理和用戶管理需要依賴單點(diǎn)登陸。6.下載相關(guān)依賴Java庫(kù):下載cglib最新版本:8080/profile/admin/profile.jsp?rbac.admin.db.rbac.ds.c3p0.url=jdbc:mysql://localhost/rbacrbac.admin.db.rbac.ds.c3p0.user=rootrbac.admin.db.rbac.ds.c3p0.password=1
分享題目:包含postgresql授權(quán)的詞條
網(wǎng)站鏈接:http://www.ef60e0e.cn/article/dscdses.html