postgresql學習之安裝篇

來源:互聯網
上載者:User

標籤:系統   chmod   啟動   version   環境   恢複   sql   登陸   width   

---恢複內容開始---

安裝方法:

1、可以使用作業系統內建的安裝源

2、可以使用官網下載的源碼進行安裝

3、可以使用編譯好的包入.run格式的安裝包安裝(本文使用的是這種安裝方法,http://www.postgres.cn/download)

安裝之前首先需要為postgresql資料庫建立一個管理使用者:

  groupadd postgres

  mkdir /home/postgres

  useradd postgres -g postgres -s /bin/bash -b /home/postgres

開始安裝:

  安裝使用root使用者安裝,上傳了賦予檔案執行許可權chmod +x postgresql-9.4.5-1-linux-x64.ru。根據提示一路安裝至結束。安裝完了之後進入安裝目錄ll查看一下目錄資訊,會發現.cache和data兩個目錄是postgres使用者組的。

配置:

進入data目錄下,設定檔說明:

  pg_hba.conf--此檔案是配置連結許可權的,共分5列,請求連線類型--要串連的資料庫--請求串連的使用者--請求來的地址--請求認證的方式。預設的第一行local   all             all                                     md5,意思是本地登陸,我們本地登入不驗證密碼,將md5換成trust

  pg_ident.conf--此檔案是配置登陸資料庫所需要驗證的使用者名稱碼,格式username:password

  postgresql.conf--此檔案是主要資料庫的配置資訊,具體的每個參數含義不再列出,listen_addresses和port使用預設的。

啟動、關閉資料庫:

  為管理使用者postgres配置環境變數。cd && vim .profile,我能當末尾添加如下資訊:

export PG_HOME=/opt/PostgreSQL/9.4
export PGDATA=/opt/PostgreSQL/9.4/data
export PATH=$PATH:$PG_HOME/bin

當讓別忘記source .profile,下面就試試效果如何,直接輸入pg_ 然後使用TAB鍵會帶出很多pg_***的檔案,這就說明環境變數已生效,那就開始啟動資料庫吧.

postgr[email protected]:~$ pg_ctl start
pg_ctl: another server might be running; trying to start server anyway
server starting
[email protected]:~$ 2016-06-08 22:35:40 CST FATAL: lock file "postmaster.pid" already exists
2016-06-08 22:35:40 CST HINT: Is another postmaster (PID 2392) running in data directory "/opt/PostgreSQL/9.4/data"?

這個錯誤是說postmaster.pid這個檔案已經存在了,說明這個資料庫已經被啟動了。那就先關掉吧

[email protected]:~$ pg_ctl stop
waiting for server to shut down.... done
server stopped

然後再啟動一下。

[email protected]:~$ pg_ctl start
server starting
[email protected]:~$ 2016-06-08 22:37:16 CST LOG: redirecting log output to logging collector process
2016-06-08 22:37:16 CST HINT: Future log output will appear in directory "pg_log".

[email protected]:~$ ps -ef|grep postgres  --說明postgresql啟動成功
root 2660 1655 0 22:24 pts/2 00:00:00 su - postgres                                        --這個使用者切換的進程,不用管
postgres 2661 2660 0 22:24 pts/2 00:00:00 -su                                                --同上
postgres 2719 1 0 22:37 pts/2 00:00:00 /opt/PostgreSQL/9.4/bin/postgres         --這個是postgresql的主進程
postgres 2720 2719 0 22:37 ? 00:00:00 postgres: logger process                       --這個是子進程,在PostgreSQL中稱為SysLogger(8.0),用於整個系統的日誌輸出;
postgres 2722 2719 0 22:37 ? 00:00:00 postgres: checkpointer process              --這個是子進程,在PostgreSQL中稱為Checkpointer(9.2),用於處理checkpoints;
postgres 2723 2719 0 22:37 ? 00:00:00 postgres: writer process                        --這個是子進程,在PostgreSQL中稱為BgWriter,用於將髒頁刷出到磁碟;
postgres 2724 2719 0 22:37 ? 00:00:00 postgres: wal writer process                   --這個是子進程,在PostgreSQL中稱為WalWriter(8.3),處理預寫記錄檔輸出;
postgres 2725 2719 0 22:37 ? 00:00:00 postgres: autovacuum launcher process  --這個是子進程,在PostgreSQL中稱為AutoVacuum(8.1),用於系統的自動清理;
postgres 2726 2719 0 22:37 ? 00:00:00 postgres: stats collector process            --這個是子進程,在PostgreSQL中稱為PgStat,用於統計資料收集。 
postgres 2728 2661 0 22:37 pts/2 00:00:00 ps -ef
postgres 2729 2661 0 22:37 pts/2 00:00:00 grep postgres

此外,如果配置了副本的話,應該還有一個進程  postgres: archiver process:  在PostgreSQL中稱為PgArch,用於預寫記錄檔歸檔;同步資料用的。

 詳細關於進程的可以參考http://wiki.postgresql.org/wiki/Pgsrcstructure

如果修改過配置需要執行pg_ctl reload重新載入資料庫

[email protected]:~$ psql -h 127.0.0.1 -p 5432
Password:
psql (9.3.10, server 9.4.5)
WARNING: psql major version 9.3, server major version 9.4.
Some psql features might not work.
Type "help" for help.

postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | zh_CN.utf8 | zh_CN.utf8 |
template0 | postgres | UTF8 | zh_CN.utf8 | zh_CN.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.utf8 | zh_CN.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)

postgresql學習之安裝篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.