Windows 安装包启动Postgresql

    科技2024-07-31  32

    现在这个网站下载 PostgreSQL https://www.enterprisedb.com/download-postgresql-binaries ,版本选择最新版的就好,这里我用的 Version 13。 下载压缩包后,解压缩,可以看到下面这张图的文件目录: 我们所需要的启动文件就在bin 的文件夹里面。 根据官方文档我们可以看到,要使用数据库,要先初始化存放数据库数据的文件夹也就是用 initdb 命令,我们先用 initdb.exe --help 命令来看看是否有命令需要我们配置的。在bin文件夹下面运行 initdb.exe --help 可以看到下面的输出。

    G:\pgsql\bin>initdb.exe --help initdb 初始化一个 PostgreSQL 数据库簇. 使用方法: initdb [选项]... [DATADIR] 选项: -A, --auth=METHOD 本地连接的默认认证方法 --auth-host=METHOD 本地的TCP/IP连接的默认认证方法 --auth-local=METHOD 本地socket连接的默认认证方法 -D, --pgdata=DATADIR 当前数据库簇的位置 -E, --encoding=ENCODING 为新数据库设置默认编码 -g, --allow-group-access 允许组对数据目录进行读/执行 --locale=LOCALE 为新数据库设置默认语言环境 --lc-collate, --lc-ctype, --lc-messages=LOCALE --lc-monetary, --lc-numeric, --lc-time=LOCALE 为新的数据库簇在各自的目录中分别 设定缺省语言环境(默认使用环境变量) --no-locale 等同于 --locale=C --pwfile=FILE 对于新的超级用户从文件读取口令 -T, --text-search-config=CFG 缺省的文本搜索配置 -U, --username=NAME 数据库超级用户名 -W, --pwprompt 对于新的超级用户提示输入口令 -X, --waldir=WALDIR 预写日志目录的位置 --wal-segsize=SIZE WAL段的大小(兆字节) 非普通使用选项: -d, --debug 产生大量的除错信息 -k, --data-checksums 使用数据页产生效验和 -L DIRECTORY 输入文件的位置 -n, --no-clean 出错后不清理 -N, --no-sync 不用等待变化安全写入磁盘 -s, --show 显示内部设置 -S, --sync-only 只同步数据目录 其它选项: -V, --version 输出版本信息, 然后退出 -?, --help 显示此帮助, 然后退出 如果没有指定数据目录, 将使用环境变量 PGDATA

    我们所需要的就是参数有 --encoding=ENCODING、--username=NAME、--pwprompt、--waldir=WALDIR、--pgdata=DATADIR,以上这些命令在初始化数据库可以帮助我们进行更好的设置。

    G:\pgsql\bin>initdb.exe --pgdata=G:\pgsql\data --encoding=UTF-8 --username=postgres --pwprompt --waldir=G:\pgsql\wal 属于此数据库系统的文件宿主为用户 "Administrator". 此用户也必须为服务器进程的宿主. 数据库簇将使用本地化语言 "Chinese (Simplified)_China.936"进行初始化. initdb: could not find suitable text search configuration for locale "Chinese (Simplified)_China.936" 缺省的文本搜索配置将会被设置到"simple" 禁止为数据页生成校验和. 输入新的超级用户口令: 再输入一遍: 创建目录 G:/pgsql/data ... 成功 创建目录 G:/pgsql/wal ... 成功 正在创建子目录 ... 成功 选择动态共享内存实现 ......windows 选择默认最大联接数 (max_connections) ... 100 选择默认共享缓冲区大小 (shared_buffers) ... 128MB selecting default time zone ... Asia/Hong_Kong 创建配置文件 ... 成功 正在运行自举脚本 ...成功 正在执行自举后初始化 ...成功 同步数据到磁盘...成功 initdb: 警告: 为本地连接启用"trust"身份验证 你可以通过编辑 pg_hba.conf 更改或你下次 执行 initdb 时使用 -A或者--auth-local和--auth-host选项. 成功。您现在可以用下面的命令开启数据库服务器: pg_ctl -D ^"G^:^\pgsql^\data^" -l 日志文件 start

    注册服务

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

    启动服务

    G:\pgsql\bin>pg_ctl.exe start

    注意,启动后的终端不能关闭,如果关了,程序也就停止了。

    Processed: 0.008, SQL: 8