國產龍芯服務器源碼安裝PostgreSQL數據庫的方法

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 進行鏈接測試.

 

 安裝完成. 

相關文章
相關標籤/搜索