zoukankan      html  css  js  c++  java
  • 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建立的连接

    为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
    学问:纸上得来终觉浅,绝知此事要躬行
    为事:工欲善其事,必先利其器。
    态度:道阻且长,行则将至;行而不辍,未来可期
    转载请标注出处!
  • 相关阅读:
    nodejs async waterfull 小白向
    nodejs async series 小白向
    MySQL 分区介绍总结
    cocos2d-x 一些实用的函数
    LeetCode(61)-Valid Palindrome
    ganglia错误解决
    (6)uboot具体解释——关闭缓存和mmu
    Linux下设置MySQL不区分大写和小写
    火狐与IE的7个JavaScript差异
    商业研究(8):汽车交通
  • 原文地址:https://www.cnblogs.com/ios9/p/15065729.html
Copyright © 2011-2022 走看看