第 4 课 PostgreSQL 安装最新的版本

1. 打开官网

https://www.postgresql.org/

2. 点击download

第 4 课 PostgreSQL 安装最新的版本_第1张图片
image.png

3. 选择版本类型

根据实际情况选择你的目标主机类型,我的是Centos,所以选择Red Hat.


第 4 课 PostgreSQL 安装最新的版本_第2张图片
image.png

4. 选择系统配置

选择后会生成对对应的rpm URL地址。


第 4 课 PostgreSQL 安装最新的版本_第3张图片
image.png

5. 安装rpm

复制rpm命令,在系统下执行,保证主机有联网。提示输入: y

yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

6. 安装postgresql

安装客户端:

yum install postgresql10
第 4 课 PostgreSQL 安装最新的版本_第4张图片
image.png

安装服务器端:

yum install postgresql10-server
第 4 课 PostgreSQL 安装最新的版本_第5张图片
image.png

7. 启动postgresql

初始化启动数据库

/usr/pgsql-10/bin/postgresql-10-setup initdb
image.png

初始化成功后:数据库目录在:/var/lib/pgsql/10, data目录

drwx------ 5 postgres postgres  4096 Jul 30 15:52 base
-rw------- 1 postgres postgres    30 Jul 30 15:55 current_logfiles
drwx------ 2 postgres postgres  4096 Jul 30 16:02 global
drwx------ 2 postgres postgres  4096 Jul 30 15:55 log
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_commit_ts
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_dynshmem
-rw------- 1 postgres postgres  4269 Jul 30 15:52 pg_hba.conf
-rw------- 1 postgres postgres  1636 Jul 30 15:52 pg_ident.conf
drwx------ 4 postgres postgres  4096 Jul 30 17:10 pg_logical
drwx------ 4 postgres postgres  4096 Jul 30 15:52 pg_multixact
drwx------ 2 postgres postgres  4096 Jul 30 15:55 pg_notify
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_replslot
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_serial
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_snapshots
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_stat
drwx------ 2 postgres postgres  4096 Jul 30 17:15 pg_stat_tmp
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_subtrans
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_tblspc
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_twophase
-rw------- 1 postgres postgres     3 Jul 30 15:52 PG_VERSION
drwx------ 3 postgres postgres  4096 Jul 30 15:52 pg_wal
drwx------ 2 postgres postgres  4096 Jul 30 15:52 pg_xact
-rw------- 1 postgres postgres    88 Jul 30 15:52 postgresql.auto.conf
-rw------- 1 postgres postgres 22761 Jul 30 15:52 postgresql.conf
-rw------- 1 postgres postgres    58 Jul 30 15:55 postmaster.opts
-rw------- 1 postgres postgres   103 Jul 30 15:55 postmaster.pid

设置自动启动配置:

systemctl enable postgresql-10

启动服务器:

systemctl start postgresql-10

查看运行状态:

systemctl status postgresql-10
第 4 课 PostgreSQL 安装最新的版本_第6张图片
image.png

查看进程:

ps -ef|grep postgres
第 4 课 PostgreSQL 安装最新的版本_第7张图片
image.png

8. 使用psql连接数据库

在UNIX平台中安装PostgreSQL之后,PostgreSQL会在UNIX系统中创建一个名为“postgres”当用户。PostgreSQL的默认用户名和数据库也是“postgres”,
不过没有默认密码。在安装PostgreSQL之后可以默认用户登录,也可以创建新当用户名。

[root@izwz90tx4egvh4qj3p95vsz ~]# sudo su postgres
bash-4.2$ 
bash-4.2$ 
bash-4.2$ psql postgres
could not change directory to "/root": Permission denied
psql (10.4)
Type "help" for help.

postgres=# select version(); --查看版本
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)

postgres=# \l  --查看所有数据库
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

postgres=# \dn  --查看模式
  List of schemas
  Name  |  Owner   
--------+----------
 public | postgres
(1 row)

postgres=# \q --退出
bash-4.2$ 

查看更多命令参数:

bash-4.2$ psql -?   --查看帮助
psql is the PostgreSQL interactive terminal.

Usage:
  psql [OPTION]... [DBNAME [USERNAME]]

General options:
  -c, --command=COMMAND    run only single command (SQL or internal) and exit
  -d, --dbname=DBNAME      database name to connect to (default: "postgres")
  -f, --file=FILENAME      execute commands from file, then exit
  -l, --list               list available databases, then exit
  -v, --set=, --variable=NAME=VALUE
                           set psql variable NAME to VALUE
                           (e.g., -v ON_ERROR_STOP=1)
  -V, --version            output version information, then exit
  -X, --no-psqlrc          do not read startup file (~/.psqlrc)
  -1 ("one"), --single-transaction
                           execute as a single transaction (if non-interactive)
  -?, --help[=options]     show this help, then exit
      --help=commands      list backslash commands, then exit
      --help=variables     list special variables, then exit

Input and output options:
  -a, --echo-all           echo all input from script
  -b, --echo-errors        echo failed commands
  -e, --echo-queries       echo commands sent to server
  -E, --echo-hidden        display queries that internal commands generate
  -L, --log-file=FILENAME  send session log to file
  -n, --no-readline        disable enhanced command line editing (readline)
  -o, --output=FILENAME    send query results to file (or |pipe)
  -q, --quiet              run quietly (no messages, only query output)
  -s, --single-step        single-step mode (confirm each query)
  -S, --single-line        single-line mode (end of line terminates SQL command)

Output format options:
  -A, --no-align           unaligned table output mode
  -F, --field-separator=STRING
                           field separator for unaligned output (default: "|")
  -H, --html               HTML table output mode
  -P, --pset=VAR[=ARG]     set printing option VAR to ARG (see \pset command)
  -R, --record-separator=STRING
                           record separator for unaligned output (default: newline)
  -t, --tuples-only        print rows only
  -T, --table-attr=TEXT    set HTML table tag attributes (e.g., width, border)
  -x, --expanded           turn on expanded table output
  -z, --field-separator-zero
                           set field separator for unaligned output to zero byte
  -0, --record-separator-zero
                           set record separator for unaligned output to zero byte

Connection options:
  -h, --host=HOSTNAME      database server host or socket directory (default: "local socket")
  -p, --port=PORT          database server port (default: "5432")
  -U, --username=USERNAME  database user name (default: "postgres")
  -w, --no-password        never prompt for password
  -W, --password           force password prompt (should happen automatically)

For more information, type "\?" (for internal commands) or "\help" (for SQL
commands) from within psql, or consult the psql section in the PostgreSQL
documentation.

Report bugs to .

连接服务器后,使用 "\?" 命令查看更多参数:

bash-4.2$ psql postgres
psql (10.4)
Type "help" for help.

postgres=# \?
General
  \copyright             show PostgreSQL usage and distribution terms
  \crosstabview [COLUMNS] execute query and display results in crosstab
  \errverbose            show most recent error message at maximum verbosity
  \g [FILE] or ;         execute query (and send results to file or |pipe)
  \gexec                 execute query, then execute each value in its result
  \gset [PREFIX]         execute query and store results in psql variables
  \gx [FILE]             as \g, but forces expanded output mode
  \q                     quit psql
  \watch [SEC]           execute query every SEC seconds

Help
  \? [commands]          show help on backslash commands
  \? options             show help on psql command-line options
  \? variables           show help on special variables
  \h [NAME]              help on syntax of SQL commands, * for all commands

Query Buffer
  \e [FILE] [LINE]       edit the query buffer (or file) with external editor
  \ef [FUNCNAME [LINE]]  edit function definition with external editor
  \ev [VIEWNAME [LINE]]  edit view definition with external editor
  \p                     show the contents of the query buffer
  \r                     reset (clear) the query buffer
  \s [FILE]              display history or save it to file
  \w FILE                write query buffer to file

Input/Output
  \copy ...              perform SQL COPY with data stream to the client host
  \echo [STRING]         write string to standard output
  \i FILE                execute commands from file
  \ir FILE               as \i, but relative to location of current script
  \o [FILE]              send all query results to file or |pipe
  \qecho [STRING]        write string to query output stream (see \o)

Conditional
  \if EXPR               begin conditional block
  \elif EXPR             alternative within current conditional block
  \else                  final alternative within current conditional block
  \endif                 end conditional block

Informational
  (options: S = show system objects, + = additional detail)
--More--

例如:查看所有函数:

postgres=# \df *
                                                                                                                                                 
                                                                                                                                                 
                                                          List of functions
   Schema   |                     Name                     |         Result data type          |                                                 
                                                                                                                                                 
                                                                                                    Argument data types                          
                                                                                                                                                 
                                                                                                                           |  Type   
------------+----------------------------------------------+-----------------------------------+-------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------+---------
 pg_catalog | RI_FKey_cascade_del                          | trigger                           |                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                           | trigger
 pg_catalog | RI_FKey_cascade_upd                          | trigger                           |                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                           | trigger
 pg_catalog | RI_FKey_check_ins                            | trigger                           |                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                           | trigger
 pg_catalog | RI_FKey_check_upd                            | trigger                           |                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                                                 
                                                                                                                           | trigger

模糊匹配查看函数:

postgres=# \df ab*
                                 List of functions
   Schema   |    Name     | Result data type |     Argument data types     |  Type  
------------+-------------+------------------+-----------------------------+--------
 pg_catalog | abbrev      | text             | cidr                        | normal
 pg_catalog | abbrev      | text             | inet                        | normal
 pg_catalog | abs         | bigint           | bigint                      | normal
 pg_catalog | abs         | double precision | double precision            | normal
 pg_catalog | abs         | integer          | integer                     | normal
 pg_catalog | abs         | numeric          | numeric                     | normal
 pg_catalog | abs         | real             | real                        | normal
 pg_catalog | abs         | smallint         | smallint                    | normal
 pg_catalog | abstime     | abstime          | timestamp without time zone | normal
 pg_catalog | abstime     | abstime          | timestamp with time zone    | normal
 pg_catalog | abstimeeq   | boolean          | abstime, abstime            | normal
 pg_catalog | abstimege   | boolean          | abstime, abstime            | normal
 pg_catalog | abstimegt   | boolean          | abstime, abstime            | normal
 pg_catalog | abstimein   | abstime          | cstring                     | normal
 pg_catalog | abstimele   | boolean          | abstime, abstime            | normal
 pg_catalog | abstimelt   | boolean          | abstime, abstime            | normal
 pg_catalog | abstimene   | boolean          | abstime, abstime            | normal
 pg_catalog | abstimeout  | cstring          | abstime                     | normal
 pg_catalog | abstimerecv | abstime          | internal                    | normal
 pg_catalog | abstimesend | bytea            | abstime                     | normal

发现更多宝藏

我在喜马拉雅上分享声音

《PostgreSQL数据库内核分析》,点开链接可以听听,有点意思。

《数据库系统概论(第4版)》,点开链接可以听听,有点意思。

更多IT有声课程,点我发现更多

第 0 课 PostgreSQL 系列文章列表

其他相关文章分享列表:

第 23 课 PostgreSQL 创建自己的数据库、模式、用户
第 22 课 PostgreSQL 控制文件
第 21 课 PostgreSQL 日志系统
第 16 课 查询过程源码分析
第 15 课 PostgreSQL 系统参数配置
第 14 课 PostgreSQL 数据存储结构
第 13 课 PostgreSQL 存储之Page(页面)源码分析
第 12 课 PostgreSQL 认证方式
第 11 课 PostgreSQL 增加一个内核C函数
第 10 课 PostgreSQL 在内核增加一个配置参数
第 09 课 PostgreSQL 4种进程启动方式
第 08 课 PostgreSQL 事务介绍
第 07 课 PostgreSQL 数据库、模式、表、空间、用户间的关系
第 06 课 PostgreSQL 系统表介绍
第 05 课 PostgreSQL 编译源代码进行开发
第 04 课 PostgreSQL 安装最新的版本
第 03 课 PostgreSQL 代码结构
第 02 课 PostgreSQL 的特性、应用、安装
第 01 课 PostgreSQL 简介及发展历程

上面文章都在专辑中:PostgreSQL专辑链接,点我查看

如果有用,可以收藏这篇文件,随时在更新....

更多交流加群: PostgreSQL内核开发群 876673220

亲,记得点赞、留言、打赏额!!!

上一课
下一课

你可能感兴趣的:(第 4 课 PostgreSQL 安装最新的版本)