Linux 安装 PostgreSQL 11.4 数据库

本贴最后更新于 1958 天前,其中的信息可能已经渤澥桑田

1. 下载

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

2. 安装依赖包

yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

3. 安装 postgresql

# tar -zxvf postgresql-11.4.tar.gz
# cd postgresql-11.4
# ./configure --prefix=/pgsql/postgresql
PostgreSQL配置脚本选项
选项			描述
–prefix=prefix		安装到prefix指向的目录;默认为/usr/local/pgsql
–bindir=dir		安装应用程序到dir;默认为prefix/bin
–with-docdir=dir	安装文档到dir;默认为prefix/doc
–with-pgport=port	设置默认的服务器端网络连接服务TCP端口号
–with-tcl		为服务端提供Tcl存储过程支持
–with-perl		为服务端提供Perl存储过程支持
–with-python		为服务端提供Python存储过程支持
# make
# make install

4. 创建用户组 postgres 并创建用户 postgres

# cd postgresql-11.4
# groupadd postgres
# useradd -g postgres postgres
# id postgres

5. 创建 postgresql 数据库的数据主目录并修改文件所有者

主目录是在/pgsql/postgresql/data 目录下:

# cd /pgsql/postgresql
# mkdir data
# chown postgres:postgres data

6. 配置环境变量

# cd /home/postgres

编辑修改.bash_profile 文件

# vi .bash_profile

添加以下内容:

export PGHOME=/pgsql/postgresql
export PGDATA=/pgsql/postgresql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin

使环境变量生效:

# source .bash_profile

7. 切换用户到 postgres 并使用 initdb 初使用化数据库

# su - postgres
# initdb

看到下面这些东西的时候,表示成功了
Success. You can now start the database server using:
pg_ctl -D /pgsql/postgresql/data -l logfile start

8. 配置服务

修改/pgsql/postgresql/data 目录下的两个文件:
postgresql.conf   配置 PostgreSQL 数据库服务器的相应的参数
pg_hba.conf        配置对数据库的访问权限

# cd /pgsql/postgresql/data
# vi postgresql.conf

修改前:#listen_addresses = 'localhost'
修改后:listen_addresses = '*'

# vi pg_hba.conf

在最下面添加一行:

host    all             all             0.0.0.0/0                  trust

1.png

9. 设置 PostgreSQL 开机自启动

# cd /pgsql/postgresql-11.4/contrib/start-scripts
# vi linux

修改路径:

prefix=/pgsql/postgresql
PGDATA="/pgsql/postgresql/data"

2.png

:wq! 强制保存!

将 linux 文件拷贝到/etc/init.d/目录下,并命名为 postgresql

# chmod a+x linux
# su root
# cp linux /etc/init.d/postgresql
# cd /etc/init.d
# chkconfig --add postgresql

查看开机自启动服务是否设置成功:

# chkconfig

3.png

启动服务

# service postgresql start

停止服务

# service postgresql stop

重启服务

# service postgresql restart

查看 PostgreSQL 服务

# ps -ef | grep postgres
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...