温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Centos7安装和配置Postgresql数据库及Navicat连接

发布时间:2021-07-02 16:00:50 来源:亿速云 阅读:478 作者:chen 栏目:大数据

这篇文章主要讲解了“Centos7安装和配置Postgresql数据库及Navicat连接”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Centos7安装和配置Postgresql数据库及Navicat连接”吧!

Postgresql官网Linux Red Hat族系统的Postgresql的下载安装地址:

https://www.postgresql.org/download/linux/redhat/

1.安装最新版

进入网址,可以根据提示安装最新的Postgresql11:

Centos7安装和配置Postgresql数据库及Navicat连接

对应的shell代码:

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install postgresql11
yum install postgresql11-server
/usr/pgsql-11/bin/postgresql-11-setup initdb        //首次初始化数据库,只能初始化一次
systemctl enable postgresql-11       //开启系统登陆自启动
systemctl start postgresql-11            //开启服务

2.安装包含于Linux发行版本的Postgresql

安装Centos7发行版本中的Postgresql9.2:

yum install postgresql-server
postgresql-setup initdb     //首次初始化数据库,只能初始化一次
systemctl enable postgresql.service  //设置开机自启动,可不开启,但是每次使用都需要开启服务
systemctl start postgresql.service     //开启服务

Centos7安装和配置Postgresql数据库及Navicat连接

关闭服务:systemctl stop postgresql.service

重启服务:systemctl restart postgresql.service

3.【补充】如何再次初始化

直接再次执行初始化命令会报错:

Centos7安装和配置Postgresql数据库及Navicat连接

因为Postgresql默认路径/var/lib/pgsql/下的data文件夹非空

查看一下:ll -lhtr /var/lib/pgsql/data

删除里面的所有文件:rm -rf /var/lib/pgsql/data/*

重新运行初始化:postgresql-setup initdb

Centos7安装和配置Postgresql数据库及Navicat连接

4.为Postgresql添加新用户和新数据库

初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。同时还生成了一个名为postgres的Linux系统用户。

(1)使用postgres用户,来生成其他用户和新数据库。

切换到postgres用户:# su - postgres

Centos7安装和配置Postgresql数据库及Navicat连接

下一步,使用psql命令登录PostgreSQL控制台:

Centos7安装和配置Postgresql数据库及Navicat连接

这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台。

先使用\password postgres命令,为postgres用户设置一个密码:

(或者通过命令alter user postgres password 'YourPassword';来设置用户postgres的密码)

Centos7安装和配置Postgresql数据库及Navicat连接

使用\q命令(或直接按ctrl+D)退出。再次登陆就需要密码了:

Centos7安装和配置Postgresql数据库及Navicat连接

仅创建数据库用户不创建对应的linux用户,创建一个名字为testuser的用户:

CREATE USER testuser WITH PASSWORD 'abc';

Centos7安装和配置Postgresql数据库及Navicat连接

创建一个名为test1的测试数据库:create database test1;

(这里为创建用户数据库,可以指定所有者:CREATE DATABASE test1 OWNER testuser;)

Centos7安装和配置Postgresql数据库及Navicat连接

test1数据库的所有权限都赋予testuser,否则testuser只能登录控制台,没有任何数据库操作权限。

GRANT ALL PRIVILEGES ON DATABASE test1 to testuser;

Centos7安装和配置Postgresql数据库及Navicat连接

最后测试:

Centos7安装和配置Postgresql数据库及Navicat连接

5.【补充】Postgresql数据库基本命令

登陆命令:psql -h 127.0.0.1 -U testuser -d test1 -p 5432

psql命令参数说明:

-h:数据库IP 
-U:登录用户 
-d:登录的数据库 
-p:登录端口

\dt:列出当前数据库所有表

Centos7安装和配置Postgresql数据库及Navicat连接

列出表名

SELECT   tablename   FROM   pg_tables;
WHERE   tablename   NOT   LIKE   'pg%'
AND tablename NOT LIKE 'sql_%' 
ORDER   BY   tablename;

\l:列出数据库名(或 SELECT datname FROM pg_database;

\c [数据库名]:切换数据库

\d [数据库] :得到所有表的名字

\d [表名] : 得到表结构

通过SQL语句查询

select * from pg_tables :得到当前db中所有表的信息(这里pg_tables是系统视图)

select tablename from pg_tables where schemaname='public':得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)

6.配置第三方用户登陆数据库

完成以上配置,数据库仅仅只能进入对应数据库名字的linux用户下,才能进入访问,否则报Ident错误和Navicat无法连接成功。

Centos7安装和配置Postgresql数据库及Navicat连接

查找数据库的配置文件:# find / -name pg_hba.conf

打开:# vi /var/lib/pgsql/data/pg_hba.conf

将没注释掉的那3个的验证方法的peerident修改md5

Centos7安装和配置Postgresql数据库及Navicat连接

【说明】:

METHOD指定如何处理客户端的认证。常用的有ident,md5,password,trust,reject

ident是Linux下PostgreSQL默认的local认证方式,凡是能正确登录服务器的操作系统用户(注:不是数据库用户)就能使用本用户映射的数据库用户不需密码登录数据库。用户映射文件为pg_ident.conf,这个文件记录着与操作系统用户匹配的数据库用户,如果某操作系统用户在本文件中没有映射用户,则默认的映射数据库用户与操作系统用户同名。比如,服务器上有名为user1的操作系统用户,同时数据库上也有同名的数据库用户,user1登录操作系统后可以直接输入psql,以user1数据库用户身份登录数据库且不需密码。很多初学者都会遇到psql -U username登录数据库却出现“username ident 认证失败”的错误,明明数据库用户已经createuser。原因就在于此,使用了ident认证方式,却没有同名的操作系统用户或没有相应的映射用户。解决方案:

1、在pg_ident.conf中添加映射用户;

2、改变认证方式:

md5是常用的密码认证方式,如果你不使用ident,最好使用md5。密码是以md5形式传送给数据库,较安全,且不需建立同名的操作系统用户。

password是以明文密码传送给数据库,建议不要在生产环境中使用。

trust是只要知道数据库用户名就不需要密码或ident就能登录,建议不要在生产环境中使用。

reject是拒绝认证。

在文件查找 listen_addresses,他的值说明如果希望只能从本地计算机访问PostgreSQL数据库,就将该项设置为localhost

如果希望从局域网访问PostgreSQL数据库,就将该项设置为PostgreSQL数据库的局域网IP地址;

如果希望从互联网访问PostgreSQL数据库,就将该项设置为PostgreSQL数据库的互联网IP地址;

如果希望从任何地方都可以访问PostgreSQL数据库,就将该配置项设置为“*”;

7.配置Navicat可视化管理工具

列出所有端口:netstat -ntlp

Centos7安装和配置Postgresql数据库及Navicat连接

把端口和密码对应填入,测试连接,如果报Ident错误,请执行步骤6,最后点击确定即可。

Centos7安装和配置Postgresql数据库及Navicat连接

感谢各位的阅读,以上就是“Centos7安装和配置Postgresql数据库及Navicat连接”的内容了,经过本文的学习后,相信大家对Centos7安装和配置Postgresql数据库及Navicat连接这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI