CentOS 6.2 上 PostgreSQL 9.1 的使用,在用yum安裝好postgresql之后,就可以通過service來管理它了。這個(gè)postgresql-9.1 的位置
前一篇文章()在用yum安裝好postgresql之后,就可以通過service來管理它了。這個(gè)postgresql-9.1 的位置在
/etc/rc.d/init.d/postgresql-9.1
可以看到它里面默認(rèn)使用了一個(gè)名為postgres的OS用戶名(從這個(gè)腳本可以看到很多yum在安裝postgresql后的目錄位置、環(huán)境變量等)。這個(gè)postgres用戶名就是()這里提到的
In order to bootstrap the database system, a freshly initialized system always contains one predefined role. This role is always a "superuser", and by default (unless altered when running initdb) it will have the same name as the operating system user that initialized the database cluster. Customarily, this role will be named postgres. In order to create more roles you first have to connect as this initial role.
也就是說,系統(tǒng)會(huì)默認(rèn)創(chuàng)建一個(gè)role,而且這個(gè)role在不指定(可以通過initdb指定)的情況下,它的name和當(dāng)前初始化數(shù)據(jù)庫實(shí)例的OS用戶的name一樣的。一般這個(gè)name就是postgres。從/etc/rc.d/init.d/postgresql-9.1里面也可以看到,,腳本會(huì)把很多文件和文件夾的owner設(shè)置為postgres。
所以當(dāng)你剛安裝好postgres,迫不及待的想通過psql連接數(shù)據(jù)庫的時(shí)候都會(huì)遇到()這里提到的錯(cuò)誤。因?yàn)閜sql認(rèn)為你要使用當(dāng)前的OS用戶的name去連接數(shù)據(jù)庫。錯(cuò)誤如下:
createdb: could not connect to database postgres: FATAL: role "joe" does not exist
當(dāng)然,如果你自己的OS用戶的name就是postgres,那你運(yùn)氣就太好了。:D
所以你需要
su - postgres
來切換到postgres用戶下去,然后一個(gè)簡(jiǎn)單的:
psql
就可以順利的連接到數(shù)據(jù)庫了。
然后\password 可以修改你的密碼。
在postgres下面
createuser root
切換到root下面后,就可以
createdb
默認(rèn)創(chuàng)建名為root的數(shù)據(jù)庫。然后psql命令就可以連接到數(shù)據(jù)庫了。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com