PostgreSQL ZIP版安装完全手册

发布时间:2024年01月09日

前言

ZIP免安装版下载地址:社区 DL 页面 (enterprisedb.com)

选择所需的版本下载即可。

安装

将下载的zip安装包(我这里下载的是postgresql-15.5-1-windows-x64-binaries.zip)解压至D盘根路径下,解压后路径:D:/pgsql

初始化数据库

打开一个cmd窗口(普通cmd窗口,非管理员模式)

切换到d:/pgsql目录下,执行初始化语句

d:
cd pgsql
bin\initdb -D data -U postgres -A password -E utf8 --locale=chs -W

初始化过程中会提示设置超级用户(postgres)的密码。

初始化完成后,在D:/pgsql目录下会创建data文件夹,该文件夹用于存放数据,文件夹名称可以根据自己需要在初始化命令中修改,命令说明:

-D ?data ? ? ? ? ? ?指定初始化的数据库目录(此处为当前目录的data文件夹)

-U ?postgres ? ? 数据库超级用户名(此处为postgres,如果不设置,会用当前windows用户名为账号)

-A ?password? ? 数据库使用密码授权

-E ?utf8? ? ? ? ? ? ?数据库编码格式

--locale=chs? ? ?数据库簇使用的中文语言?

-W? ? ? ? ? ? ? ? ? ? 命令行执行后 输入密码

启动数据库

初始化完成后即可根据提示使用命令启动pgsql

bin\pg_ctl -D data -l pglog.txt start

命令说明:

-D data? ? ? ? ? ? ?指启动时使用哪个数据库目录

-l pglog.txt????????指定启动时数据库日志的保存路径(直接命名会在当前命令下创建对应文件,此处创建日志文件为pglog.txt)

?同理,可使用命令关闭数据库(关闭时无需指定日志文件路径)

bin\pg_ctl -D data stop

连接数据库

重新打开数据库,在pgsql文件夹下找到pgadmin 4工具(D:\pgsql\pgAdmin 4\runtime\pgAdmin4.exe)连接数据库

在“Server上右键 ——> 注册 ——> 服务器”来添加一个服务器,配置信息如下:

General信息:

? ? ? ? 名称:自定义一个连接名称(我这里取名localhost)

连接信息:

? ? ? ? 主机名称/地址:127.0.0.1(目前只能使用localhost或127.0.0.1连接,无法通过网络IP访问)

? ? ? ? 维护数据库:postgres

? ? ? ? 用户:postgres

? ? ? ? 密码:超级管理员postgres的密码(前面初始化数据库时设置的)

至此数据库可通过本地连接成功!?

配置

使数据库支持远程访问

先关闭数据库,然后修改两个文件配置:

修改Data目录下pg_hba.conf文件(D:\pgsql\data\pg_hba.conf):

将host all的地址修改为0.0.0.0/0,表示不限制客户端地址

修改Data目录下postgresql.conf文件(D:\pgsql\data\postgresql.conf):

增加listen_addresses = '*'配置信息,表示监听服务器所有有效IP

修改完成后重新启动数据库,使用pgAdmin 4客户端连接,此时已可以访问。

此时数据库启动的命令窗是不能关闭的,关闭的话数据库也会同步关闭(若想使数据库一直开启,可将数据库启动注册成系统服务)?

将pgsql注册成系统服务

打开一个cmd窗口(管理员模式cmd窗口

切换到d:/pgsql目录下,执行注册服务语句

bin\pg_ctl.exe register -N "pgsql" -D "D:\pgsql\data"

注册成功后可在Windows服务中找到名为“pgsql”的服务

系统服务操作常用命令:

启动pgsql服务:net start pgsql

关闭pgsql服务:net stop pgsql

启动数据库服务后即可正常使用数据库,无需再通过命令控制台管理数据库。

至此,免安装版安装完成,希望对您有所帮助!

常用命令

启动数据库:D:\pgsql>bin\pg_ctl -D data -l pglog.txt start

关闭数据库:D:\pgsql>bin\pg_ctl -D data stop

常用语句

更新指定字段为自增序列

1)先创建自定义序列

create SEQUENCE seq_dayReport_id
start with 1
increment by 1
no MINVALUE
no MAXVALUE
cache 1;

上面序列表示从1开始,自增步长为1,没有最大上限和最小上线,数据库始终缓存1个序列

2)更新指定字段为序列值

update "dayReport"
set id = nextval('seq_dayReport_id')

上面语句表示修改dayReport表的id字段,设置该字段为seq_dayReport_id序列的值,nextval函数可获取下一个序列

3)设置表字段为自增序列

alter table "dayReport" alter COLUMN id set DEFAULT nextval('seq_dayReport_id');

后面再添加数据时,id字段将支持自增

文章来源:https://blog.csdn.net/Asgard_Hu/article/details/135472926
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。