PostgreSQL安装、验证安装、pgAdmin初步简单使用
引言
安装postgreSQL过程一直报错,安装时提示启动失败、集群初始化失败。后来终于安装成功了。
安装环境:Win7、PostgreSQL 10.10.1
PostgreSQL官方Windows版本下载地址:https://www.postgresql.org/download/windows/
数据库安装
基本步骤
- 在Windows上创建名为postgres的账户,并设置为管理员权限;
- 创建“程序的安装目录”的文件夹,并将该文件夹的postgres用户的权限设置为完全权限;
- 切换到Windows的postgres账户,并开始安装,将安装路径设置为已授予完全控制权限的文件夹;
- 在安装进度条的末尾会弹出英文对话框:Problem running post-install step. Installation may not complete correctly The database cluster initialisation failed.意思是创建集群失败。先不用管它,关闭对话框,继续等待安装完毕;
- 安装完毕后,若发现data文件夹中没有东西,并且Windows服务中没有它的服务项,即使手动添加了服务也无法启动,此时按下一步骤走。若有文件,且Windows服务中也有PostgreSQL服务,则说明安装成功,可以直接开始安装验证步骤;
- 进行创建数据集群操作:使用cmd进入程序安装目录下的bin文件夹,并输入:initdb -D “D:/PostgreSQL/10/data” -E UTF-8 --locale=Chinese,引号中的内容按实际data文件夹的路径填写。命令成功后,会在data文件夹中出现24个对象(即文件和文件夹,并且数量可能因数据库版本不同而出现差异);
- 进行注册Windows服务操作:继续在cmd中进入bin文件夹,并输入:pg_ctl register -N PostgreSQL -D “D:/PostgreSQL/10/data/” ,引号中的内容按实际data文件夹的路径填写。命令成功后,cmd中不会有任何反馈。若再次输入该命令,cmd中则会显示:服务“PostgreSQL”已经注册;
注意事项
- 上面的第三步若没有授予全部权限,则可能出现新报错。(重要)
- 不要安装到C:\Windows、C:\Program Files或C:\Program Files (x86)这三个目录下。(重要)
- 若出现Problem running post-install step. Installation may not complete correctly Failed to start the database server 报错对话框,则可能是Windows未创建postgres账户。
- 有人说安装过程会向防火墙中写入规则,所以需要开启防火墙。不过我没有去尝试验证。
- 有人说主机名和用户名都必须为英文,且不能有空格。为了保险起见,我的安装路径也是纯英文且没空格。
重新安装
如果想要重新安装,则需要完全卸载该数据库,包括在程序和功能中卸载程序、在目录文件夹中删除文件以及在注册表中删除注册项。
本节内容引自博客:重新postgresql出现错误 - zjfl
-
程序和功能中卸载Postgre程序:在“运行”中输入appwiz.cpl,进入“程序和功能”,找到postgre程序并右键卸载。
-
删除之前创建的程序安装目录的文件夹,因为该文件夹内可能包括卸载程序后仍未删除的配置等文件。
-
注册表中删除相关项(此操作需谨慎,不要误删了其它注册表项,可以考虑先备份整个注册表)。通过在“运行”中输入regedit进入“注册表编辑器”,在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE中的software中将相关的postgresql删掉。
-
进入cmd — net user(作用:查看用户):查看是否有postgres这个用户,若有但又不记得密码,则想办法修改密码;若没有则创建一个postgres用户。
-
在其他位置重新创建程序的安装目录的文件夹,只要是之前没在该目录下安装过postgresql的文件夹就可以。当然,若是你要把之前安装的目录删掉,在“电脑管家”中“清理垃圾”,再重新在该位置中新建该目录。那么我可以告诉你不要这样做,因为是不可以的,我以多次尝试到的失败告诉你不要这样做。
-
按基本步骤重新开始安装。
安装验证
SQL shell (psql)方式验证
- 打开所有程序,找到PostgreSQL 10列表,选择SQL Shell(psql);
- cmd中需要打字输入的项,全部直接按回车,若无报错,则该数据库安装运行无误。
- 若出现 psql: FATAL: role “postgres” does not exist 提示,说明在数据库中还未创建postgres用户,需要手动创建:
a. 打开SQL Shell(psql),并以Administrator登录。(Username项输入Administrator,其他项直接回车)
b. 登录进入数据库后,输入CREATE USER postgres SUPERUSER; 命令用来创建postgres角色。
(参考网址:解决 FATAL:role “postgres” does not exist)
pgAdmin初步使用
参考网址:
1、pgAdmin4的应用(一) - 殇莫忆
2、菜鸟教程网站:PostgreSQL 教程
启动pgAdmin
1.启动pgAdmin 4,会在右下角出现对应图标,并且会在浏览器中自动打开管理页面。
设置为中文
1.输入安装时的密码,并点击打开配置页面,设置为中文。设置完毕需重启pgAdmin。
创建数据库
1.需要先创建连接,再在“连接”中创建数据库。右键点击Servers—>创建—>服务器
2.填入名称,其他项默认不用修改。再点击连接,进入连接tab页
3.输入主机名称或IP,该主机需要搭建了该postgresSQL数据库。其他项默认不用修改,点击保存
4.打开test连接,右键点击“数据库”—>创建—>数据库
5.输入数据库名称,其他项可据实际情况填写
创建表
1.打开创建的数据库
2.打开“架构”
3.打开"public"
4.右键点击"表"—>“创建”—>“表”
5.常规tab页中,填入表的名称
6.点击+号,增加一个元数据。双击空格位置,填写相应内容。其数据类型与其他数据库不太一致,可以查看菜鸟教程网站了解
更改表的元数据
1.在需要更改元数据的表上右击,再选择“属性”
界面化插入数据
1.在对应表上右键—>“查看/编辑数据”—>“所有行”
2.出现如下页面
编写SQL语句
顶部菜单栏—>工具—>查询工具。闪电按钮为执行按钮。
PostgreSQL存储过程
详见下一篇 :PostgreSQL的存储过程及基本使用