jpanel不使用jframe保存的图片为空_Postgresql-12.1最新版本在线安装以及配置使用全流程...

Postgresql-12.1最新版本在线安装以及配置使用全流程

Postgresql-12.1简单介绍

4db50ea627554ae093f60c44319011c8

PostgreSQL 12.1 已经发布,该版本在各方面都得到了加强,包括显著地提升查询性能,特别是对大数据集,总的空间利用率方面。

这个版本主要几大特点如下

  • 全面的性能提升, 尤其是对索引和分区子系统

  • 对SQL标准一致性增强,优化 公共表达式,也称之为 WITH 查询

  • 授权控制,支持 OpenLDAP 模块

  • 系统管理优化,无感重建索引

  • JSON查询增强优化

    当然,除此之外还有许多新特性,在此不再赘述。

安装方式选择

二进制下载编译
下载仓库,在线安装

通过下载最新仓库Repository 在线安装,支持相关服务、客户端、以及相关插件,并且能通过更新仓库获取最新支持版本,推荐下载仓库安装。

在线仓库安装支持系统
  • Red Hat Enterprise Linux

  • CentOS

  • Scientific Linux

  • Oracle Linux

  • Fedora

yum源仓库添加

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm 

安装

  • 服务端安装

yum install postgresql12-server 
  • 客户端安装

yum install postgresql12-server 

初始化配置

  • 更新数据保存位置

    • vi /usr/lib/systemd/system/postgresql-12.service

    • 找到Environment=PGDATA=/var/lib/pgsql/12/data/,将当前数据保存位置更新成自己指定位置

  • reboot系统

    默认保存位置/var/lib/pgsql/12/data

  • 启动服务

    • 配置特定网段访问

    • 允许所有IP 都可以连接

    • listen_addresses

      参数含义:指定数据库用来监听客户端连接的TCP/IP地址。

      参数优化:如需接受其他Client的连接请求,需修改为*

    • max_connections

      参数含义:数据库可以同时建立的最大的客户端连接的数目。

      参数优化:根据业务应用情况和主机配置设置。不宜设置过大,如连接数大于一定数量(与机器配置相关)时,会因为进程上下文的频繁切换导致性能降低。

    • shared_buffers

      参数含义:数据库共享内存缓冲区大小,决定有多少内存可以被PostgreSQL用于缓存数据,该缓冲区为所有连接共用。

      参数优化:服务器内存较小时设置为服务器内存的25%-40%,内存较大时可适当设置。

    • work_mem

      参数含义:内部排序和哈希操作可使用的工作内存大小。

      参数优化:全局设置此参数可能会导致内存使用率过高,即当同时有多个会话进行排序操作时,每个会话会分配到这个参数大小的内存。设置不宜过大。如果要使用语句中有较大的排序操作,可以在会话级别设置该参数(如:set work_men = ‘2GB’)。

    • 初始化数据库

      /usr/pgsql-12/bin/postgresql-12-setup initdb
    • 启动以及开机自启

      systemctl start postgresql-12systemctl enable postgresql-12
    • 配置文件postgresql.conf基本属性修改

      前面所述,数据存储文件位置默认为/var/lib/pgsql/12/data/

    • 配置文件pg_hba.conf配置网络访问权限

      host all all 192.10.99.0/24 trust

      其意义是允许 192.10.99网段的IP 连接此服务器上的PG.

      host all all 0.0.0.0/0 trust
    • 配置完毕务必重启应用

      systemctl restart postgresql-12

防火墙设置

  • 查看防火墙访问端口列表

    firewall-cmd --zone=public --list-ports

    添加5432端口

  • firewall-cmd --zone=public --add-port=5432/tcp --permanent

    重启防火墙

  • firewall-cmd --reload

数据库登录操作

  • 默认密码修改

# 默认密码为空,切换到postgres用户

su postgres

# 进入pg数据库,默认密码为空

psql -U postgres

# 更新密码

ALTER USER postgres with encrypted password 'xxx';

# 退出

q;

  • 数据库以及用户创建

    psql -U postgres;create user username with password 'xxx';create database blog owner username ;grant all privileges on database blog to username ;
  • 扩展安装

    postgresql程序不包含uuid生成函数,需安装插件包添加uuid生成函数 uuid_generate_v4() 。

    #安装拓展包yum install postgresql12-devel 

    数据库切换命令:

     c database_name 
    • 为当前数据库创建函数

      CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
    • 验证函数

      select uuid_generate_v4()
    • postgresql切换到需要安装插件的数据库

    • 插件安装

      yum -y install postgresql12-contrib
要给JPanel添加背景图片,可以通过以下步骤实现: 1. 创建一个继承自JPanel的类,命名为BackgroundPanel。 2. 在BackgroundPanel中添加一个BufferedImage类型的属性,用于保存背景图片。 3. 在BackgroundPanel的构造方法中,将背景图片加载到BufferedImage中。 4. 重写BackgroundPanel的paintComponent方法,在该方法中将背景图片绘制在JPanel上。 下面是具体的代码实现: ``` import java.awt.Dimension; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; public class BackgroundPanel extends JPanel { private BufferedImage backgroundImage; public BackgroundPanel(String imagePath) { try { backgroundImage = ImageIO.read(new File(imagePath)); } catch (IOException e) { e.printStackTrace(); } } @Override public Dimension getPreferredSize() { return new Dimension(backgroundImage.getWidth(), backgroundImage.getHeight()); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(backgroundImage, 0, 0, null); } } ``` 使用匿名内部类的方式创建JPanel并添加背景图片的示例如下: ``` import javax.swing.JFrame; public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); // 使用匿名内部类创建BackgroundPanel并设置背景图片 JPanel panel = new BackgroundPanel("background.jpg") { @Override public Dimension getPreferredSize() { return new Dimension(800, 600); } }; frame.add(panel); frame.pack(); frame.setVisible(true); } } ``` 在上面的示例中,我们使用了匿名内部类的方式来创建BackgroundPanel,并且重写了getPreferredSize方法,以指定JPanel的大小。同时,我们也在构造方法中加载了背景图片,并在paintComponent方法中将背景图片绘制在JPanel上。最后,我们将创建好的BackgroundPanel添加到JFrame中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值