当前位置: 首页 > news >正文

PostgreSQL ZIP版安装完全手册

前言

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字段将支持自增

相关文章:

  • Diffusion扩散模型学习3:Unet学习实现
  • 2023春季李宏毅机器学习笔记 03 :机器如何生成文句
  • 【实用技巧】Windows 电脑向iPhone或iPad传输视频方法1:无线传输
  • 杨中科 ASP.NET Core 中的依赖注入的使用
  • 寒假前端第一次作业
  • 模型\视图一般步骤:为什么经常要用“选择模型”QItemSelectionModel?
  • Android 事件分发介绍
  • scala 安装和创建项目
  • 代码随想录算法训练营Day20 | 40.组合总和||、39.组合总和、131.分割回文串
  • 图片分类的脚本
  • 【设计模式】创建型模式之单例模式(Golang实现)
  • LLM漫谈(二)| QAnything支持任意格式文件或数据库的本地知识库问答系统
  • 穷举vs暴搜vs深搜vs回溯vs剪枝
  • React.Children.map 和 js 的 map 有什么区别?
  • H5的3D游戏开源框架
  • 0x05 Python数据分析,Anaconda八斩刀
  • Android组件 - 收藏集 - 掘金
  • AWS实战 - 利用IAM对S3做访问控制
  • DataBase in Android
  • JavaScript 奇技淫巧
  • Js基础知识(四) - js运行原理与机制
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Lucene解析 - 基本概念
  • nfs客户端进程变D,延伸linux的lock
  • spring + angular 实现导出excel
  • swift基础之_对象 实例方法 对象方法。
  • text-decoration与color属性
  • 多线程 start 和 run 方法到底有什么区别?
  • 开源SQL-on-Hadoop系统一览
  • 如何实现 font-size 的响应式
  • 使用 Docker 部署 Spring Boot项目
  • 原生JS动态加载JS、CSS文件及代码脚本
  • ​2021半年盘点,不想你错过的重磅新书
  • #HarmonyOS:基础语法
  • #vue3 实现前端下载excel文件模板功能
  • (1)常见O(n^2)排序算法解析
  • (2)Java 简介
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (三)Honghu Cloud云架构一定时调度平台
  • (转)3D模板阴影原理
  • (转)ABI是什么
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • **PHP二维数组遍历时同时赋值
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .Net面试题4
  • @RequestMapping处理请求异常