检查PostgreSQL 是否已经安装

rpm -qa | grep postgres    检查PostgreSQL 是否已经安装
rpm -qal | grep postgres   检查PostgreSQL 安装位置

返回信息

[root@dn07 ~]# rpm -qa | grep postgres
postgresql-libs--.el7.x86_64
[root@dn07 ~]# rpm -qal | grep postgres
/usr/share/doc/postgresql-libs-
/usr/share/doc/postgresql-libs-/COPYRIGHT
/usr/lib/firewalld/services/postgresql.xml
/usr/lib64/security/pam_postgresok.so
/usr/share/doc/pam-/txts/README.pam_postgresok
/usr/share/.gz
/etc/selinux/targeted/active/modules//postgresql
/etc/selinux/targeted/active/modules//postgresql/cil
/etc/selinux/targeted/active/modules//postgresql/hll
/etc/selinux/targeted/active/modules//postgresql/lang_ext

若已经安装,则使用rpm -e 命令卸载

[root@dn07 ~]# rpm -e postgresql-libs--.el7.x86_64
     error: Failed dependencies:
        libpq.so.()(64bit) is needed by (installed) python-psycopg2--.el7.x86_64
[root@dn07 ~]# rpm -e python-psycopg2--.el7.x86_64
[root@dn07 ~]# rpm -e postgresql-libs--.el7.x86_64

可以使用rpm -qa | grep postgres再次查看是否还有Postgres安装文件,没有卸载完成

使用yum 出现 Loaded plugins: fastestmirror

解决方法:https://www.cnblogs.com/lzcys8868/p/8184681.html

bash: wget: command not found的两种解决方法

解决方法:https://www.cnblogs.com/areyouready/p/8909665.html

Install the repository RPM:

yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Install the client packages:

yum install postgresql96

Optionally install the server packages:

yum install postgresql96-server

可以使用rpm -qal|grep postgres这个命令查看安装文件的位置,注意默认的postgresql配置文件的位置和名称(带有版本号)

[root@dn08 ~]# rpm -qal|grep postgres
/usr/share/doc/postgresql96-
/usr/share/doc/postgresql96-/COPYRIGHT
/usr/share/doc/postgresql96-/KNOWN_BUGS
……
/usr/pgsql-9.6/share/postgres.description
/usr/pgsql-9.6/share/postgres.shdescription
/usr/pgsql-9.6/share/postgresql.conf.sample
/var/run/postgresql

切换postgres用户执行初始化数据库操作

新增postgres用户组:

groupadd postgres

新增postgres用户并且设置这个用户属于上面创建的postgres用户组:

useradd -g postgres postgres

修改postgres用户密码:passwd postgres(这里设置密码为123):

passwd postgres  --修改postgres用户密码

Postgresql不能以root身份初始化,要以postgres用户的身份运行:

su postgres  切换用户

初始化数据库:

/usr/pgsql-9.6/bin/postgresql96-setup initdb -E UNICODE -D /mnt/pgsql/data --初始化数据库

错误!!!

依然转换为root用户初始化并启动数据库:

su root
/usr/pgsql-9.6/bin/postgresql96-setup initdb
systemctl start postgresql-9.6

进入数据库存放位置,查询初始化数据库成功之后的目录内容:

cd /var/lib/pgsql/9.6/data
ll

返回目录信息:

drwx------  postgres postgres     3月   : base
drwx------  postgres postgres   3月   : global
drwx------  postgres postgres      3月   : log
drwx------  postgres postgres     3月   : pg_clog
drwx------  postgres postgres      3月   : pg_commit_ts
drwx------  postgres postgres      3月   : pg_dynshmem
-rw-------  postgres postgres   3月   : pg_hba.conf
-rw-------  postgres postgres   3月   : pg_ident.conf
drwx------  postgres postgres     3月   : pg_log
drwx------  postgres postgres     3月   : pg_logical
drwx------  postgres postgres     3月   : pg_multixact
drwx------  postgres postgres     3月   : pg_notify
drwx------  postgres postgres      3月   : pg_replslot
drwx------  postgres postgres      3月   : pg_serial
drwx------  postgres postgres      3月   : pg_snapshots
drwx------  postgres postgres      3月   : pg_stat
drwx------  postgres postgres     3月   : pg_stat_tmp
drwx------  postgres postgres     3月   : pg_subtrans
drwx------  postgres postgres      3月   : pg_tblspc
drwx------  postgres postgres      3月   : pg_twophase
-rw-------  postgres postgres      3月   : PG_VERSION
drwx------  postgres postgres     3月   : pg_xlog
-rw-------  postgres postgres     3月   : postgresql.auto.conf
-rw-------  postgres postgres  3月   : postgresql.conf
-rw-------  postgres postgres     3月   : postmaster.opts
-rw-------  postgres postgres     3月   : postmaster.pid

编辑postgresql.conf文件,修改数据库默认接收的监听地址与端口参数:

cat postgresql.conf | grep -n listen_addresses  查找listen_addresses在postgresql.conf文件中的位置并显示行号
vi postgresql.conf 编辑postgresql.conf文件

去掉59行的注释,将listen_addresses = 'localhost' 改成 listen_addresses = '*',下图是修改后listen_addresses的值:

接下来继续修改pg_hba.conf文件,告诉数据库服务器它将允许什么样的客户端连接到自己:

vi pg_hba.conf --修改postgresql服务连接文件

在末尾增加一行,表示允许任何一个客户端使用正确的用户名和密码访问自己:

host    all             all                            trust

查看postgresql是否运行:

ps -ef | grep postgres  查看postgres的进程信息

开始连接postgresql数据库:

psql -U postgres //连接pgsql server

psql: 致命错误:  对用户"postgres"的对等认证失败

继续修改pg_hba.conf文件,将认证方式统一修改为trust(关于认证方式的说明见:http://www.cnblogs.com/EasonJim/p/9057867.html),并执行命令重启postgresql

/usr/pgsql-9.6/bin/pg_ctl restart -D /var/lib/pgsql/9.6/data

其中postgresql的执行文件目录为/usr/pgsql-9.6/bin,目录下包含以下程序:

-rwxr-xr-x  root root    2月   : clusterdb
-rwxr-xr-x  root root    2月   : createdb
-rwxr-xr-x  root root    2月   : createlang
-rwxr-xr-x  root root    2月   : createuser
-rwxr-xr-x  root root    2月   : dropdb
-rwxr-xr-x  root root    2月   : droplang
-rwxr-xr-x  root root    2月   : dropuser
-rwxr-xr-x  root root   2月   : initdb
-rwxr-xr-x  root root    2月   : pg_archivecleanup
-rwxr-xr-x  root root    2月   : pg_basebackup
-rwxr-xr-x  root root   2月   : pgbench
-rwxr-xr-x  root root    2月   : pg_config
-rwxr-xr-x  root root    2月   : pg_controldata
-rwxr-xr-x  root root    2月   : pg_ctl
-rwxr-xr-x  root root   2月   : pg_dump
-rwxr-xr-x  root root    2月   : pg_dumpall
-rwxr-xr-x  root root    2月   : pg_isready
-rwxr-xr-x  root root    2月   : pg_receivexlog
-rwxr-xr-x  root root    2月   : pg_resetxlog
-rwxr-xr-x  root root   2月   : pg_restore
-rwxr-xr-x  root root    2月   : pg_rewind
-rwxr-xr-x  root root    2月   : pg_test_fsync
-rwxr-xr-x  root root    2月   : pg_test_timing
-rwxr-xr-x  root root   2月   : pg_upgrade
-rwxr-xr-x  root root    2月   : pg_xlogdump
-rwxr-xr-x  root root  2月   : postgres
-rwxr-xr-x  root root     2月   : postgresql96-check-db-dir
-rwxr-xr-x  root root     2月   : postgresql96-setup
lrwxrwxrwx  root root        3月   : postmaster -> postgres
-rwxr-xr-x  root root   2月   : psql
-rwxr-xr-x  root root    2月   : reindexdb
-rwxr-xr-x  root root    2月   : vacuumdb

其中postgresql的数据文件目录为/var/lib/pgsql/9.6/data,目录下包含以下内容:

drwx------  postgres postgres     3月   : base
drwx------  postgres postgres   3月   : global
drwx------  postgres postgres      3月   : log
drwx------  postgres postgres     3月   : pg_clog
drwx------  postgres postgres      3月   : pg_commit_ts
drwx------  postgres postgres      3月   : pg_dynshmem
-rw-------  postgres postgres   3月   : pg_hba.conf
-rw-------  postgres postgres   3月   : pg_ident.conf
drwx------  postgres postgres     3月   : pg_log
drwx------  postgres postgres     3月   : pg_logical
drwx------  postgres postgres     3月   : pg_multixact
drwx------  postgres postgres     3月   : pg_notify
drwx------  postgres postgres      3月   : pg_replslot
drwx------  postgres postgres      3月   : pg_serial
drwx------  postgres postgres      3月   : pg_snapshots
drwx------  postgres postgres      3月   : pg_stat
drwx------  postgres postgres     3月   : pg_stat_tmp
drwx------  postgres postgres     3月   : pg_subtrans
drwx------  postgres postgres      3月   : pg_tblspc
drwx------  postgres postgres      3月   : pg_twophase
-rw-------  postgres postgres      3月   : PG_VERSION
drwx------  postgres postgres     3月   : pg_xlog
-rw-------  postgres postgres     3月   : postgresql.auto.conf
-rw-------  postgres postgres  3月   : postgresql.conf
-rw-------  postgres postgres     3月   : postmaster.opts
-rw-------  postgres postgres     3月   : postmaster.pid

再次登录:

psql -U postgres

登录成功,出现以下界面:

[root@dn08 ~]# psql -U postgres
psql ()
输入 "help" 来获取帮助信息.

postgres=#

在Centos上安装Postgre SQL的更多相关文章

  1. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  2. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  3. 在CentOS上安装rabbitmq-server

    ***在 CentOS 6.4上安装python*** 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 1,先安装GCC,用如下命令yum install gcc gcc-c++ ...

  4. CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH

    CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH 因为是centos linux,默认可以采用yum方 ...

  5. 如何在centos上安装epel源

    一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...

  6. 在Centos上安装RabbitMQ流程(转)

    在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...

  7. 在CentOS上安装ZooKeeper集群

    一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...

  8. CentOS上安装Node.js

    CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区  作者:maskdfe [字体:大 中 小]     CentOS上安装Node.js(想在Linux上学习No ...

  9. Linux系统入门学习:在CentOS上安装phpMyAdmin

    问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...

随机推荐

  1. vue去掉地址栏# 方法

    超简单 export default new Router({ //将mode 设置为‘history‘ 即可.默认情况是’hash’ 所以会有丑陋的# mode: 'history', routes ...

  2. python代码在linux终端中执行报错:Unable to init server: Could not connect: Connection refused

    python代码在linux终端中执行时报错: Unable to init server: Could not connect: Connection refused Unable to init ...

  3. SPAN, RSPAN, ERSPAN

    该文档摘自:Home > CCIE Routing and Switching Study Group > Discussions 由 Deben 于 2015-2-6 上午6:50 创建 ...

  4. leetcode929 Unique Email Addresses

    Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...

  5. shell中遍历数组的几种方式

    #!/bin/bash arr=( '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} d ...

  6. Library management system design requirements

    1)软件需求说明书 1. 引言 1.1 编写目的:本需求的编写是为了研究图书管理系统软件的开发途径和应用方法.同时它也是进行项目策划.概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和 ...

  7. Javascript中forEach的异步问题

    某天尝试了下在 forEach函数中调用 await Promise() 方法,如下: var arr = [1,2,3] arr.forEach(async (v,i,a)=>{ await ...

  8. mysql 多次分组查询 数据最大的一行

    SELECT B, D, Max(E)FROM `总表`WHERE B = '张士建'GROUP BY B, D 通过查询创建工具 编写查询语句

  9. idea中使用Autowired注入时报红,但是运行不报错

    在Preferences中如下设置,即可解除报红错误: 将Autowiring for Bean Class的Severity级别设置为Warning

  10. @ModelAttribute与@RequestBody的区别

    一.@ModelAttribute与@RequestBody的区别 @ModelAttribute与@RequestBody都是用来注解解析前端发来数据,并自动对应到所定义的字段名称. 这里先放结论, ...