win10安装配置PostgreSQL

这篇具有很好参考价值的文章主要介绍了win10安装配置PostgreSQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

win10安装配置PostgreSQL

1 下载安装PostgreSQL

①进入官网https://www.postgresql.org/,点击页面中心处的download

也可以直接跳过下面的步骤(下面的步骤主要是为了帮助大家了解一般外国软件是如何从官网进入下载页面),直接进入下载页面,链接地址:

  • https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

②选择对应的操作系统,点击进入特定的下载页面

本文以windows10为例,点击windows

win10安装配置PostgreSQL
③进入windows的下载页面,然后点击download the installer
win10安装配置PostgreSQL
④选择对应系统的对应版本即可
win10安装配置PostgreSQL

下载完成后以管理员权限运行安装,安装过程都可以默认下一步

注意:如果双击.exe文件报错:
win10安装配置PostgreSQL

  • 是因为我们当前用户名中包含中文,导致安装过程,因此我们只需要将win10用户名改为英文的即可

2 配置PostgreSQL

2.1 配置环境变量

①右击win10桌面上的此电脑,选择属性,然后选择高级系统设置
win10安装配置PostgreSQL
②选择环境变量
win10安装配置PostgreSQL
③根据自己需求,看配置用户环境变量还是系统环境变量

用户环境变量,只针对当前用户,系统环境变量则针对该电脑所有用户

  • 一般配置系统环境变量

在系统环境变量下,选择新建
win10安装配置PostgreSQL

# 新建PG_HOME,对应的值填入自己postgre的安装目录
E:\database\PostgreSQL
# 在path下追加%PG_HOME%\bin\
%PG_HOME%\bin\
# 新建PG_DATA
E:\database\PostgreSQL\data

2.2 初始化

①安装完成后我们需要对数据库进行初始化,初始化方法是执行initdb.exe.
win10安装配置PostgreSQL

E:\database\PostgreSQL\data 初始化执行之前是空的,执行之后会看到很多文件
win10安装配置PostgreSQL

②修改data目录下的配置文件postgresql.conf

如果仅想本地访问则listen_addresses改为localhost,如果想配置都访问,则配置为*

#listen_addresses = 'localhost'		# what IP address(es) to listen on;
			# comma-separated list of addresses;
			# defaults to 'localhost'; use '*' for all
			# (change requires restart) 

3 启动并测试

因为我们开始配置了环境变量,所以任意位置进入cmd,然后执行

psql -U postgres

然后输入我们开始安装过程中设置的密码,即可:
win10安装配置PostgreSQL

  • 测试通过navicat连接
    win10安装配置PostgreSQL
    点击,测试连接,结果:
    win10安装配置PostgreSQL

4 相关命令

4.1 创建用户

# 创建用户
CREATE USER testUser WITH PASSWORD '*****';
# yaml中url配置:
# url: "postgres://user_name:pass_word@ip:port/database?sslmode=disable"
url: "postgres://s3batch_u:postgres@127.0.0.1:5432/s3batch?sslmode=disable"

4.2 注册为系统服务

pg_ctl register -N "postgresql" -D "C:\Program Files\PostgreSQL\your_postgresql_version\data" -U "your_username" -P "your_password"

# 或者
sc create postgresql binPath= "E:\database\PostgreSQL\bin\pg_ctl.exe runservice -N postgresql -D "E:\database\PostgreSQL\data" -w" start= auto

4.3 操作数据库或表

-- 以postgres用户角色登录postgresql数据库
psql -U postgres;

--
①postgres-#:短横杠的表明语句未结束,用分号标识结束
②postgres=#:postgres后面是等号的表明语句已经结束,可以开始一个新的语句
--

-- 切换数据库[以workflow_u的用户角色切换到workflow数据库]
\c workflow workflow_u

-- 展示当前数据库下所有的表
\d

-- 展示userinfo的表结构
\d userinfo


-- 创建表
CREATE TABLE userdetail
(
    uid integer,
    intro character varying(100),
    profile character varying(100) -- 类似于mysql的varchar(100)
)
WITH(OIDS=FALSE);

-- 添加记录
insert into userdetail (uid, intro, profile) values (1, '这是一个介绍', '这个是个人资料');

-- 查询表中记录记录[起始记录从0开始,每页5条数据]
select uid, intro, profile from public.userdetail offset 0 limit 5;

-- 根据创建时间降序排列
select uid,intro from userdetail  order by created_time desc offset 0 limit 1;

-- 删除表中的intro字段
alter table userdetail drop column intro;

-- 向表中添加name字段
alter table userdetail add column name character varying(100);

-- 更新表中记录
update userdetail set name = 'jack' where uid = 1;

-- 给uid添加主键
alter table userdetail drop constraint if exists userdetail_pkey, add primary key(uid);

-- 给name添加唯一索引
create unique index if not exists idx_userdetail_name on userdetail (name);

-- 添加时间字段,并插入一条记录 timestamp:2023-06-30 16:44:41.660549
alter table userdetail add column created_time timestamp;
-- insert into userdetail(uid, profile, name, created_time) values(4, 'intro4', 'tom4', ' 2022-06-30 16:44:41.660549');
insert into userdetail(uid, profile, name, created_time) values(2, '介绍2', 'tom', now());


-- 创建序列sequence
CREATE SEQUENCE uid_sequence
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;
 
 -- 删除序列
 DROP SEQUENCE IF EXISTS uid_sequence;

   
-- 修改表结构,将 uid 设置为序列的默认值
ALTER TABLE userdetail 
    ALTER COLUMN uid SET DEFAULT nextval('uid_sequence'::regclass);    

-- 删除表
drop table userdetail;

# \l 列出所有数据库
\l

# \c 切换数据库
\c testbase

# \d 查询当前数据库下的所有表
\d 
# \d table_name 查看表结构

# \d table_name 查看表的信息(如果有索引也会展示出来)
\d mytable

# \di 查看数据库的所有索引,在postgres=#模式下执行
\di

# \q 退出控制台
\q 

4.4 备份与恢复

  1. SQL 转储
  2. 文件系统级别备份(冷备份)
  3. 在线热备份(归档)
4.4.1 SQL转储
①pg_dump:备份单数据库(xxx.dmp)
# 1 创建数据库
createdb pg
# 2 连接数据库
psql pg
# 3 创建测试表,插入数据
pg=# create table pg_test(a int);
pg=# insert into pg_test(a) values(1);
pg=# insert into pg_test(a) values(2);
# 4 查看数据
pg=# select * from tb;
# 5 备份
pg_dump pg > /usr/local/pgsql/backup/pg.dmp
# 6 删除数据库pg
dropdb pg
# 7 创建新数据库(恢复之前需要创建数据库)
createdb pg
# 8 恢复数据
psql pb < /usr/local/pgsql/backup/pg.dmp
# 9 查看数据是否恢复
pg=# select * from tb;

至此,数据已成功恢复!
注: pg_dump 可以对针对单表或者多表进行备份
如:

pg_dump databasename –t tablename1 –t tablename2 >filename

②pg_dumpall:备份所有数据库、角色、表空间

pg_dump 只能备份单个数据库,而且恢复的时候需要创建空数据库。 pg_dumpall 可以备份所有数据库,并且备份角色、表空间。

# 1 创建数据库
createdb pg1
createdb pg2
# 2 向pg1中创建表并插入数据
psql pg1
pg=# create table tb1(a int)
pg=# insert into tb1(a) values(1);
# 3 pg2 中创建表并插入数据
psql pg2
pg=# create table tb2(a int)
pg=# insert into tb2(a) values(2);
# 4 备份数据库
pg_dumpall > /usr/local/pgsql/backup/pg_all.dmp
# 5 删除数据库
dropdb pg1
dropdb pg2
# 6 恢复数据库
psql –f /usr/local/pgsql/backup/pg_all.dmp postgres
# 可以指定任何数据库名,如果恢复到一个空的集群中,通常使用 postgres 数据库
# 7 查看数据库 pg1 是否恢复
psql pg1
pg=# select * from tb1;
# 8 查看数据库 pg2 是否恢复
psql pg2
pg=# select * from tb2;

至此,数据已成功恢复!

4.4.2 文件系统级别备份(冷备份:需要停止db)

文件系统级别的备份是冷备份,需要停止数据库。

# 1 停止数据库
pg_ctl –D /usr/local/pgsql/data stop
# 2 备份数据库
tar –jcv –f /usr/local/pgsql/backup/filesystem.tar.bz2 /usr/local/pgsql/data/
# 3 删除 /usr/local/pgsql/data/ 目录
rm –r /usr/local/pgsql/data/
# 4 解压备份文件到原目录
tar –jxv –f /usr/local/pgsql/backup/filesystem.tar.bz2 –C /
# 5 启动数据库
pg_ctl –D /usr/local/pgsql/data start
# 6 查看数据库 pg1 是否恢复
psql pg1
pg=# select * from tb1;
# 7 查看数据库 pg2 是否恢复
psql pg2
pg=# select * from tb2;

至此,数据已成功恢复!

4.4.3 在线热备份(归档)
①备份
  1. 配置归档模式
# 配置归档需要编辑 postgresql.conf 文件,默认为与 /usr/local/pgsql/data/ 目录下
vim /usr/local/pgsql/data/postgesql.conf
archive_mode = on
archive_command = ‘cp %p /usr/local/pgsql/backup/archived_log/%f’

注: %p 要被归档的日志文件的路径, %f 是要被归档的日志文件的文件名

  1. 启动数据库
pg_ctl –D /usr/local/pgsql/data start
  1. 创建数据库 arch
createdb arch
  1. 创建表并插入记录
psql arch
arch=# create table tb(a int);
arch=# insert into tb(a) values(1);
  1. 创建备份
arch=# select pg_start_backup(‘baseline’);
  1. 备份整个 data 目录
tar –jcv –f /usr/local/pgsql/backup/baseline.tar.bz2 /usr/local/pgsql/data/
  1. 停止备份
psql arch
arch=# select pg_stop_backup();
  1. 插入新记录,然后切换日志,重复 3 次
arch=# insert into tb(a) values(2);
arch=# select pg_switch_xlog();
arch=# insert into tb(a) values(3);
arch=# select pg_switch_xlog();
arch=# insert into tb(a) values(4);
arch=# select pg_switch_xlog();
  1. 把 /data/pg_xlog/ 下的 WAL 日志文件复制到预设的归档目录下,保证产生的 WAL 日志都已归档。
②恢复
# 1 停止数据库
pg_ctl –D /usr/local/pgsql/data/ stop
# 2 删除 /data/
rm –r /usr/local/pgsql/data/
# 3 恢复备份
tar –jxv –f /usr/local/pgsql/backup/baseline.tar.bz2 –C /
# 4 清空 /data/pg_xlog/ 目录下所有文件
rm –r /usr/local/pgsql/data/pg_xlog/
# 5 创建 /pg_xlog/ 及其下面的 archive_status 目录
mkdir /usr/local/pgsql/data/pg_xlog/
mkdir /usr/local/pgsql/data/pg_xlog/archive_status
# 6 在 /data/ 目录下创建 recovery.conf
vim /usr/local/pgsql/data/recovery.conf
restore_command = ‘cp /usr/local/pgsql/backup/archived_log/%f “%p”’
# 7 启动数据库
pg_ctl –D /usr/local/pgsql/data/ start

一切正常的话数据库就会自动应用 WAL 日志进行恢复

# 8 查看数据库 arch 是否恢复
psql arch
arch=# select * from tb;

至此,数据已经成功恢复!

参考:https://blog.csdn.net/gbz2000/article/details/114382382

4.5 DDL:Data Definition Language,create、drop、alter

  • DML(Data Manipulation Language,数据操纵语言):insert、update、delete
  • DCL(Data Control Language,数据控制语言):创建、修改、删除用户等
  • DQL(Data Query Language,数据查询语言)
4.5.1 修改字段类型
-- 将表activity_detail 字段update_time 从date 修改成timestamp
alter table activity_detail  alter column update_time  type timestamp using update_time::timestamp;

5 bug

5.1 pq: SSL is not enabled on the server

# 在datasource中设置sslmode=disable
datasource := "user=postgres password=*** host=localhost port=5432 dbname=testgo sslmode=disable"

5.2 控制台乱码

# 连接到数据库
psql -U your_username -d your_database_name

# 查看当前编码
SHOW client_encoding;

打开 PostgreSQL 的配置文件 postgresql.conf。该文件通常位于 PostgreSQL 安装目录下的 data 子目录中。

在文件中找到 client_encoding 参数,并将其值修改为 UTF8

client_encoding = 'UTF8'

保存,并关闭文件,然后重启psql

net stop postgresql
net start postgresql文章来源地址https://www.toymoban.com/news/detail-508264.html

6 字段概念

6.1 时间相关

-- 将表activity_detail 字段update_time 从date 修改成timestamp
alter table activity_detail  alter column update_time  type timestamp using update_time::timestamp;
6.1.1 date:日期,YYYY-MM-DD
6.1.2 time:时间,HH:MI:SS
6.1.3 timestamp:日期时间,YYYY-MM-DD HH:MI:SS
6.1.4 timestamptz:带有时区的时间,YYYY-MM-DD HH:MI:SS TZ
6.1.5 interval:时间间隔,可以是年、月、日、小时、分钟、秒等
6.1.6 时区偏移量:timezonetz,+HH:MI或-HH:MI

到了这里,关于win10安装配置PostgreSQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win10中maven的安装与配置

    maven是什么?点进来的各位都是奔着安装的目的来的,肯定都清楚maven是干什么使的,各种百科上的描述也足够详细,在这里就不赘述了。 直接进入正题,maven如何安装以及如何配置 。 记住一个前提,先安装好jdk,再来配置maven!!! 我自己安装使用的是3.6.3版本,如果你也

    2024年02月09日
    浏览(29)
  • win10安装Anaconda,配置Pytorch环境

    一、安装Anaconda Anaconda实际上是一个包管理器,可以理解为一个工具。Anaconda自带Python(选中版本)解释器以及其他一些数据分析与挖掘需要的模块而无需用户手动添加这些常用模块(安装模块会出现各种错误)。早期学Python时,我并没有觉得手动安装需要的模块有多麻烦,手

    2023年04月27日
    浏览(86)
  • win10下Elasticsearch安装配置完整教程

    一、在安装Elasticsearch引擎之前,必须安装ES需要的软件环境,安装Java JDK和配置JAVA_HOME环境变量 二.安装ElasticSearch服务,下载和安装es包 https://www.elastic.co/downloads/past-releases Elasticsearch 8.6.1 | Elastic   安装成功之后,先不急着初始化。(先解决初始化乱码问题,不解决也可使用,

    2024年02月03日
    浏览(27)
  • win 10下spark的安装及配置

    一级标题 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:以下是本篇文章正文内容,下面案例可供参考 在jdk官网中下载与自己电脑相应配置的jdk。 点击电脑的设置——关于——高级系统设置——环境变量中配置jdk环境变量。 点击新建,输入

    2023年04月08日
    浏览(30)
  • win10 安装配置 Rust 环境和简单使用

    最近几年,Rust 因其卓越的内存安全性和并发性能备受关注。不仅连续七年获得 StackOverflow 最受开发者喜爱的语言榜榜首,也在越来越多知名公司内部使用,比如:字节跳动和华为内部大量使用 Rust、GitHub 用 Rust 重写代码搜索引擎、蚂蚁金服用 Rust 重写时序数据库等等……同

    2024年01月17日
    浏览(43)
  • win10 node.js卸载、安装、配置详解

    第一步:打开系统自带的卸载功能,找到node js 进行卸载 删除C:UsersAdministratorAppDataRoaming(有些系统路径为:C:UsersadminAppDataRoaming)文件下的npm、npm-cache或者如果是zip下载的安装包,直接删掉解压文件即可。 删掉系统变量内有关node的,如果是msi安装是会自动删掉环境变量

    2024年02月16日
    浏览(49)
  • Win10上安装opencv并配置教程(成功

    参考:win10上安装opencv详细教程  下载地址:Home - OpenCV 1.Library下的Releases。选择合适的版本(我的版本:4.6.0),选择windows  2.自己选择的目录下 解压安装(extract) 3.下载完成后如下所示。 1.选择此路径并复制该路径 `E:opencvinstallopencvbuildx64vc15bin`  2.此电脑——右键属性—

    2024年02月05日
    浏览(29)
  • win10安装git及配置其环境变量

    1.1.进入阿里镜像 首先我们点击下面的链接进入阿里镜像的git下载界面。 https://registry.npmmirror.com/binary.html?path=git-for-windows/ 进入阿里镜像后直接Ctrl+F 搜索版本前缀后点击即可,这里我们选择2.39.1。 在下图我们选择圈中部分。 1.2.下载 选中之后后弹出如下界面,我们等待其下载

    2024年02月04日
    浏览(48)
  • JDK的安装与配置过程(win10详细板)

    1.在JDK官网获取, http://www.oracle.com。 2.在导航栏选择Resources。  3.选择Java Downloads。 4.下翻到Java8,下载windows版本(根据自己所需下载其版本)。 5.下载完成后傻瓜式安装(安装路径不要出现中文)。  6.安装完成。 7.配置Path环境变量(

    2024年02月09日
    浏览(40)
  • 在win10上安装配置Hadoop的环境变量

    在windows10系统中运行seatunnel 2.1. 下载 Hadoop包 从 Apache Hadoop 官网下载最新版本的 Hadoop,版本号保持与服务端的Hadoop版本一致。 https://hadoop.apache.org/releases.html Index of /apache/hadoop/core/hadoop-3.2.3/ 2.2.  解压 Hadoop 将下载的 Hadoop 压缩包解压到任意目录,例如 D:apphadoop-3.2.3 2.3. 配置

    2024年01月22日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包