本機環境:ubuntu16.04
一、原始碼安裝:
這裡選擇了postgresql10.13 版本:
cd postgresql10.13
./configure --prefix=path
注:path 是指安裝路徑,eg:/home/username/soft/postgresql
如果出現錯誤 configure: error: readline library not found,
安裝相關庫:
sudo apt-get install libreadline-dev
make && make install
gedit ~/.bashrc 新增如下內容
export PGHOME=/path 注:path 為安裝路徑
export PGDATA=/path/data
export PATH=$PATH:$PGHOME/bin:$PGHOME/data
cd ../postgresql 注:postgresql 為安裝路徑
mkdir data/
cd ..
chmod -R 777 postgresql
cd postgresql/bin
./initdb -D ../data/
./pg_ctl -D ../data/ -l logfile start 每次開機需要手動開啟服務
./psql -d postgres -p 543
二、apt-get安裝:
在不同版本的ubuntu下安裝的postgresql版本也不一樣,過程和設定一樣。
ubuntu16.04下安裝的是postgresql9.5
ubuntu20.04下安裝的是postgresql12
sudo apt-get install postgresql
sudo -u postgres psql
alter user postgres with password '123456'; (方便pgadmin和libpqxx連結)
sudo/etc/init.d/postgresql restart (重新啟動服務)
psql -U postgres -d postgres -h 127.0.0.1 -p 5432 (啟動資料庫)
安裝libpqxx:
sudo apt-get install libpqxx-dev
安裝jsoncpp:
sudo apt-get install libjsoncpp-dev
想要呼叫這兩個庫,只需要在makefile或者cmakelist 中link它就可以,像這樣
target_link_libraries(test libpqxx.so libjsoncpp.so )
那麼如何使用libpqxx這個庫呢?這裡有很好的教學可以參考。
如果想要解析postgresql中的jsonb的資料型別,c++提供了很好的庫jsoncpp,可以將字串轉換為json格式進行處理。這裡是官方檔案。