PostgreSQL(二)------centos下安装PostgreSQL9.6数据库

环境:

CentOS 7 64-bit

PostgreSQL 9.6

官网安装教程

https://wiki.postgresql.org/wiki/YUM_Installation

一、安装PostgreSQL 9.6

1、安装 yum 源

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

2、安装完毕后更新源信息

yum update

3、列出可用的postgresql 包

yum list postgresql *

4、安装PostgreSQL

postgresql96-server 数据库核心服务端

postgresql96-contrib 附加第三方扩展

postgresql96-devel C语言开发Header头文件和库

yum install postgresql96-server postgresql96-contrib postgresql96-devel

安装后,可执行文件在 /usr/pgsql-9.6/bin/, 数据和配置文件在 /var/lib/pgsql/9.6/data/

5、将postgresql 加入系统PATH

vi /etc/profile
# 在文件最后加入以下语句
export PATH=$PATH:/usr/pgsql-9.6/bin  
source /etc/profile
postgres --version
# 返回 postgres (PostgreSQL) 9.6.16

卸载PostgreSQL

#yum erase postgresql96

二、初始化数据库

安装软件包后,需要初始化和配置数据库。

/usr/pgsql-9.6/bin/postgresql96-setup initdb

三、启动服务

#设置开机自启
systemctl enable postgresql-9.6.service
 #启动服务
systemctl start postgresql-9.6.service
#重启服务
systemctl restart postgresql-9.6 
#服务状态
systemctl status postgresql-9.6
#查看进程
ps -ef|grep postgres

四、操作PostgreSQL数据库

4.0、修改Linux 系统用户 postgres 密码

PostgreSQL安装后会创建一个默认的linux用户postgres,密码是随机生成的,这里我们需要重新设置密码。

#删除用户postgres的密码
sudo  passwd -d postgres
#设置用户postgres的密码
sudo -u postgres passwd
#设置的密码
@2020qazQAZ

4.1、修改PostgreSQL 默认数据库用户postgres密码

PostgreSQL 数据库安装完成,会自动生成一个名为postgres的数据库用户。

#切换至系统用户 postgres登录
su  -  postgres
#连接数据库(postgres),-U 后面接连接数据库名称
#说明:-h表示主机(Host),-p表示端口(Port),-U表示用户(User
psql -U postgres

输入psql后,会出现如下

postgres =
#修改数据库用户postgres 的密码
ALTER USER postgres with encrypted password 'postgres';

4.2、在名为postgres的默认数据库中创建名为test的模式

postgres = #CREATE SCHEMA test;

4.3、使用密码创建角色(用户)

 postgres = #CREATE USER xxx PASSWORD 'yyy';

4.4、退出数据库

postgres =#\ q

4.5、退出用户

-bash-4.2$ exit

五、PostgreSQL常用命令

5.1、控制台常用命令

\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

5.2、数据库基本操作指令

# 创建新表
CREATE TABLE user_tbl(name VARCHAR(200));

# 插入数据
INSERT INTO user_tbl(name) VALUES('张三');

# 选择记录
SELECT * FROM user_tbl;

# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';

# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;

# 删除表格
DROP TABLE IF EXISTS user_tbl ;

六、本地连接PostgreSQL

一般这里直接使用使用navicat连接本地,PostgreSQL数据库时报错:

could not connect to server: Connection refused (0x0000274D/10061)  
Is the server running on host"localhost" (:1)
and acceptingTCP/IP connections on port 5433 ?

6.1、检查服务是否启用

#启用服务
systemctl restart  postgresql-9.6

6.2、防火墙或端口号

PostgreSQL默认是5432端口号

#防火墙添加5432端口:
firewall-cmd --permanent --zone=public --add-port=5432/tcp

#重新加载
firewall-cmd --reload
#重启防火墙
systemctl restart firewalld.service

#检查5432端口号是否有效
firewall-cmd --zone=public --query-port=5432/tcp

6.3、PostgreSQ配置文件是否修改正常

如果到了这一步,本地还是无法连接,一般都是配置文件,未修改,或改动有误导致的

修改postgresql.conf配置文件

默认安装在 /var/lib/pgsql/9.6/data/

#监听本地ip地址的连接
#listen_addresses = 'localhost'
#监听所有ip地址的连接
listen_addresses = '*'

修改pg_hba.conf配置文件

最下面添加

host    all         all         127.0.0.1/32          md5

在这里插入图片描述

重启服务,连接正常。


如果你觉得本篇文章对你有所帮助的话,麻烦请点击头像右边的关注按钮,谢谢!

技术在交流中进步,知识在分享中传播

发布了166 篇原创文章 · 获赞 212 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/qq_29914837/article/details/100610312