當前位置:首頁 » 編程軟體 » 編譯安裝pgsql

編譯安裝pgsql

發布時間: 2022-02-16 09:15:11

① 如何安裝Postgresql 9.2.4 For Windows

具體過程如下:
步驟1:安裝postgreSQL 9.2.4
具體過程參見:如何安裝PostgreSQL 9.2.4 For Windows?

步驟2:配置鑒權口令文件
pg_upgrade會在升級過程中多次連接新舊資料庫,所以可以在pg_hba.conf中將鑒權方式設為"Trust"或者在使用MD5鑒權方式下配置pgpass.conf文件(文件位置:%APPDATA%\postgresql\pgpass.conf)。這樣可以避免在升級過程中提示鑒權失敗而導致升級不能正常進行。待升級成功後可以移除或清空文件內容。

步驟3:安裝插件
將舊資料庫伺服器中使用的插件同樣安裝至新資料庫伺服器中。

步驟4:停止新舊資料庫服務
通過命令行或服務管理界面進行

出現問題:

原因:未使用管理員許可權運行命令提示符(CMD)

步驟5:用非windows系統管理員許可權用戶做升級前准備
RUNAS /USER:postgres "CMD.EXE"
SET PATH=D:\Program Files\PostgreSQL\9.2\bin;%PATH%;

步驟6:進入postgres用戶目錄,執行pg_upgrade(如果環境變數設置正確,會使用新版本下的pg_upgrade),會有升級相應的日誌文件生成於此
命令格式:pg_upgrade -b oldbindir -B newbindir -d olddatadir -D newdatadir [option...]
其中會使用 - r 參數:作用是在系統升級成功後仍然保留日誌文件。

如果升級過程中出現問題,可以通過windos事件檢查器及相應升級日誌文件進行分析。
pg_upgrade_internal.log
pg_upgrade_restore.log
pg_upgrade_server.log
pg_upgrade_server_start.log
pg_upgrade_utility.log

出現問題:
(1) 沒有配置pgpass.conf或pg_hba.conf,檢查日誌文件有如下錯誤信息
could not connect to old postmaster started with the command:
"D:/Program Files (x86)/PostgreSQL/9.1/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "D:/Users/lv/Data/PostgreSQL/9.1" -o "-p 50432 -b " start
cannot write to log file pg_upgrade_server.log

(2) PATH環境變數配置錯誤引起的失敗
手冊上的示例為:SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin; 這樣舊資料庫伺服器環境變數將會使其路徑優先被搜索到,導致提示該版本下的pg_upgrade不支持升級到新資料庫版本。

(3) 失敗後根據提示重新用initdb生成資料庫時未創建用戶postgres

(4) 創建用戶時未創建口令,檢查pg_upgrade_internal.log,有如下錯誤信息
connection to database failed: fe_sendauth: no password supplied

(5) 升級進程未結束再次運行pg_upgrade不成功
可以在進程管理中停止所有postgresql進程,然後重新進行升級

(6) 升級成功後,日誌文件被自動刪除,可以在命令行中用-r參數指定保留。

步驟7:恢復對配置文件(pg_hba.conf,postgresql.conf)進行的修改
主要是將鑒權方式修改回比較安全的模式

步驟8:升級後處理
升級完成後,pg_upgrade會提示需要運行腳本或批處理文件檢查新資料庫伺服器及刪除舊資料庫伺服器數據。

② 我在postgresql上下載的文件postgresql-9.1.3-2-linux.run時這種格式安裝

.gz
源碼壓縮文件,這個安裝需要配置、編譯後再安裝,不建議你自己做。你應該下載二進制的已經配置、編譯好的程序包(binary
package)。

③ 安裝postgersql時,最後出現stack builder 2.1.0,這是什麼

那個是堆棧生成器,你可要可不要,根據你自己的情況來定,具體如下

④ 可以不安裝postgresql,只安裝psql嗎

PostgreSQL是現在比較流行的資料庫之一,這個起源於伯克利(BSD)的資料庫研究計劃目前已經衍生成一項國際開發項目,並且有非常廣泛的用戶。據我了解國內四大國產資料庫,其中三個都是基於PostgreSQL開發的。並且,因為許可證的靈活,任何人都可以以任何目的免費使用,修改,和分發 PostgreSQL,不管是私用,商用,還是學術研究使用。本文只是簡單介紹一下postgresql的安裝和簡單的使用,語法方面涉及的比較少,以方便新手上路為目的。
1.系統環境和安裝方法 ;
PostgreSQL的安裝方法比較靈活,可以用源碼包安裝,也可以用您使用的發行版所帶的軟體包來安裝,還可以採用在線安裝……
1.1 系統環境:Ubuntu Linux 7.04 ;Fedora;Slackware;

1.2 安裝;
Ubuntu下安裝軟體其實很簡單,用新立得軟體包管理器搜索psql便能查到postgresql-client-8.2(同時可以搜到8.1版本,哪一個都可以),選中-應用即可。或者在終端下輸入
xiaop@localhost$ sudo apt-get install postgresql-8.2
Slackware下安裝:請到 linuxpackages.net 上查找您所用系統的對應版本,用pkginstall 來安裝,或您安裝slap-get 工具,在線自動安裝;要用到root許可權,可以通用sudo。關於su和sudo的參考;《Linux 系統中的超級許可權的控制》 安裝postgresql的軟體包,可用下面的辦法 ;
xiaop@localhost# pkginstall post*.tgz

xiaop@localhost# slapt-get --install postgresql-8.2.4
在Fedora中,您可以用軟體包在線安裝工具來安裝註:這樣就安裝好了PostgreSQL 8.2了,該安裝將自動創建一個預設的資料庫集群(pgsqldb.org中的譯法)「main」,且生成一個資料庫超級用戶postgres。
2. 啟動PostgreSQL 資料庫伺服器;

2.1 在流行Linux發行版的啟動方法;
在Ubuntu系統中,伺服器啟動腳本放在 /etc/init.d目錄中,您可以用下面的方法來啟動,對於Fedora和Gentoo 也是類似的;
xiaop@localhost~# /etc/init.d/postgresql-8.2 start 註:啟動;
xiaop@localhost~# /etc/init.d/postgresql-8.2 restart 註:重啟;
xiaop@localhost~# /etc/init.d/postgresql-8.2 stop 註:停止;
xiaop@localhost~# /etc/init.d/postgresql-8.2 status 註:查看狀態;
在Slackware中,PostgreSQL的啟動腳本放在 /etc/rc.d目錄中,如果您用從linuxpackages.net 上下載的軟體包或在線安裝的軟體包;
xiaop@localhost~# /etc/rc.d/rc.postgres start
如果您用源碼包編譯安裝,啟動PostgreSQL,請查看PostgreSQL官方文檔;
2.2 關於 PostgreSQL啟動和存儲目錄;
啟動PostgreSQL伺服器時,一般是以postgres 用戶來啟動的,自編譯安裝的除外;對於資料庫的存儲一般是放在/var/lib中的相關目錄,比如 /var/lib/pgsql或 /var/lib/postgresql/8.2/main/ 目錄等;不同的發行版可能不太一樣,不過還是大同小異,您可以通過修改數據存儲位置把資料庫存在其它地方;
3.創建用戶

添加用戶命令格式。
createuser 是 SQL 命令 CREATE USER的封裝。
命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主機名] [-p port] 用戶名
參數說明:
[-a]:允許創建其他用戶,相當於創建一個超級用戶;
[-A]:不允許此用戶創建其他用戶;
[-d]:允許此用戶創建資料庫;
[-D]:不允許此用戶創建資料庫;
[-e]:將執行過程顯示到Shell上;
[-P]:創建用戶時,同時設置密碼
[-h 主機名]:為某個主機上的Postgres創建用戶;
[-p port]:與-h參數一同使用,指定主機的埠。
3.1添加用戶;

3.1.1不帶參數的創建用戶;
xiaop@localhost~$ createuser testuser
Shall the new user be allowed to create databases? (y/n) n --------是否可以創建資料庫:否
Shall the new user be allowed to create more new users? (y/n) n ---------是否可以創建新用戶:否
CREATE USER
註:不帶參數創建用戶時,Postgres會詢問此用戶的許可權,上面的例子創建了一個普通用戶;
3.1.2 為指定的主機和埠上創建用戶 ;
xiaop@localhost~$ createuser -h 172.28.18.51 -p 5000 -D -A -e testuser
CREATE USER joe NOCREATEDB NOCREATEUSER;
CREATE USER

註:這個命令為主機172.28.18.51的5000埠創建用戶testuser, 此用戶不可以創建資料庫和其他用戶。
3.1.3創建超級用戶;
xiaop@localhost~$ createuser -P -d -a -e testuser
Enter password for new user: testuser
Enter it again: testuser
CREATE USER joe PASSWORD 'testuser' CREATEDB CREATEUSER;
CREATE USER
註:這個命令在本地創建一個超級用戶(-a),可以創建資料庫(-d), 同時要求設置密碼。
3.2 刪除用戶:
命令:dropuser [-i] [-h] [-p] [-e] 用戶名 參數說明:
[ -i]:刪除用戶前,要求確認;
[-h 主機名]:刪除某個主機上的Postgres用戶;
[-p port]:與-h參數一同使用,指定主機的埠;
[-e]:將執行過程顯示到Shell上。
3.2.1 刪除本地的Postgres用戶;
xiaop@localhost~$ dropuser testuser
DROP USER

3.2.2 刪除遠程Postgres伺服器上的用戶;
xiaop@localhost~$ dropuser -p 5000 -h 172.28.18.51 -i -e testuser
User "testuser" and any owned databases will be permanently deleted.
Are you sure? (y/n) y
DROP USER "testuser"
DROP USER

註:此命令刪除主機172.28.18.51(-h)的5000埠(-p)的用戶testuser,並且需要確認(-i);
4. 創建和刪除資料庫;

4.1創建資料庫
看看您能否訪問資料庫伺服器的第一個例子就是試著創建一個資料庫;
要創建一個新的資料庫,在我們這個例子里叫 mydb,您可以使用下面的命令:
xiaop@localhost~$ createdb mydb
它應該生成下面這樣的響應:
CREATE DATABASE
如果這樣,那麼這一步就成功了,如果您看到類似下面這樣的信息
createdb: command not found
那麼就是PostgreSQL沒有安裝好,要麼是就根本沒裝上;
您還可以用其它名字創建資料庫。 PostgreSQL 允許您在一個節點上創建任意數量的資料庫。 資料庫名必須是以字母開頭並且小於 63 個字元長。 一個方便的做法是創建和您當前用戶名同名的資料庫。 許多工具假設該資料庫名為預設資料庫名,所以這樣可以節省您的敲鍵。要創建這樣的資料庫,只需要鍵入 :
xiaop@localhost~$ createdb

⑤ ubuntu postgresql 編譯安裝好還是apt安裝

apt命令安裝更好,主要是方便而且不容易出問題,apt命令安裝的也是穩定的版本,而且它會自動解決軟體依賴性的問題,會自動把依賴的哪些軟體安裝上。而用編譯安裝往往會報出一大堆的提示信息(如果有軟體依賴它也會報錯),挺麻煩的。

⑥ 在linux中編譯PostgreSQL程序出現/usr/lib/ld cannot found -lpq

apt-get install 吧
或者yum
用repo里的穩

為啥第二天重新compile?
是configure出問題還是make還是make install呢?

如果你用的debian系列系統,用apt-get命令安裝postgresql,如果是red hat系列(比如rhel, centos等),請用yum命令安裝。如果不行,aptitude purge刪除干凈。

你別用redhat 9了,那個太老了,內核和現在已經差好遠了,打個比方,你在用Windows NT 4跑SQL Server 2008。哈哈,用Ubuntu 9.10 Server吧。
PgAdmin可以在 找到。看得出來你不怎麼會用Linux吧。

⑦ 如何在CentOS 7/6.5/6.4 下安裝PostgreSQL 9.3 與 phpPgAdmin

PostgreSQL強源象關系類型資料庫系統能運行於幾乎所主要操作系統包括Linux、Unix(AIX、BSD、HP-UX、SGI
IRIX、Mac OS、Solaris、Tru64)、Windows OS篇教程我習何CentOS7/6.5/6.4 server
建立PostgreSQL
1.安裝PostgreSQL
首先根據伺服器架構添加PostgreSQL庫:
CentOS 6.x 32bit:
rpm -Uvh 1.noarch.rpm
CentOS 6.x 64bit:
rpm -Uvh
CentOS 7 64bit:
rpm -Uvh
於其發行版查看鏈接並建立庫:

使用命令更新庫:
yum update
使用命令安裝PostgreSQL:
yum install postgresql93-server postgresql93-contrib
使用命令初始化PostgreSQL資料庫:
CentOS 6.x 系統:
service postgresql-9.3 initdb
CentOS 7系統:
/usr/pgsql-9.3/bin/postgresql93-setup initdb
啟PostgreSQL服務並使機自啟:
CentOS 6.x 系統:
service postgresql-9.3 start
chkconfig postgresql-9.3 on
CentOS 7系統:
systemctl enable postgresql-9.3
systemctl start postgresql-9.3
2.調整Iptables/Firewall
接調整防火牆站規則:
CentOS 6.x系統:
vi /etc/sysconfig/iptables
並添加行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
退並保存文件重啟iptables服務:
service iptables restart
CentOS系統:
firewall-cmd --permanent –add-port=5432/tcp
firewall-cmd --permanent –add-port=80/tcp
firewall-cmd --reload
3.訪問PostgreSQL用命令提示符
默認情況資料庫名用戶名都postgres切換至用戶執行相關操作:
su – postgres
輸入命令登陸:
psql
例輸:
psql (9.3.5)
Type "help" for help.
Postgres=#
通輸入\q退postgresql返命令終端:
4.設置用戶密碼
登陸至postgres命令提示符界面
su – postgres
psql
使用命令設置密碼
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
輸入命令建立PostgreSQL系統管理工具
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
5.創建用戶資料庫
例:用戶名:senthil 密碼:centos 資料庫名:mydb
轉postgres用戶
su – postgres
創建用戶senthil
$ createuser senthil
創建資料庫
$ createdb mydb
現登陸至psql提示符界面用戶senthil設置密碼及授權資料庫mydb訪問:
$ psql
psql (9.3.5)
Type "help" for help.
postgres=# alter user senthil with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database mydb to senthil;
GRANT
postgres=#
6.刪除用戶資料庫
首先轉postgres界面
su – postgres
輸入命令
$ dropdb <database-name>
刪除用戶名輸入
$ dropuser <user-name>
7.配置PostgreSQL-MD5認證
MD5認證需要客戶端提供MD5-encrypted 密碼便身份驗證需要編輯 /var/lib/pgsql/9.3/data/pg_hba.conf文件:
vi /var/lib/pgsql/9.3/data/pg_hba.conf
添加或修改行:
[...]
# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
[...]
重啟postgresql服務應用更改
CentOS 6.x系統
service postgresql-9.3 restart
CentOS 7系統
systemctl restart postgresql-9.3
8.配置PostgreSQL-Configure TCP/IP
默認情況TCP/IP連接行所其計算機用戶能連接postgresql編輯文件 /var/lib/pgsql/9.3/data/postgresql.conf允許連接:
vi /var/lib/pgsql/9.3/data/postgresql.conf
找面行:
[...]
#listen_addresses = 'localhost』
[...]
#port = 5432
[...]
兩行都取消並設置postgresql伺服器IP址或設置*監聽所客戶端所示:
listen_addresses = '*'
port = 5432
重啟應用更改
CentOS6.x系統:
/etc/init.d/postgresql-9.3 restart
CentOS7系統:
systemctl restart postgresql-9.3
9.使用phpPgAdmin管理PostgreSQL
phpPgAdmin使用PHP編寫基於web管理工具用於管理PostgreSQL適用與PostgreSQL RPM庫
沒添加PostgreSQL庫添加EPEL庫
根據面鏈接CentOS 6.x建立EPEL庫

CentOS 7參考面鏈接

使用命令更新庫
yum update
現輸入命令安裝phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin區寫要准確使用面所示寫
默認使用訪問phpPgAdmin若要遠程訪問需要繼續:
編輯文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改加粗部:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>
<IfMole mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfMole>
<IfMole !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
</IfMole>
</Location>

啟或重啟Apache服務
CentOS 6.x系統
service httpd start
chkconfig httpd on

CentOS 7系統
systemctl enable httpd
systemctl start httpd
現打瀏覽器並轉終於看面界面

使用前創建用戶登錄我用戶senthil密碼CentOS

能遇:Login failed

SELLinux能限制用戶連接PostgreSQL需輸入命令更改即:
setsebool -P httpd_can_network_connect_db 1
現應該能登錄
採用編譯安裝 或者集安裝看看wo 網名能解決問題

⑧ 為什麼linux不能安裝最新版本的postgresql呢 (postgresql-9.1.2.tar.gz)

可選擇源碼編譯安裝:
一、在root用戶下使用源碼編譯方式安裝PostgreSQL
1. 解壓
tar jxvf postgresql-9.1.2.tar.bz2

2. 檢查依賴軟體包
rpm -qa | grep readline
rpm -qa | grep zlib
rpm -qa | grep gcc
rpm -qa | grep make

3. 如果缺少依賴軟體包,安裝以下軟體包
gcc
make
zlib-devel
readline-devel

4. 配置PostgreSQL
cd postgresql-9.1.2
./configure --prefix=/usr/local/pgsql

5. 編譯並安裝PostgreSQL
make
make install

6. 創建組和用戶
groupadd postgres
useradd -g postgres postgres
passwd postgres

7. 創建資料庫庫文件存儲目錄、給postgres賦予許可權:
mkdir /usr/local/pgsql/data
cd /usr/local/pgsql
chown postgres.postgres data
touch /var/log/pgsql.log
chown postgres.postgres /var/log/pgsql.log

8. 初始化資料庫目錄(在postgres用戶下執行命令)
cd /usr/local/pgsql/
./bin/initdb -E UTF-8 -D /usr/local/pgsql/data --locale=zh_CN.UTF-8

⑨ linux 下怎麼看postgresql安裝到哪個目錄了

進入/opt/pgsql-9.1.7目錄可以看到安裝後的postgresql的文件。

linux下安裝PostgreSQL資料庫步驟如下:

0.編譯環境

  • Linux: CentOS 5.5

  • gcc: 4.1.2

  • 1. 安裝PostgreSQL

    1) 解壓postgresql-9.1.7.tar.bz2

    #tar jxvfpostgresql-9.1.7.tar.bz2

    5)設置postgresql服務開機自啟動

    #chkconfig --add postgresql

    執行上面的命令,就可以實現postgresql服務的開機自啟動。

⑩ 源碼編譯安裝postgresql後怎麼卸載

建議你裝個騰訊電腦管家。
管家的管理功能挺完善的。而且各項管理能力也都比較出眾。
如需卸載,可通過管家軟體管理平台完成相關管理:
打開騰訊電腦管家~~~~工具箱~~~~軟體卸載~~~~強力刪除

同時,垃圾清理還可以清除卸載殘留文件及注冊表信息:
打開騰訊電腦管家~~~~工具箱~~~~清理垃圾/注冊表垃圾

熱點內容
查ip地址伺服器數量 發布:2024-04-25 20:49:48 瀏覽:620
安卓手機單核性能為什麼不高 發布:2024-04-25 20:48:07 瀏覽:56
群暉php 發布:2024-04-25 20:00:35 瀏覽:884
怎麼查看我的wifi密碼 發布:2024-04-25 18:54:43 瀏覽:757
fckeditorforjava 發布:2024-04-25 18:50:27 瀏覽:624
優酷上傳視頻需要多久 發布:2024-04-25 18:33:05 瀏覽:675
inf12編譯器 發布:2024-04-25 18:15:39 瀏覽:99
撲克總督3安卓哪裡下載 發布:2024-04-25 18:10:02 瀏覽:395
什麼網站是php 發布:2024-04-25 18:03:42 瀏覽:221
java教程免費下載 發布:2024-04-25 18:02:01 瀏覽:443