在Centos上安装Postgre SQL
检查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的更多相关文章
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置
简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...
- 在CentOS上安装rabbitmq-server
***在 CentOS 6.4上安装python*** 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 1,先安装GCC,用如下命令yum install gcc gcc-c++ ...
- CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH
CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH 因为是centos linux,默认可以采用yum方 ...
- 如何在centos上安装epel源
一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...
- 在Centos上安装RabbitMQ流程(转)
在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...
- 在CentOS上安装ZooKeeper集群
一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...
- CentOS上安装Node.js
CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区 作者:maskdfe [字体:大 中 小] CentOS上安装Node.js(想在Linux上学习No ...
- Linux系统入门学习:在CentOS上安装phpMyAdmin
问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...
随机推荐
- vue去掉地址栏# 方法
超简单 export default new Router({ //将mode 设置为‘history‘ 即可.默认情况是’hash’ 所以会有丑陋的# mode: 'history', routes ...
- 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 ...
- SPAN, RSPAN, ERSPAN
该文档摘自:Home > CCIE Routing and Switching Study Group > Discussions 由 Deben 于 2015-2-6 上午6:50 创建 ...
- leetcode929 Unique Email Addresses
Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...
- shell中遍历数组的几种方式
#!/bin/bash arr=( '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} d ...
- Library management system design requirements
1)软件需求说明书 1. 引言 1.1 编写目的:本需求的编写是为了研究图书管理系统软件的开发途径和应用方法.同时它也是进行项目策划.概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和 ...
- Javascript中forEach的异步问题
某天尝试了下在 forEach函数中调用 await Promise() 方法,如下: var arr = [1,2,3] arr.forEach(async (v,i,a)=>{ await ...
- mysql 多次分组查询 数据最大的一行
SELECT B, D, Max(E)FROM `总表`WHERE B = '张士建'GROUP BY B, D 通过查询创建工具 编写查询语句
- idea中使用Autowired注入时报红,但是运行不报错
在Preferences中如下设置,即可解除报红错误: 将Autowiring for Bean Class的Severity级别设置为Warning
- @ModelAttribute与@RequestBody的区别
一.@ModelAttribute与@RequestBody的区别 @ModelAttribute与@RequestBody都是用来注解解析前端发来数据,并自动对应到所定义的字段名称. 这里先放结论, ...