/**PageBeginHtml Block Begin **/ /***自定义返回顶部小火箭***/ /*生成博客目录的JS 开始*/ /*生成博客目录的JS 结束*/

Windows上PostgreSQL安装配置教程

Windows上PostgreSQL安装配置教程

这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

PostgreSQL的扩展PostGIS是最著名的开源GIS数据库。
安装PostgreSQL是第一步。

1.下载PostgreSQL的二进制安装文件。

PostgreSQL官网–>Download–>Windows 64位,如图所示:

(1)官网:


https://www.postgresql.org/

(2)Download:


https://www.postgresql.org/download/

https://www.postgresql.org/download/windows/

(3)Windows 64位(根据自己系统版本选择)


https://www.enterprisedb.com/download-postgresql-binaries

image

2.解压压缩包,配置环境变量

 

image

 

 

(1)首先在pgsql(F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql)文件夹下建立一个名为data的文件夹(这是数据库的数据存储文件夹)

(2)然后在pgsql文件夹下新建一个名为env.vbs的文件


文件内容如下:

  1 on error resume next
  2 set sysenv=CreateObject("WScript.Shell").Environment("system") 'system environment array
  3 Path = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path 'add variable
  4 sysenv("PGHOME")="F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql"
  5 sysenv("PGHOST")="localhost"
  6 sysenv("Path")=sysenv("PGHOME")+"\bin;"+sysenv("Path")
  7 sysenv("PGLIB")=sysenv("PGHOME")+"\lib"
  8 sysenv("PGDATA")=sysenv("PGHOME")+"\data"
  9 
 10 wscript.echo "PostgreSQL Success"

(3)最后运行此脚本

3.初始化数据库

说明:CMD要以管理员方式启动

Microsoft Windows [版本 10.0.17763.4131]
(c) 2018 Microsoft Corporation。保留所有权利。

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql>cd bin

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>initdb -D F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\data
属于此数据库系统的文件宿主为用户 "Alan_Liu".
此用户也必须为服务器进程的宿主.
数据库簇将使用本地化语言 "Chinese (Simplified)_China.936"进行初始化.
本地化隐含的编码 "GBK" 不允许作为服务器端的编码.
默认的数据库编码将采用 "UTF8" 作为代替.
initdb: 无法为本地化语言环境"Chinese (Simplified)_China.936"找到合适的文本搜索配置
缺省的文本搜索配置将会被设置到"simple"

禁止为数据页生成校验和.

修复已存在目录 F:/Db_files/postgresql-15.2-2-windows-x64-binaries/pgsql/data 的权限 ... 成功
正在创建子目录 ... 成功
选择动态共享内存实现 ......windows
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 128MB
选择默认时区 ... Asia/Shanghai
创建配置文件 ... 成功
正在运行自举脚本 ...成功
正在执行自举后初始化 ...成功
同步数据到磁盘...成功

initdb: 警告: 为本地连接启用"trust"身份验证
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.

成功。您现在可以用下面的命令开启数据库服务器:

    pg_ctl -D ^"F^:^\Db^_files^\postgresql^-15^.2^-2^-windows^-x64^-binaries^\pgsql^\data^" -l 日志文件 start



F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>pg_ctl unregister -N postgresql
pg_ctl: 服务 "postgresql" 没有注册

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>pg_ctl register -D "E:\postgresql-11.12-2-windows-x64-binaries\pgsql/data"



 
F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin> pg_ctl start -w -D "E:\postgresql-11.12-2-windows-x64-binaries\pgsql\data"
等待服务器进程启动 ....2021-07-27 14:19:15.925 HKT [8232] 日志:  正在监听IPv6地址"::1",端口 5432
2021-07-27 14:19:15.925 HKT [8232] 日志:  正在监听IPv4地址"127.0.0.1",端口 5432
2021-07-27 14:19:16.052 HKT [1204] 日志:  数据库上次关闭时间为 2021-07-27 14:17:30 HKT
2021-07-27 14:19:16.081 HKT [8232] 日志:  数据库系统准备接受连接
 完成
服务器进程已经启动

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>net user postgres postgres /add
命令成功完成。


F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>net user alan_ps  123456  /add
命令成功完成。


F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>net user

\\DESKTOP-1C66RN1 的用户帐户

-------------------------------------------------------------------------------
Administrator            Alan_Liu                 alan_ps
DefaultAccount           Guest                    postgres
WDAGUtilityAccount
命令成功完成。

# 创建角色

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>createuser -s -r postgres

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>createuser -s -r iFunk

E:\postgresql-11.12-2-windows-x64-binaries\pgsql\bin>

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>psql -h localhost -p 5432 -U postgres -W postgres
口令:
psql (15.2)
输入 "help" 来获取帮助信息.

postgres=# select  * from pg_database;
  oid |  datname  | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datfrozenxid | datminmxid | dattablespace |           datcollate           |            datctype            | daticulocale | datcollversion |               datacl
-----+-----------+--------+----------+----------------+---------------+--------------+--------------+--------------+------------+---------------+--------------------------------+--------------------------------+--------------+----------------+-------------------------------------
    5 | postgres  |     10 |        6 | c              | f             | t            |           -1 |          716 |          1 |          1663 | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |              |                |
    1 | template1 |     10 |        6 | c              | t             | t            |           -1 |          716 |          1 |          1663 | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |              |                | {=c/Alan_Liu,Alan_Liu=CTc/Alan_Liu}
    4 | template0 |     10 |        6 | c              | t             | f            |           -1 |          716 |          1 |          1663 | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |              |                | {=c/Alan_Liu,Alan_Liu=CTc/Alan_Liu}
(3 行记录)


postgres=#











说明:


管理员身份打开命令提示符,定位到bin目录下,输入以下命令:

产生data资料

代码如下:

initdb -D F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\data


删除一个服务:

增加一个服务:

pg_ctl register  -D "F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\data"


启动服务
pg_ctl start -w -D "F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\data"

创建用户postgres,密码同样是postgres:

net user postgres postgres /add

可以修改配置文件的配置,比如端口,默认为 5432,当创建多个数据库实例时,需要配置不同的端口才能启动。



4、启动 vs 停止,注册 Windows 服务

start: pg_ctl -D D:/Programs/pgsql/data -l D:/Programs/pgsql/data/mydb.log start
stop: pg_ctl -D D:/Programs/pgsql/data stop


5、 将其注册成 windows 服务,随机启动:


1、首先,在 data 目录下创建一个 start.bat

@echo off

pg_ctl -D F:/Db_files/postgresql-15.2-2-windows-x64-binaries/pgsql/data -l F:/Db_files/postgresql-15.2-2-windows-x64-binaries/pgsql/data/mydb.log start


image



上面的目录信息,必须跟创建的数据库实例的目录一致!

2、通过 sc 注册服务

sc create pgsqlservice binPath=F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\data\start.bat start=auto


image

image



需要注意两点:

必须使用管理员权限打开 CMD 窗口,不然没有权限;
命令中 = 后面必须有空格,这个格外需要注意;
 




6、创建PostgreSQL用户和它要找的那个相符


createuser --superuser postgres

查看系统用户
net user


7、创建角色

postgres=# create role alan_psql;
CREATE ROLE
postgres=#








8:登录数据库

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\bin>psql -h localhost -p 5432 -U postgres -W postgres


 image











9.使用PgAdmin,建立数据库连接

F:\Db_files\postgresql-15.2-2-windows-x64-binaries\pgsql\pgAdmin 4\bin 下,有pgAdmin4.exe,双击打开。


image





我用的是超级用户postgres建立的连接

image

image

image



10.使用 navicat 访问数据库

image

image

image

image

posted @ 2021-07-27 14:29  一品堂.技术学习笔记  阅读(1533)  评论(0编辑  收藏  举报