检查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. python 的头文件包含问题

    一个python项目中一个文件需要引用另一个文件中的类,遇到的几个问题,总结如下: 0x01 情况一:在同一目录下 project |--a.py |--b.py |--main.py 在main.p ...

  2. 计算机二级-C语言-程序修改题-190108记录-字符串处理

    //程序修改题:给定程序MODI1.C中函数fun的功能是:先将字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面.例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为 ...

  3. getter和setter

    /* 对象属性是由名字.值和自足特性构成的. 属性值可以用一个或两个方法替代,这两个方法就是getter和setter. 由getter和setter定义的属性称作“存取器属性” */ /* 定义存取 ...

  4. 用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)

    (软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...

  5. RedHat7.0 网络源的配置

    RedHat7.0 yum源的配置 写这篇随笔的目的 为了记录自己的操作,能够为以后的再次配置提供参考 因为网上的教程都有些年代了,为了方便其他同学方便配置 提高下自己的写作水平 参考资料 RedHa ...

  6. Java面向对象编程 -6.3

    foreach迭代输出 对于数组而言,一般都会使用for循环进行输出,但是在使用传统for循环的时候往往采用下标的形式进行数组元素的访问. 但是在jdk1.5之后为了减轻下标对数组的影响(如果数组下标 ...

  7. css实现单行和多行省略号

    1.单行省略 { width:300px; overflow: hidden; text-overflow:ellipsis; whitewhite-space: nowrap; } 注:单行省略必须 ...

  8. STUN和TURN协议解析

    在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要 ...

  9. SpringBoot 配置 Redis 多缓存名(不同缓存名缓存失效时间不同)

    import com.google.common.collect.ImmutableMap; import org.springframework.cache.CacheManager; import ...

  10. loadrunner测试sql语句性能

    最初的想法是是想通过录制在SQL Server2008的操作来着的,无奈试了即便都录不到查询的sql语句,网上查资料全是关于SQL 2000的(这部分有经验的欢迎指教). 于是只能通过直接调用load ...