Linux安裝postgresql


  PostgreSQL是加州大學伯克利分校計算機系開發的對象關系型數據庫管理系統,目前擁有活躍的開源社區貢獻,最近排名也不斷前進,pgsql中其實有很多有點和設計理念都要比mysql更好一些,比如穩定性比較強;高並發讀寫情況下性能依然較好;支持豐富的幾何類型並且在GIS領域地位領先;text支持各種長度,無需區分;nosql特性,支持array和json存儲和搜索等,因為這些優點,pgsql應用場景也不斷擴展,下面詳細寫一下pgsql入門的第一步,即先將pgsql安裝至操作系統,過程如下:

  1. 下載軟件包

  pgsql有很多類型的包,對於不同linux發行版都有對應的編譯好的包,安裝很方便,另外如果對於通用的linux平台可以編譯源碼安裝或者安裝官方編譯好的二進制包,源碼包的安裝僅僅比二進制安裝多出一個編譯步驟,其余的都一樣,所以這里使用安裝方式是安裝編譯好的二進制包

  pgsql官網地址:https://www.postgresql.org/,進入后點擊download就來到下載頁,這里點擊Linux下面的Other Linux選項,然后點擊下方的tar.gz archive下載二進制歸檔,

  

  然后就來到最終的pgsql下載頁了,地址為:https://www.enterprisedb.com/download-postgresql-binaries,如下圖下載最新版本的10.1

  

  如上圖根據機器的位數下載對應的包,我這里下載的是x86-64的包,為:postgresql-10.1-1-linux-x64-binaries.tar.gz,下載之后准備安裝

  2. 安裝並初始化

  解壓數據庫並放到指定目錄:

tar -xvzf postgresql-10.1-1-linux-x64-binaries.tar.gz
# 解壓出來之后目錄為pgsql
mv pgsql/ /monchickey/

  現在pgsql的安裝目錄就是/monchickey/pgsql

  創建pgsql用戶並設置密碼:

useradd postgres
passwd postgres
# 兩次輸入密碼並確認

  注意:這里設置密碼是linux用戶postgres的登錄密碼,不是pgsql服務器的密碼

  創建pgsql數據目錄: mkdir /monchickey/pgsql_data 

  給postgres用戶授權目錄訪問權限: chown postgres /monchickey/pgsql_data/ 

  然后切換到postgres用戶來操作數據庫,pgsql數據庫就以postgres為默認用戶,執行: su - postgres 切換

  切換之后建議修改~/.bash_profile將pgsql的bin目錄加至環境變量中,方便直接使用pgsql相關命令,下面初始化數據庫:

/monchickey/pgsql/bin/initdb -D /monchickey/pgsql_data/

  等待執行完畢,沒什么問題就初始化成功了,提示如下:

  

  如圖根據提示可以啟動數據庫: /monchickey/pgsql/bin/pg_ctl -D /monchickey/pgsql_data/ -l logfile start 這里-l指定日志文件位置,這里直接輸出在家目錄下的logfile中,這個可以自己指定,這里-D指定數據目錄,默認如果不加數據目錄直接報錯找不到,可以剛才說的環境變量配置文件中~/.bash_profile加入一行: export PGDATA=/monchickey/pgsql_data 然后source進去即可,這樣pgsql會自動去找PGDATA環境變量值,找不到才會報錯

  啟動之后此時執行: ps -ef | grep postgres 就可以看到相關進程如下:

  

  pgsql默認的端口號為5432,通過netstat命令或者lsof命令都可以看到監聽情況:

  

  現在可以看到pgsql默認監聽的是localhost或127.0.0.1,目前只能本機訪問,如果遠程訪問就連接不上了,具體的配置文件是data目錄下的postgresql.conf,可以通過修改這個配置文件來調整各個參數,比如:listen_addresses可以修改綁定的地址,默認是localhost,port可以修改監聽的端口號,默認是5432,max_connections可以修改最大客戶端連接數量,默認是100等等,這里就不再詳細說了

  停止postgresql的命令為: /monchickey/pgsql/bin/pg_ctl -D /monchickey/pgsql_data/ stop 

  3. 命令行界面簡單操作

  pgsql和mysql一樣可以通過交互式提示符連接操作,連接方式如下:

./bin/psql -h 127.0.0.1 -d postgres -U postgres -p 5432

  其中-h參數指定服務器地址,默認為127.0.0.1,默認不指定即可,-d指定連接之后選中的數據庫,默認也是postgres,-U指定用戶,默認是當前用戶,-p 指定端口號,默認是"5432",其它更多的參數選項可以執行: ./bin/psql --help 查看

  登錄進去默認界面如下所示:

  

  命令提示符前面的就是當前的數據庫,使用 \l 查看當前的數據庫列表

  

  默認postgres,template0和1這3個庫是不允許操作的,創建新的數據庫執行: CREATE DATABASE test WITH OWNER=postgres ENCODING='UTF-8'; 這樣就創建好了數據庫test,然后可以執行命令 \c test 切換當前數據庫為test,然后執行 \d 可以查看當前數據庫下的所有表:

  

  創建一個簡單的數據表可以執行下面的命令:

CREATE TABLE student (
  id integer NOT NULL,
  name character(32),
  number char(5),
  CONSTRAINT student_pkey PRIMARY KEY (id)
);

  

  創建表之后可以使用 \d student; 查看表的詳細信息,如下:

  

  現在可以插入一條測試數據: INSERT INTO student (id, name, number) VALUES (1, '張三', '1023'); 

  然后可以查詢這條數據: SELECT * FROM student WHERE id=1; 

  

  最后可以執行 \q 退出交互式界面

  上面是一些最基本的操作,可以看出除了一些屬性類的操作外,通用的sql語句和mysql幾乎完全一樣,只是數據類型表達有所不同;對於pgsql的安裝和簡單的使用就先說這些,另外pgsql還支持更多復雜的查詢的操作,這個后續如果有涉及會繼續分享;感謝查看,歡迎補充.^_^.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM