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

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

 

image

 

 

(1)首先在pgsql(E:postgresql-11.12-2-windows-x64-binariespgsql)文件夹下建立一个名为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")="E:postgresql-11.12-2-windows-x64-binariespgsql"
  5 sysenv("PGHOST")="localhost"
  6 sysenv("Path")=sysenv("PGHOME")+"in;"+sysenv("Path")
  7 sysenv("PGLIB")=sysenv("PGHOME")+"lib"
  8 sysenv("PGDATA")=sysenv("PGHOME")+"data"
  9 
 10 wscript.echo "PostgreSQL Success"

(3)最后运行此脚本

3.初始化数据库

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

C:WINDOWSsystem32>cd E:postgresql-11.12-2-windows-x64-binariespgsql

C:WINDOWSsystem32>e:

E:postgresql-11.12-2-windows-x64-binariespgsql>cd bin

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

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

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

警告:为本地连接启动了 "trust" 认证.
你可以通过编辑 pg_hba.conf 更改或你下次
执行 initdb 时使用 -A或者--auth-local和--auth-host选项.

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

    pg_ctl -D ^"E^:^postgresql^-11^.12^-2^-windows^-x64^-binaries^pgsql^data^" -l logfile start


E:postgresql-11.12-2-windows-x64-binariespgsqlin>pg_ctl unregister -N postgresql
pg_ctl: 服务 "postgresql" 没有注册

E:postgresql-11.12-2-windows-x64-binariespgsqlin>pg_ctl register -D "E:postgresql-11.12-2-windows-x64-binariespgsql/data"

E:postgresql-11.12-2-windows-x64-binariespgsqlin>pg_ctl start -w -D "E:postgresql-11.12-2-windows-x64-binariespgsqldata"
等待服务器进程启动 ....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] 日志:  数据库系统准备接受连接
 完成
服务器进程已经启动

E:postgresql-11.12-2-windows-x64-binariespgsqlin>net user postgres postgres /add
命令成功完成。


E:postgresql-11.12-2-windows-x64-binariespgsqlin>net user alan_ps  123456  /add
命令成功完成。


E:postgresql-11.12-2-windows-x64-binariespgsqlin>net user

\DESKTOP-DK30POB 的用户帐户

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


E:postgresql-11.12-2-windows-x64-binariespgsqlin>psql -U iFunk -d alan_ps
2021-07-27 14:21:03.633 HKT [8036] 致命错误:  角色 "iFunk" 不存在
psql: 致命错误:  角色 "iFunk" 不存在

E:postgresql-11.12-2-windows-x64-binariespgsqlin>psql -U iFunk -d postgress
2021-07-27 14:21:36.733 HKT [1372] 致命错误:  角色 "iFunk" 不存在
psql: 致命错误:  角色 "iFunk" 不存在

E:postgresql-11.12-2-windows-x64-binariespgsqlin>

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

产生data资料

代码如下: 

initdb -D E:postgresql-11.12-2-windows-x64-binariespgsqldata

删除一个服务:

增加一个服务:

pg_ctl register  -D "E:postgresql-11.12-2-windows-x64-binaries/pgsql/data"

启动服务
pg_ctl start -w -D "c:/postgresql/11/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 D:/Programs/pgsql/data -l D:/Programs/pgsql/data/mydb.log start
 


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

2、通过 sc 注册服务

sc create pgsqlservice binPath=E:postgresql-11.12-2-windows-x64-binariespgsqldatastart.bat start=auto

需要注意两点:

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

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

查看系统用户
net user

7、创建角色

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

8:登录数据库

E:postgresql-11.12-2-windows-x64-binariespgsqlin>psql -h localhost -p 5432 -U admin -W postgres

 

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

在E:postgresql-11.12-2-windows-x64-binariespgsqlpgAdmin 4in下,有pgAdmin4.exe,双击打开。

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

为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
转载请标注出处!
原文地址:https://www.cnblogs.com/ios9/p/15065729.html