postgresql 源码安装-个人测试

本文详细介绍了在服务器环境下,从下载源码到完成PostgreSQL 11.2数据库系统安装及配置的全过程。包括用户与目录创建、环境变量设置、编译安装、数据库初始化、参数调整、启动数据库及远程连接测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本安装仅为初级测试版本,没有进行参数调整,不适合正式使用

 

1. 下载

https://www.postgresql.org/ftp/source/

本次选择最新版本11.2的源码

下载下来后解压上传至服务器

 

2. 创建用户

groupadd postgres

useradd -g postgres pg

passwd pg

 

3. 创建目录

等会源码安装和initdb会用到:

mkdir /pg

mkdir /pg/pghome

mkdir /pg/pgdata

chown -R pg:postgres /pg

解释:

/pg/pghome是存放bin等pg文件的目录,是软件的运行目录,变量名$PGHOME

/pg/pgdata是存放数据库文件的目录,变量名$PGDATA

 

 

4. 修改pg用户的bash_profile

在后面添加:

export PGHOME=/pg/pghome 

export PGDATA=/pg/pgdata

export PATH=$PGHOME/bin:$PATH 

export MANPATH=$PGHOME/share/man:$MANPATH 

export LANG=en_US.utf8 

export DATE=`date +"%Y-%m-%d %H:%M:%S"` 

export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

 

5. 开始源码安装

进入刚解压出来的pg源码包,在root用户下执行:

./configure --prefix=/pg/pghome

make

make install

这中间有可能会因为缺包报错停止,缺啥补啥,建议每次失败最好将整个目录删掉重新解压,防止前面已经产生的某些文件捣乱。

执行完成后会在$PGHOME有如下目录

[pg@dongsc pghome]$ ll

total 12

drwxr-xr-x 2 root root 4096 Mar 7 16:00 bin

drwxr-xr-x 4 root root 4096 Mar 7 16:00 include

drwxr-xr-x 4 root root 4096 Mar 7 16:00 lib

drwxr-xr-x 3 root root 24 Mar 7 16:00 share

 

6. 初始化库

[pg@dongsc pghome]$ initdb --encoding=utf8 --pgdata=/pg/pgdata 

The files belonging to this database system will be owned by user "pg".

This user must also own the server process.



The database cluster will be initialized with locale "en_US.utf8".

The default text search configuration will be set to "english".



Data page checksums are disabled.



fixing permissions on existing directory /pg/pgdata ... ok

creating subdirectories ... ok

selecting default max_connections ... 100

selecting default shared_buffers ... 128MB

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 /pg/pgdata -l logfile start

 

此时会发现$PGHOME下出现了数据文件、配置文件等

 

7. 修改一下参数后启动库

参数文件是$PGDATA下的postgresql.conf,添加:

listen_addresses = '*'

 

修改$PGHOME/pg_hba.conf,添加,允许所有客户端连接,

host all all 0.0.0.0/0 trust

 

8. 启动数据库

[pg@dongsc pgdata]$ pg_ctl -D /pg/pgdata -l $PGDATA/logfile start

waiting for server to start.... done

server started

 

假如此处出现了问题,就去找上面命令中的logfile的位置,查看报错详情。

 

9. 进入数据库

[pg@dongsc pgdata]$ psql -d postgres

pg是类似mysql的多库结构,所以需要-d指定要进入的数据库,假如不指定-d,默认会进入系统用户名同名的库。所以假如你用其他用户名安装的话,可能会报错:

[pg@dongsc pgdata]$ psql

psql: FATAL: database "<你的系统用户名>" does not exist

创建用户,方便外部连接

postgres=# CREATE USER dongsc SUPERUSER CREATEDB CREATEROLE PASSWORD 'oracle';

 

10. 客户端连接

在其他机器上也安装pg,暂时使用psql测试,可以正常连接

psql --username=dongsc --host=192.168.115.20 --port=5432 -d postgres -W

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值