PostgreSQL-12安装和简单操作

一、安装

1、yum安装

# 添加yum源
$ yum -y install https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# 安装PostgreSQL
$ yum -y install postgresql12 postgresql12-server postgresql12-contrib

# 检查版本信息
$ psql --version
psql (PostgreSQL) 12.3
2、初始化数据库

这里需要注意一下,初始化的时候可以指定postgresql的数据目录哦!

1)使用默认数据目录

yum安装的postgresql的默认数据目录为/var/lib/pgsql/12/data,直接初始化就行

/usr/pgsql-12/bin/postgresql-12-setup initdb

2)使用自己规划好的数据目录

如果已经规划好别的数据目录,可以在初始化的时候用-D参数指定数据目录。

# 新建数据目录
mkdir -p /data/postgresql/data

# 授权
chown -R postgres:postgres /data/postgresql/data

# 切换到postgres用户,初始化
$ su - postgres
-bash-4.2$ /usr/pgsql-12/bin/initdb -D /data/postgresql/data

# 修改postgresql的system.service文件
vim /usr/lib/systemd/system/postgresql-12.service
Environment=PGDATA=/data/postgresql/data/

# 重新加载系统服务
systemctl daemon-reload
3、启动 postgresql 服务
systemctl enable postgresql-12
systemctl start postgresql-12
systemctl status postgresql-12

postgresql会自动完成以下操作:

  • 自动生成一个linux系统用户postgres:管理数据库的系统用户

  • 数据库用户postgres:数据库超级管理员

  • 此用户的默认数据库为postgres

  • 可有修改下默认postgres数据库用户的密码:

    $ su - postgres    
    -bash-4.2$ psql 
    psql (12.3)
    Type "help" for help.
    
    postgres=# alter role postgres with password '123456';
    ALTER ROLE
    

二、修改配置

配置文件在数据目录中,由于我自定义了数据目录,所以是在/data/postgresql/data

cd /data/postgresql/data


vim postgresql.conf

# 修改监听的ip和端口
listen_addresses = '*' 


vim pg_hba.conf

#新增下面一行
host all all 0.0.0.0/0 password # 所有的用户通过任意IP都可以使用面膜的方式登录PostgreSQL

重启数据库

systemctl restart postgresql-12

三、数据库的基础操作

1、连接数据库控制台

在本机想连接到数据库,需要切换到postgres用户下,在postgres用户下连接数据库,是不需要密码的。

切换 postgres 用户后,提示符变成-bash-4.2$,使用psql连接到数据库控制台,此时系统提示符变为postgres=#,如下:

$ su - postgres    
-bash-4.2$ psql 
psql (12.3)
Type "help" for help.

postgres=# 
2、SQL控制台操作语句

数据库创建与修改

# 创建数据库
create database testdb;

# 删除数据库
drop database testdb;

# 重命名数据库(该数据库必须没有活动的连接)
alter database testdb rename to newname;

# 以其他数据库为模板创建数据库(表结构、数据都会复制)
create database newdb template testdb;

# 将查询结果写入文件
\o /tmp/test.txt
select * from test;

# 列状显示
\w

# 再一次\o关闭写入,否则是连续写入的
\o

# 退出控制台
\q

数据库用户创建和授权

# 建立新的数据库用户
create user durant with password '123456';

# 为新用户建立数据库
create database testdb owner durant;

# 把新建的数据库权限赋予新用户
grant all privileges on database testdb to durant;

四、认证方式

认证权限的配置文件为:pg_hba.conf

命令行的参数说明

  • -U username:用户名,默认值为postgres
  • -d dbname:要连接的数据库名,默认值为postgres。如果指定-d参数,则默认访问与用户名名称相同的数据库;
  • -h hostname:主机名,默认值为localhost
  • -p port:端口号,默认值5432;
1、认证方式

常见的四种身份验证方式:

  • trust:凡是能连接到服务器的,都是可信任的。只需要提供数据库用户名,可以没有对应的操作系统同名用户;
  • password 和 md5:对于外部访问,需要提供 psql 用户名和密码。对于本地连接,提供 psql 用户名密码之外,还需要有操作系统访问权(用操作系统同名用户验证)。password 和 md5 的区别就是外部访问时传输的密码是否用 md5 加密;
  • ident:对于外部访问,从 ident 服务器获得客户端操作系统用户名,然后把操作系统作为数据库用户名进行登录;对于本地连接,实际上使用了peer;
  • peer:通过客户端操作系统内核来获取当前系统登录的用户名,并作为psql用户名进行登录。
2、远程登录

要允许远程登录,需要修改配置文件中的监听ip和认证方式。

vim postgresql.conf

# 修改监听的ip和端口
listen_addresses = '*' 


vim pg_hba.conf

#新增下面一行
host all all 0.0.0.0/0 password

需要重启生效:

systemctl restart postgresql-12

验证:

[root@localhost ~]# psql -Upostgres -d postgres -h 192.168.0.125 -p 5432

参考文档:
https://www.cnblogs.com/sunhongleibibi/p/11943393.html

### 回答1: postgresql-42.2.5.jar是一个用于连接和操作 PostgreSQL 数据库的 Java 驱动程序。PostgreSQL 是一种免费开源的关系型数据库管理系统,它提供了高度的可靠性、可扩展性和安全性。 postgresql-42.2.5.jar 是一个可用于 Java 应用程序的库文件。它提供了一组类和方法,用于连接到 PostgreSQL 数据库,并执行各种数据库操作,如查询、插入、更新和删除数据。这个 JAR 文件可以被导入到 Java 项目中,并通过代码调用其提供的功能。 使用 postgresql-42.2.5.jar 可以方便地连接到 PostgreSQL 数据库,并与数据库进行交互。通过这个驱动程序,我们可以使用 Java 语言来编写应用程序,并通过 JDBC(Java 数据库连接)API 来执行数据库操作。这使得开发人员能够更轻松地访问和操作 PostgreSQL 数据库,并将数据库集成到他们的 Java 应用程序中。 postgresql-42.2.5.jar 还支持与其他相关工具和框架的整合,如 Hibernate、Spring 和 JPA(Java 持久化 API)。这些工具可以使开发人员更加便捷地处理数据库操作,提高开发效率。 总之,postgresql-42.2.5.jar 是一个重要的 Java 驱动程序,使开发人员能够连接和操作 PostgreSQL 数据库。它为我们提供了一些功能强大的类和方法,方便我们在 Java 应用程序中使用 PostgreSQL 数据库,并通过 JDBC API 进行各种数据库操作。 ### 回答2: postgresql-42.2.5.jar 是一个用于连接和操作 PostgreSQL 数据库的 Java 数据库连接驱动。它是由 PostgreSQL 全球开发组开发并维护的,是目前最新版本的 PostgreSQL 驱动程序。 postgresql-42.2.5.jar 可以在 Java 应用程序中提供与 PostgreSQL 数据库的连接和交互功能。通过使用该驱动程序,开发人员可以实现与数据库的通信,执行数据库查询,更新和删除数据等操作。它提供了与数据库服务器之间的稳定和可靠的连接,保证了数据的有效传输和一致性。 postgresql-42.2.5.jar 遵循 Java 数据库连接(JDBC)规范,因此可以与任何支持 JDBC 规范的 Java 应用程序配合使用。无论是基于 Java 的 Web 应用程序、桌面应用程序还是移动应用程序,都可以使用该驱动程序进行与 PostgreSQL 数据库的交互。 通过使用 postgresql-42.2.5.jar,开发人员可以轻松地实现与 PostgreSQL 数据库的连接和数据操作功能,无需手动处理连接和查询的复杂细节。它提供了一组方便的 API 和方法,使得数据库操作变得简单和高效。 总之,postgresql-42.2.5.jar 是一个重要的 Java 数据库连接驱动,它为开发人员提供了与 PostgreSQL 数据库进行稳定连接和数据交互的功能。使用该驱动程序,开发人员能够轻松地在 Java 应用程序中操作 PostgreSQL 数据库,实现高效的数据管理和查询。 ### 回答3: postgresql-42.2.5.jar是PostgreSQL数据库的Java连接器。它是用Java编写的,用于将Java应用程序与PostgreSQL数据库进行连接和交互。 该jar文件提供了一些类和方法,使开发人员能够在Java应用程序中执行各种数据库操作,如查询数据、插入数据、更新数据和删除数据。 通过使用postgresql-42.2.5.jar,开发人员可以轻松地在他们的Java应用程序中访问PostgreSQL数据库。它提供了简单易用的API,使开发人员能够以一种直观的方式与数据库进行交互。 此外,postgresql-42.2.5.jar还提供了一些额外的功能,如支持数据库事务处理、连接池管理等。它还具有高性能和可靠性,可用于处理大量的数据和复杂的数据库操作使用postgresql-42.2.5.jar可以帮助开发人员快速构建可靠和高效的Java应用程序,与PostgreSQL数据库进行数据交互。它是PostgreSQL社区开发的开源项目,得到了广泛的社区支持和更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值