postgresql编译安装及配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql编译安装及配置相关的知识,希望对你有一定的参考价值。


1、建立postgres用户

[[email protected] source]# adduser postgres


2、下载postgresql源码

[[email protected] source]# pwd

/home/postgres/source

[[email protected] source]# wget https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.gz


3、编译安装postgresql:

[[email protected] source]# pwd

/home/postgres/source

[[email protected] source]# tar zxf postgresql-9.6.1.tar.gz

[[email protected] source]# cd postgresql-9.6.1

[[email protected] postgresql-9.6.1]# ./configure --prefix=/usr/local/pgsql9.6.1 

[[email protected] postgresql-9.6.1]# gmake -j 8

[[email protected] postgresql-9.6.1]# gmake install


4.初始化数据库:

mkdir -p /data/postgresql5.6/data

chown -R postgres.postgres /data/postgresql5.6/data

[[email protected] postgresql-9.6.1]# su - postgres

[[email protected] data]$ 

 /usr/local/pgsql9.6/bin/initdb --no-locale  -D /data/postgresql5.6/data -E utf8 -U postgres -W


[[email protected] data]$  /usr/local/pgsql9.6/bin/initdb --no-locale  -D /data/postgresql5.6/data -E utf8 -U postgres -W

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 "C".

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

Data page checksums are disabled.

Enter new superuser password: (要求输入超级用户postgres密码)

Enter it again: 

fixing permissions on existing directory /data/postgresql5.6/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:


 /usr/local/pgsql9.6/bin/pg_ctl -D /data/postgresql5.6/data -l logfile start


/usr/local/pgsql9.6/bin/initdb --no-locale  -D /data/postgresql5.6/data -E utf8 -U postgres -W

5.初始化数据库的参数介绍:

 initdb [OPTION] [DATADIR]


选项:

    -A,--auth=METHOD:指定本地连接的认证方法

    [-D,--pgdata=]DATADIR:指定数据库簇的原始目录(必须为空)

    -E,--encoding=ENCODING:指定数据库的默认编码

    --locale=LOCALE:设置数据库的locale

    --no-locale:等价--locale=C

    --pwfile=FILE:从指定的文件FILE中读取超级用户的密码

    -T,--text-search-config=CFG:指定默认的配置

    -U,--username=Username:指定用户名

    -W,--pwprompt:强制提示密码输入

    -X,--xlogdir=XLOGDIR:指定事务日志的目录文件


[[email protected] data]$ ls

base    pg_clog       pg_dynshmem  pg_ident.conf  pg_multixact  pg_replslot  pg_snapshots  pg_stat_tmp  pg_tblspc    PG_VERSION  postgresql.auto.conf

global  pg_commit_ts  pg_hba.conf  pg_logical     pg_notify     pg_serial    pg_stat       pg_subtrans  pg_twophase  pg_xlog     postgresql.conf


6、配置postgresql.conf

允许服务监听范围,0.0.0.0允许监听所有 IPv4 地址

listen_addresses = ‘0.0.0.0‘

port = 10637 

#用户访问日志格式 

log_destination = ‘csvlog‘

#启用用户访问日志收集器

logging_collector = on

##指定运行日志存放路径,指定运行日志文件名称

log_directory = ‘/data/postgresql5.6/log‘   

log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log‘


7、配置pg_hba.conf

#只给本地和192.168.0.0连接

host    all             all             127.0.0.1/32           md5

host    all             all             192.168.0.0/24         md5


8、配置Postgresql环境变量

在/etc/profile文件中增加下面内容

PGDATA=/data/postgresql5.6/data

PGHOST=127.0.0.1

PGDATABASE=postgres

PGUSER=postgres

PGPORT=10637

##PGPASSWORD="123456"

PATH=/usr/local/pgsql/bin:$PATH

export PGDATA PGHOST PGDATABASE PGUSER PGPORT PATH PGPASSWORD

环境变量生效

[[email protected] postgresql-9.6]# source /etc/profile

[[email protected] postgresql-9.6]# which psql

/usr/local/pgsql9.6/bin/psql


9.下面配置postgresql的动态库到搜索路径中

[[email protected] postgresql-9.6]# vim /etc/ld.so.conf.d/pgsql.conf 

/usr/local/pgsql/lib

搜索路径生效

[[email protected] postgresql-9.6]# ldconfig 

[[email protected] jumpserver]#  ldconfig -p  | grep libpq

libpqwalreceiver.so (libc6,x86-64) => /usr/local/pgsql9.6/lib/libpqwalreceiver.so

libpq.so.5 (libc6,x86-64) => /usr/local/pgsql9.6/lib/libpq.so.5

libpq.so (libc6,x86-64) => /usr/local/pgsql9.6/lib/libpq.so


10、启动PostgreSQL服务

因为我们上面配置了环境变量,所以我们可以这样启动服务

[[email protected] postgresql-9.6.1]# su - postgres

[[email protected] postgresql-9.6]$ pg_ctl start

 该命令与下面的语句是一样的效果

[[email protected] postgresql-9.6 ]$ /usr/local/pgsql9.6/bin/pg_ctl -D /data/postgresql5.6/data  start


本文出自 “10931853” 博客,谢绝转载!

以上是关于postgresql编译安装及配置的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu编译安装postgresql及主从配置

PostgreSQL源码安装及配置(基于Pg13)

演示PostgreSQL的详细安装及配置图解

Untunbu下postgresql安装及常见错误处理

windows 下 PostgreSQL 监听配置及远程连接

PostgreSql 学习笔记一 CentOS下安装使用 及常用命令