postgres 快速入门-1
计划写一个gp入门的系列,分享pg学习中的知识点。
安装
pg 当前的最新版为13。下载页面:
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
注:
1,官网的地址为:https://www.postgresql.org/download/,最终下载页面也会跳转到上述地址。
2,本文将使用pg的windows版。
安装说明
- 安装过程简单。按需修改默认设置,或者一路next。
- 安装完成后,需要设置一下环境变量。以下是示例。
- PGHOME,此处设置为实际的安装路径。
- Path中加入:%PGHOME%\bin (若不设置,pg安装后执行psql等命令时,会找不到命令)
- PGHOST :localhost(若为本机可省略。若为远程主机则建议设置)
- PGPORT :5432 (若安装时指定为默认值5432,则无需设置)
- PGLIB :%PGHOME%\lib
- PGDATA :%PGHOME%\data
- PGUSER :postgres
- 安装完成后会提示启动stackbuilder。可不启动,或者根据自己的需要,启动并下载相应的组件或工具。
注:
1,上述某些变量若不设置(例如PGUSER,PGHOST,PGPORT等),可在未来执行命令时,在参数中指定。
快速验证安装
安装和设置完成环境变量后,查看一下所安装的pg版本。执行以下命令:
postgres --version
或者执行以下命令:
psql --version
或者先连入数据库然后再查询:
# 登入数据库
psql -U postgres
# 登入后,执行以下查询
select version();
工具
命令行工具
psql位于%PGHOME%\bin下。运行以下命令,登入db:
psql -h localhost -p 5432 -U postgres
以下是几个查询示例。注意每个sql语句要带上分号;
postgres=# select version();
version
------------------------------------------------------------
PostgreSQL 13.0, compiled by Visual C++ build 1914, 64-bit
(1 行记录)
postgres=# select current_date;
current_date
--------------
2020-10-10
(1 行记录)
postgres=# select 2+2;
?column?
----------
4
(1 行记录)
注:
psql程序有一些不属于SQL命令的内部命令。它们以反斜线开头,“
\
”。执行时也不需要带分号。举例:\h 显示帮助,\q 退出psql。
管理工具pgAdmin4
pgAdmin4位于%PGHOME%\pgAdmin4\ 目录下。
pgAdmin4打开后默认是英文。切换为中文的方法:File->Preferences->Miscellaneous->User Language。
pgAdmin4登入后示意图如下。
开发工具DataGrip
打开DataGrip,选择DataSource->PostgreSQL->,进入配置画面。首次连接时,需要下载driver。直接下载便可。然后按需要指定配置项。配置示例如下图。
配置完成后,点击"Test Connection"。若成功,则配置OK。
注:
1,若未安装datagrip,可通过命令:choco install datagrip 来安装。或者直接下载然后安装。
2,datagrip需要license。可以通过edu邮箱免费获取license。
创建和删除db
运行以下命令,创建mydb:
createdb mydb
注意:
1,如果不带-U 参数,则会以Windows用户的当前账号(例如administrator)的身份进行连接,但此时db中并不存在此角色,故会报错。解决办法有二:一是参数中带U(例如-U postgres);二是指定环境变量PGUSER(如前文)。
2,报错时的提示信息中,中文显示为乱码。纠正方法如下:
- 先查看server的编码,用psql登入db后执行:show server_encoding; 此时显示为UTF8
- 再查看client的编码,执行:show client_encoding; 此时显示为GBK。
- 将GBK编码修改为UTF8,执行:\encoding GBK 然后再查看,便变成了UTF8
此时报错信息中的中文乱码显示正常。
注意:
1,创建mydb后,datagrip还看不到此db。需要修改连接属性。如下画面,在"schema"页签中,选择"All databases"。
运行以下命令,删除mydb:
drop mydb
注:
1,命令的详细内容,可参考:createdb和dropdb 。
2,目前还无pg 13的中文文档。本文链接均使用pg 12的文档。
本文地址:https://blog.csdn.net/uddiqpl/article/details/108991094