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建立的连接

    为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
    学问:纸上得来终觉浅,绝知此事要躬行
    为事:工欲善其事,必先利其器。
    态度:道阻且长,行则将至;行而不辍,未来可期
    转载请标注出处!
  • 相关阅读:
    NOIP2011 D1T1 铺地毯
    NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
    POJ 2513 trie树+并查集判断无向图的欧拉路
    599. Minimum Index Sum of Two Lists
    594. Longest Harmonious Subsequence
    575. Distribute Candies
    554. Brick Wall
    535. Encode and Decode TinyURL(rand and srand)
    525. Contiguous Array
    500. Keyboard Row
  • 原文地址:https://www.cnblogs.com/ios9/p/15065729.html
Copyright © 2011-2022 走看看