Mac操作postgres——使用homebrew

homebrew安裝postgresql數據庫 (今天廢了老半天才把MacPort卸載掉,還是homebrew好用啊。。。)
1. 首先確保 mac 已經安裝好了 homebrew(網上好多教程是用macport安裝的,但是用對多對用戶都瞭解macport會給你亂安裝很多庫文件,整的我心愛對電腦很亂,所以後來就用homebrew部署軟件了)
2. 先用Homebrew 搜索下postgres的源:brew search postgres,後來出來很多關於postgresql的安裝包名"postgresql"。
3.找一個安裝:brew install postgresql
3. 默認安裝在了 /usr/local/Cellar/ 下。。。
按照步驟來進行初始化postgres數據庫
4. 如果你想卸載:
brew uninstall postgresql
開始初始化配置:
sudo mkdir   /opt/local/var/db/postgresql/defaultdb #創建任意文件夾做數據庫目錄
sudo su postgres  #使用Postgres數據庫的超級管理員登陸目錄
./initdb -D /opt/local/var/db/postgresql/defaultdb  #初始化數據庫目錄文件
./pg_ctl  start  -c  -D /opt/local/var/db/postgresql/defaultdb -l logfile   
 這樣數據庫開啓了。。。。
./psql  postgres    #使用超級默認用戶postgres登錄 
顯示:postgres=#     說明你已經使用postgres超級用戶登陸默認數據庫postgres了。
./psql -U postgres –h localhost -d  database
這裏-U postgres表示作爲postgres用戶連接服務器,-h localhost表示連接運行在本地主機上的數據庫服務器,-d 表示登錄相關數據庫,如果沒有指定用戶名,PostgreSQL將認爲使用登錄主機的用戶名。如果省略了用戶名和數據庫名,表明以操作系統的身份登錄到數據庫服務器,此時要求在PostgreSQL服務器中有一個與操作系統同名的登錄用戶和數據庫。 使用psql --help可以顯示psql的所有命令選項。其中,最重要的選項包括,-U<user>選項允許指定與登錄到操作系統用戶名不同的用戶名登錄到數據庫。-d<dbname>選項指定連接的數據庫。-h<host>選項指定連接的主機名。-p<port>選項用來指定數據庫服務器的端口號。 
提示符“postgres=#”表示連接到名爲“postgres”的數據庫,該數據庫是默認數據庫。“#”表示是作爲數據庫超級用戶連接的。“postgres”是默認的超級用戶。 psql客戶程序具有很多特徵,它使我們對PostgreSQL的使用變得很容易。除了可以使用PostgreSQL命令?SELECT, INSERT, UPDATE, CREATE TABLE等,psql還提供了許多內部命令,這些命令稱爲元命令?meta-command?。PostgreSQL命令被髮送到服務器?而元命令由psql自身處理。元命令都是由反斜線?\?開頭?後跟一個或多個字母表示的命令?有些命令還可以帶參數。表1.2給出了一些常用的元命令。 與SQL命令不同?元命令不需要使用分號結束?直接按回車即可。
創建數據庫用戶:(注:下文中“postgres=#”表示當前postgres數據庫的哪個用戶登錄,postgres=#表示超級用戶登錄)
     只有數據庫管理員才能創建用戶。首先以超級用戶身份登錄到PostgreSQL?然後使用下面的SQL語句創建一個名爲bookstore的數據庫用戶? postgres=# CREATE USER msf_user;postgres-# LOGIN;postgres-# CREATEDB;postgres-#  encrypted PASSWORD 'msf_password'; USER(此爲反饋結果)。要結束SQL語句?應該輸入分號';'然後按回車。該語句中?LOGIN表示該用戶是登錄用戶?CREATEDB 表示該用戶具有創建數據庫對象的權限?PASSWORD指定用戶的口令?它使用單引號定界。使用“\du”元命令可以顯示用戶的狀態。
創建bookstore數據庫:
     下面的SQL語句創建一個名爲msfdb的數據庫?該數據庫屬於msf_user用戶。 postgres=# CREATE DATABASE msfdb;postgres-# OWNER TO msf_user; OWNER msf_user短語指定數據庫的所有者?owner??對象的所有者具有在該對象上所有的操作權限。 使用“\l+”元命令?可以查看數據庫是否創建成功。 
創建數據庫對象:
     超級用戶postgres可以爲其他用戶創建數據庫對象?但數據庫對象一般由數據庫所有者創建。如果要以用戶msf_user的身份登錄到msfdb數據庫?請先退出psql?然後使用msf_user 用戶名連接到msfdb數據庫? C:\PostreSQL\8.3\bin> ./psql  –U msf_user –d msfdb 該命令以msf_user 用戶身份連接到msfdb數據庫。接下來需要輸入用戶口令?最後出現的提示符如下? msfdb=> 在該提示符下就可以使用SQL語句創建數據庫對象?並且這些對象將存於msfdb數據庫的public模式中。 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章