目录
1、安装概述
2、下载Windows的二进制格式
3、解压安装包
4、配置环境变量
5、初始化数据库
6、启动数据库
7、注册系统服务,需管理员权限方可
8、配置远程登录
9、登陆数据库
复制

1、安装概述
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
https://www.postgresql.org/
https://yum.postgresql.org/rpmchart.php
https://yum.postgresql.org/11/redhat/rhel-6-x86_64/repoview/postgresqldbserver11.group.html
https://www.postgresql.org/ftp/source/
打开 PostgreSQL 官网 https://www.postgresql.org/,点击菜单栏上的 Download ,可以看到这里包含了很多平台的安装包,包括 Linux、Windows、Mac OS等 。
各个安装包:https://www.postgresql.org/ftp/source/
Linux 我们可以看到支持 Ubuntu 和 Red Hat 等各个平台,点击具体的平台链接,即可查看安装方法:

点击上图中的 file browser,我们还能下载 PostgreSQL 最新的源码。

2、下载Windows的二进制格式
二进制格式下载地址:https://www.enterprisedb.com/download-postgresql-binaries

3、解压安装包
下载完成后,把改压缩包解压到D盘的相关目录下,麦老师这里解压到D:\db\PostgreSQL\13.3目录下。

4、配置环境变量
配置环境变量,编辑批处理文件 配置环境变量.vbs(永久生效),然后执行该vbs文件:
1on error resume next 2set sysenv=CreateObject("WScript.Shell").Environment("system") '系统环境变量的数组对象 3Path = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path 4'添加变量 5sysenv("PGHOME")="D:\db\PostgreSQL\13.3" 6sysenv("PGHOST")="localhost" 7sysenv("Path")=sysenv("PGHOME")+"\bin;"+sysenv("Path") 8sysenv("PGLIB")=sysenv("PGHOME")+"\lib" 9sysenv("PGDATA")=sysenv("PGHOME")+"\data"1011wscript.echo "PostgreSQL环境变量安装成功!不需要重新启动计算机!"
复制
或在cmd中执行如下代码:
1SETX "PGHOME" "D:\db\PostgreSQL\13.3"2SETX "PGHOST" "localhost"3SETX "PGLIB" "%PGHOME%\lib"4SETX "PGDATA" "%PGHOME%\data"5SETX "PATH" "%%PGHOME%%\bin;%path%"
复制
5、初始化数据库
1C:\Users\lhrxxt>D:\db\PostgreSQL\13.3\bin\initdb.exe -D "D:\db\PostgreSQL\13.3\data" -E UTF-8 --locale=chs -U postgres -W 2The files belonging to this database system will be owned by user "lhrxxt". 3This user must also own the server process. 4 5The database cluster will be initialized with locale "Chinese_China.936". 6initdb: could not find suitable text search configuration for locale "Chinese_China.936" 7The default text search configuration will be set to "simple". 8 9Data page checksums are disabled.1011Enter new superuser password:12Enter it again:1314creating directory D:/db/PostgreSQL/13.3/data ... ok15creating subdirectories ... ok16selecting dynamic shared memory implementation ... windows17selecting default max_connections ... 10018selecting default shared_buffers ... 128MB19selecting default time zone ... Asia/Hong_Kong20creating configuration files ... ok21running bootstrap script ... ok22performing post-bootstrap initialization ... ok23syncing data to disk ... ok2425initdb: warning: enabling "trust" authentication for local connections26You can change this by editing pg_hba.conf or using the option -A, or27--auth-local and --auth-host, the next time you run initdb.2829Success. You can now start the database server using:3031 ^"D^:^\db^\PostgreSQL^\13^.3^\bin^\pg^_ctl^" -D ^"D^:^\db^\PostgreSQL^\13^.3^\data^" -l logfile start
复制
6、启动数据库
1pg_ctl -D D:\db\PostgreSQL\13.3\data -l logfile start
复制
7、注册系统服务,需管理员权限方可
1pg_ctl register -N PostgreSQL -D D:\db\PostgreSQL\13.3\data
复制
查看已经注册的服务:win+R在弹出的运行框中,输入:services.msc,如下:

net start PostgreSQL 查看是否启动。
1net start PostgreSQL
复制
命令行下输入tasklist | grep postgres
查看进程:

netstat –an 可以查看所有和本地计算机建立连接的IP。
卸载服务:同样需要管理员权限,两种方式
1) pg_ctl unregister –N PostgreSQL
2) sc delete PostgreSQL
8、配置远程登录
postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下:
① postgresql.conf,位于%PGDATA%目录下,修改listen_addresses参数:
1listen_addresses='*'
复制
② pg_hba.conf,位于%PGDATA%目录下
可以清空该文件内容,然后配置如下内容:
1# TYPE DATABASE USER ADDRESS METHOD2local all all trust3host all all ::1/128 trust4host all all 127.0.0.1/32 trust5host all all 0.0.0.0/0 md56host replication all 0.0.0.0/0 md5
复制
之后,重启PG数据库即可。
9、登陆数据库
sql 是 PostgreSQL 中的一个命令行交互式客户端工具,它允许你交互地键入 SQL 命令,然后把它们发送给 PostgreSQL 服务器,再显示 SQL 或命令的结果。
输入的内容允许来自一个文件,此外它还提供了一些元命令和多种类似 shell 的特性来实现书写脚本,以及对大量任务的自动化工作。
特性:方便快捷、没有图形化工具使用上的一些限制
1-- 本地登陆2psql -U postgres34-- 远程登陆5psql -U postgres -h 192.168.66.35 -d postgres -p543267-- 从Postgresql 9.2开始,还可以使用URI格式进行远程连接:psql postgresql://myuser:mypasswd@myhost:5432/mydb8psql postgresql://postgres:lhr@192.168.66.35:15432/postgres
复制
其中-h参数指定服务器地址,默认为127.0.0.1,默认不指定即可,-d指定连接之后选中的数据库,默认也是postgres,-U指定用户,默认是当前用户,-p 指定端口号,默认是"5432",其它更多的参数选项可以执行:./bin/psql --help 查看。
1C:\Users\lhrxxt>psql -U postgres -h 192.168.66.236 -d postgres -p5432 2Password for user postgres: 3psql (13.3) 4Type "help" for help. 5 6postgres=# \l 7 List of databases 8 Name | Owner | Encoding | Collate | Ctype | Access privileges 9-----------+----------+----------+-------------------+-------------------+-----------------------10 postgres | postgres | UTF8 | Chinese_China.936 | Chinese_China.936 |11 template0 | postgres | UTF8 | Chinese_China.936 | Chinese_China.936 | =c/postgres +12 | | | | | postgres=CTc/postgres13 template1 | postgres | UTF8 | Chinese_China.936 | Chinese_China.936 | =c/postgres +14 | | | | | postgres=CTc/postgres15(3 rows)161718postgres=# CREATE DATABASE lhrdb WITH OWNER=postgres ENCODING='UTF-8';19CREATE DATABASE20postgres=# \c lhrdb21You are now connected to database "lhrdb" as user "postgres".22lhrdb=#23lhrdb=# create table student (24lhrdb(# id integer not null,25lhrdb(# name character(32),26lhrdb(# number char(5),27lhrdb(# constraint student_pkey primary key (id)28lhrdb(# );29CREATE TABLE30lhrdb=#31lhrdb=# \d student32 Table "public.student"33 Column | Type | Collation | Nullable | Default34--------+---------------+-----------+----------+---------35 id | integer | | not null |36 name | character(32) | | |37 number | character(5) | | |38Indexes:39 "student_pkey" PRIMARY KEY, btree (id)404142lhrdb=#43lhrdb=# INSERT INTO student (id, name, number) VALUES (1, '张三', '1023');44INSERT 0 145lhrdb=# SELECT * FROM student WHERE id=1;46 id | name | number47----+------------------------------------+--------48 1 | 张三 | 102349(1 row)50
复制
安装配置完成,若有不懂,可以私聊麦老师。
本文结束。
• 微信公众号:DB宝,作者:小麦苗,作者微信:db_bao
• 作者博客地址:http://blog.itpub.net/26736162/
• 作者QQ:646634621,QQ群:230161599、618766405
• 提供Oracle OCP、OCM、高可用(rac+dg+ogg)、MySQL DBA和PostgreSQL DBA培训
• 版权所有,欢迎分享本文,转载请保留出处• 若有侵权请联系小麦苗删除
★DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag
★DB宝笔试面试详解:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
复制
长按下图识别二维码,关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。
