PostgreSQL 是一种特性非常齐全的自由软件的对象-关系型数据库管理系统,是以加州大学计算机系开发的 POSTGRES 4.2版本为基础的对象关系型数据库管理系统。 POSTGRES 的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL 支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL 也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL 。
PostgreSQL 截止当前最新版本为 16.1,具体可查看官网https://www.postgresql.org/
PostgreSQL 二进制下载地址为 https://www.enterprisedb.com/download-postgresql-binaries。
安装的操作目录均在 POSTGRE_HOME 下。
初始化数据库用到的命令是 :initdb.exe:
命令 | 描述 |
---|---|
-A | –auth=METHOD 本地连接的默认认证方法;–auth-host=METHOD 本地的TCP/IP连接的默认认证方法;–auth-local=METHOD 本地socket连接的默认认证方法 |
-D | –pgdata=DATADIR 当前数据库簇的位置 |
-E | –encoding=ENCODING 为新数据库设置默认编码 |
-g | –allow-group-access 允许组对数据目录进行读/执行 |
-k | –data-checksums 使用数据页产生效验和;–locale=LOCALE 为新数据库设置默认语言环境;–lc-collate, --lc-ctype, --lc-messages=LOCALE;–lc-monetary, --lc-numeric, --lc-time=LOCALE;为新的数据库簇在各自的目录中分别 |
–no-locale | 等同于 --locale=C |
–pwfile=FILE | 对于新的超级用户从文件读取口令 |
-T | -text-search-config=CFG 缺省的文本搜索配置 |
-U | –username=NAME 数据库超级用户名 |
-W | –pwprompt 对于新的超级用户提示输入口令 |
-X | –waldir=WALDIR 预写日志目录的位置,–wal-segsize=SIZE WAL段的大小(兆字节) |
注:命令上的地址如果输入错误,再次执行可能提示不能给 DATA 文件夹权限,删除 DATA 重新创建即可
执行命令 initdb.exe -D E:\Repertory\Database\PostgreSQL -E UTF-8 --locale=chs -U admin -W
D:\Environment\Postgresql\15.3-3\bin>initdb.exe -D E:\Repertory\Database\PostgreSQL -E UTF-8 --locale=chs -U admin -W
属于此数据库系统的文件宿主为用户 "WONGS".
此用户也必须为服务器进程的宿主.
数据库簇将使用本地化语言 "Chinese_China.936"进行初始化.
initdb: 无法为本地化语言环境"Chinese_China.936"找到合适的文本搜索配置
缺省的文本搜索配置将会被设置到"simple"
禁止为数据页生成校验和.
输入相应的密码,等于设置数据库密码,(两次输入内容保持一致),此处我演示输入的是 12345678。在输入过程中不会显示输入内容,不影响操作。
执行命令 pg_ctl -D E:\Repertory\Database\PostgreSQL -l logfile start
-D DATA 文件夹
-l 生成日志文件,文件名可编辑此处演示为 logfile, 日志文件默认生成到 bin 目录下。
执行命令 pg_ctl register -N PostgreSQL -D E:\Repertory\Database\PostgreSQL,回车运行显示如下内容则表示运行成功
此刻打开任务管理器,在服务中检查 PostgreSQL 的服务是否存在。
如果在某些时候不需要该服务以服务名方式运行,则执行命令 pg_ctl unregister -N PostgreSQL。