cs-guide/docs/java-tutor/orm-tutor/pgsql/install-postgres.md
2022-11-23 23:42:45 +08:00

5.2 KiB
Raw Permalink Blame History

toc

安装postgres

1.1 PostgreSQL 下载

  • 首先打开PostgreSQL 官网,我们可以看到如下内容 20220325234721164822324116148.png
  • 点击上图中的 下载按钮 ,我们可以看到下面的界面 20220325234722164822324229419.png
  • 点击后我们会来到这个界面 20220325234722164822324261720.png
  • 再次点击后进入这个界面,这才是真正的下载页面。 20220325234723164822324367356.png
  • 下载完成后,管理员权限运行安装即可。

1.2 配置环境变量

新建环境变量如下:

PG_HOME
C:\Program Files\PostgreSQL\12

如图所示:
20220325234723164822324384269.png
追加Path 环境变量如下:

%PG_HOME%\bin\

如图所示:
20220325234723164822324394325.png
新建环境变量,配置内容如下:

PGDATA
C:\Program Files\PostgreSQL\12\data

如图所示:
20220325234723164822324350232.png
配置这个是为了简化命令执行,待会详细解释。

如果没有-D选项服务器将尝试使用环境变量PGDATA命名的目录。如果这个环境变量也没有提供则导致失败。

1.3 PostgreSQL 初始化

  • 安装完成后我们需要对数据库进行初始化初始化方法是执行initdb.exe.

在这里插入图片描述 :::tip

  • C:\Program Files\PostgreSQL\12\data 初始化执行之前是空的
  • C:\Program Files\PostgreSQL\12\data 初始化执行之后会看到多了很多文件。
    20220325234724164822324435889.png
  • 其中包括一个很核心的文件postgresql.conf
  • 正如下面我们打开它后看到的默认只能本地localhost 或127.0.0.1 访问 :::
#listen_addresses = 'localhost'  # what IP address(es) to listen on;
     # comma-separated list of addresses;
     # defaults to 'localhost'; use '*' for all
     # (change requires restart) 
  • 如果需要配置远程登录,则需要修改这个postgresql.conf 配置文件添加IP即可。

1.4 创建postgres用户

  • C:\Program Files\PostgreSQL\12\bin目录下执行如下命令:
createuser -s -r postgres

1.5 启动postgresql

由于我们之前配置了PGDATA 环境变量因此双击postgres.exe 即可启动 如果没有配置那么需要执行命令

postgres.exe -D  "C:\Program Files\PostgreSQL\12\data"

这种方式其实不是很友好,最佳实践是让他后台启动运行。
如果想做到这样,只需要输入如下命令即可:

postgres -D "C:\Program Files\PostgreSQL\12\data" >logfile 2>&1 &

:::tip 除此之外我们也可以执行如下命令启动

 pg_ctl start -l logfile

 su postgres -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' 

其实还有一种方法,配置成系统服务

  • 注册成系统服务: pg_ctl register -N PostgreSQL
  • 取消注册成系统服务: pg_ctl unregister N PostgreSQL
  • 删除服务sc delete PostgreSQL :::

1.6 客户端连接测试

1.6.1 SQL Shell (psql)命令行连接测试

安装完成后自带了一个命令行连接工具
20220325234724164822324449215.png
会依次提示你输入要连接的相关信息,最后登录完成后可以看到 有一个postgres=#
20220325234724164822324451728.png

1.6.2 客户端 pdAdmin 4 连接测试

安装完成后,其实这个软件自带了一个连接工具
20220325234725164822324591978.png
点击后默认打开网址 http://127.0.0.1:50010/browser/
点击图中的Add New Server ,创建一个服务器连接
20220325234725164822324589420.png

和刚才类似,输入相关信息就可以了。

之后我们可以看到如下内容 20220325234725164822324586011.png

1.6.3 客户端Navicat Permium 连接测试

20220325234726164822324696619.png

  • 账号就是刚才创建的用户,密码就是安装过程中输入的密码。
  • 默认端口是5432

连接成功后如下所示
20220325234726164822324680736.png

:::tip 如果出现找不到postgres角色的错误
原因是PostgreSQL角色没有被创建。运行命令createuser -s -r postgres 即可。

如果找不到createuser这个命令可以在\PostgreSQL\14\bin中找到。添加到系统path中或cd到这个文件夹再运行 :::

postgres升级

1使用pg_dumpall和psql -f的方式

这种方式当数据量大的时候性能较低,执行时间长

2pg_upgrade

pg_upgrade -b "C:\Program Files\PostgreSQL\10\bin" -B "C:\Program Files\PostgreSQL\12\bin" -d "C:\Program Files\PostgreSQL\10\data" -D "C:\Program Files\PostgreSQL\12\data" -U postgres