1. 公司最近有一些國產化項目的需求, 要求在國產CPU的服務器上面安裝pg數據庫等.linux
2.. 可是差查了下中標麒麟的官網,在龍芯MIPS的操做系統包源裏面僅有 postgreSQL 9.2 版本的rpm包, 可是要求最低版本是10.x 因此沒辦法就採起源碼安裝的方式進行安裝.sql
3. 安裝過程.(備註arm的CPU 無論是 飛騰的仍是華爲的過程應該都是如出一轍的)數據庫
3.1 下載源碼包bootstrap
百度搜索postgreslq的官網,而後下載源碼便可.vim
https://www.postgresql.org/ftp/source/v10.10/
具體的下載地址爲:
https://ftp.postgresql.org/pub/source/v10.10/postgresql-10.10.tar.gz
界面效果:安全
3.2 linux上面建立文件夾服務器
[root@neoky01 ~]# mkdir /pg10 [root@neoky01 ~]# useradd postgres [root@neoky01 ~]# mkdir /pgdata [root@neoky01 ~]# chown postgres:root /pgdata
第一步建立 存放 PG源碼的文件夾
第二步建立 運行postgreSQL數據庫的用戶
第三步建立 存放postgreSQL數據庫數據文件的目錄
第四步修改 存放postgreSQL數據庫數據文件的目錄的屬主
3.3 將postgresql的源碼上傳至服務器的/pg10 目錄中post
3.4 解壓縮而後進行安裝.測試
tar -zxvf 解壓縮文件壓縮包 cd .. 進入到解壓縮後的文件夾 執行以下命令進行配置. ./configure --without-readline --without-zlib
執行 make && make install 進行安裝
龍芯3吖000的機器大約耗時: 900s
15:01 到 15:16
而後進入到 源文件的 contrib 的目錄下面 執行命令
make && make install
大約耗時: 120s
15:19 到 15:21
3.5 修改環境變量ui
postgresql 源碼安裝默認安裝到 /usr/local/pgsql/bin 這個目錄中, 爲了簡單起見. 能夠修改一下 環境變量便於使用. vim /etc/profile.d/pg.sh 增長上一行內容便可 export PATH=$PATH:/usr/local/pgsql/bin 而後使之生效 source /etc/profile.d/pg.sh
3.6 初始化數據庫
須要切換用戶 su - postgres 執行命令: initdb -D /pgdata 就完成了數據庫的建立過程.
通常的提示信息爲:
[root@neoky01 bin]# su - postgres [postgres@neoky01 ~]$ initdb -D /pgdata The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with locale "zh_CN.UTF-8". The default database encoding has accordingly been set to "UTF8". initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8" The default text search configuration will be set to "simple". Data page checksums are disabled. fixing permissions on existing directory /pgdata ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default timezone ... PRC selecting dynamic shared memory implementation ... posix creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: pg_ctl -D /pgdata -l logfile start
3.7 使用systemd 設置爲daemon 服務啓動
注意 須要使用root 用戶進行編輯 vim /etc/systemd/system/pg.service 插入內容: [Unit] Description=pg [Service] User=postgres ExecStart=/usr/local/pgsql/bin/postmaster -D /pgdata Restart=always [Install] WantedBy=multi-user.target
設置服務自動啓動還有開啓服務
systemctl enable pg
systemctl restart pg
3.8 查看服務狀態以及修改安全配置
systemctl status pg
須要修改安全配置, 注意 數據庫的配置文件就在/pgdata 裏面
3.放開監聽以及修改鏈接數等.
vim /pgdata/postgresql.conf 主要修改以下內容: # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) port = 5432 # (change requires restart) max_connections = 2000 # (change requires restart)
修改安全配置
vim /pgdata/pg_hba.conf 在ipv4 下面增長一行記錄 host all all 0.0.0.0/0 md5
注意 md5 必須使用密碼登陸 trust 能夠不使用密碼登陸 很是不安全 因此強烈不建議使用trust ..
3.9 設置 postgres 數據庫用戶的密碼
linux 下面執行命令 su - postgres
而後執行命令
psql
進入postgreSQL數據庫的操做界面, 通常的提示信息如:
而後執行命令
alter role postgres with password 'Test6530';
注意 必定要有 分號, 而且湖之一要有具體的提示信息才能夠.
[root@neoky01 bin]# su - postgres
[postgres@neoky01 ~]$ psql
psql (10.10)
Type "help" for help.
postgres=# alter role postgres with password 'Test6530';
ALTER ROLE
postgres=#
出現alter role 便可.
3.10 重啓postgresql 數據庫,而且驗證是否能夠鏈接
systemctl restart pg
而後使用 navicat 進行鏈接測試.
安裝完成.