Ubuntu下postgresql安裝及常見錯誤處理

依賴工具庫

注意:html

默認用戶名是postgres linux

如下命令是Ubuntu操做系統中的命令sql

make數據庫

GCCubuntu

Zlibvim

  • 安裝命令:sudo apt-get install zlib1g-dev
  • 注意有些軟件包的名字沒法肯定,能夠藉助ubuntu software center來肯定其有效名字,

readline dom

  •  安裝命令:sudo apt-get install libreadline6 libreadline6-dev
  • 注意網上有的寫安裝readline-dev,這並不適用於Ubuntu系統,必定要找一下本身的操做系統安裝readline的命令,不一樣的操做系統,命令是不同的,要當心

安裝

1.下載postgresqlsocket

下載地址:https://www.postgresql.org/ftp/source/v11.0/工具

2.解壓文件:post

  在zmy目錄下執行:tar -zxvf postgresql-11.0.tar

3.進入解壓目錄並配置參數

進入解壓目錄:cd postgresql-11.0

建立安裝目錄:sudo mkdir /opt/postgresql-11.0

配置安裝參數:./configure --prefix=/opt/postgresql-11.0

注:

--prefix 指定安裝目錄

若是缺乏readline,zlib,會報錯,安裝方法見依賴工具庫

 

4.編譯並安裝

make & make install

注:linux編譯安裝中configure、make和make install各自的做用 https://www.jianshu.com/p/c70afbbf5172

5.建立用戶組和用戶,並設置密碼(root不能執行pgsql的一些命令,因此必定要建立postgresql這個用戶)

sudo useradd -d /home/postgres -m postgres  #建立用戶併爲用戶建立主目錄,-m:自動創建用戶的登入目錄。

passwd postgres  #爲用戶postgre設置密碼

注:建立用戶時沒有密碼,登陸時又提示輸入密碼,那就 sudo passwd 用戶名,而後回車輸入兩遍密碼就能夠爲新用戶添加密碼了

6.建立數據庫庫文件存儲目錄並給postgresql用戶賦予權限:

進入數據庫安裝目錄: cd /opt/postgresql-11.0

建立data目錄: sudo mkdir data

給postgresql用戶賦予權限:sudo chown postgres.postgres data

7.切換用戶:

su postgres

8.添加環境變量:

export POSTGRESQL_HOME=/opt/postgresql-11.0
export PGDATA=/opt/postgresql-11.0/data
export PATH=$PATH:$POSTGRESQL_HOME/bin:$PGDATA
#查看環境變量
echo $POSTGRESQL_HOME

echo $PGDATA
echo $PATH  
若環境變量出錯,可執行
export PATH=.:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/opt/postgresql-11.0/bin:/opt/postgresql-11.0/data

9初始化數據庫目錄:

初始化數據: initdb

10.配置監聽地址和端口:

vi data/postgresql.conf
修改成以下配置:
  listen_addresses = '*'
  port = 5432

也就是將註釋號"#"去掉,並把"localhost"改成"*"

 PostgreSQL.conf文件配置詳解[轉]https://www.cnblogs.com/kuang17/p/6902712.html 特別詳細,備查

 
十一、容許遠程主機鏈接:
 vi data/pg_hba.conf
添加加以下配置
host all all 0.0.0.0/0    trust

12.啓動數據庫

pg_ctl -l log/server.log start

#關閉數據庫  pg_ctl   stop  

#重啓數據庫  pg_ctl restart

注:

-D data能夠省略,系統會讀取 PGDATA環境變量

啓動數據庫時遇到的錯誤

緣由:修改pg_hba.conf出錯

 

13.建立並鏈接數據庫

createdb -h localhost stu
psql -h localhost stu

注:

  1. stu爲數據庫名,能夠本身指定
  2. 鏈接數據庫時,必須指定數據庫名
  3. 建立數據庫時遇到錯誤:「could not conoect to database template1: could not connect to server:connections on unix domain socket "/var/run/postgresql/.s.PGSQL.5432」
    •  解決方法:加上-h localhost這個選項

    • 多是在pg_hba.conf中沒有設置好本機訪問
  4. 鏈接數據庫時遇到「psql: FATAL: role "postgresql" does not exist」錯誤
    1. 解決方案:使用 「psql -U postgres [數據庫名]」 登陸
  5. 鏈接數據庫時遇到「psql: FATAL: Peer authentication failed for user "postgres"錯誤 

解決辦法以下:

1). 運行下面的命令編輯pg_hba.conf文件 sudo vim /etc/postgresql/9.1/main/pg_hba.conf

2). 將

 # Database administrative login by Unix domain socket

local     all      postgres       peer

改成

# Database administrative login by Unix domain socket

local     all     postgres         trust

3). 保存後執行下面的命令從新加載配置文件: sudo /etc/init.d/postgresql reload

相關文章
相關標籤/搜索