测试环境: RedHat 7.0 Linux 64bit
PostgreSQL 11 源码安装包下载地址 link
系统环境准备
RedHat 7.0 默认会安装相关系统包, 还需要增加 PostgreSQL 编译时必须包, 如下:
gcc, bison, gcc-c++, readline, readline-devel, zlib, zlib-devel, perl, perl-devel
创建 postgres 用户, 并创建安装目录
- useradd Postgres
- mkdir -p /opt/pgsql/data
- chown -R postgres:postgres /opt/pgsql
安装 PostgreSQL
解压, 编译, 安装
- tar -zxvf PostgreSQL-11.1.tar.gz
- cd PostgreSQL-11.1
- ./configure --prefix=/opt/pgsql
- make & make install
初始化数据库
- su - postgres
- [postgres@PostgreSQL bin]$cd /opt/pgsql/bin
- [postgres@PostgreSQL bin]$ ./initdb -D /opt/pgsql/data/
- 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 "en_US.UTF-8".
- The default database encoding has accordingly been set to "UTF8".
- The default text search configuration will be set to "english".
- Data page checksums are disabled.
- fixing permissions on existing directory /opt/pgsql/data ... 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 /opt/pgsql/data/ -l logfile start
- [postgres@PostgreSQL bin]$./pg_ctl -D /opt/pgsql/data -l logfile start
- waiting for server to start.... done
- server started
- # 配置用户环境变量文件. bash.profile 增加如下内容
- export PATH=$PATH:/opt/pgsql/bin
- [postgres@PostgreSQL ~]$ psql
- psql (11.1)
- Type "help" for help.
- postgres=#
- postgres=#
- postgres=# \du
- List of roles
- Role name | Attributes | Member of
- -----------+------------------------------------------------------------+-----------
- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
- postgres=#
来源: https://yq.aliyun.com/articles/675687