PostgeSQL入门

一、什么是PostgreSQL
PostgreSQL是一个基于POSTGRES 版本 4.2的对象关系数据库管理系统 ( ORDBMS ) ,由加州大学伯克利分校计算机科学系开发。POSTGRES 开创了许多概念,这些概念直到很久以后才在某些商业数据库系统中出现。

PostgreSQL是这个原始伯克利代码的开源后代。它支持大部分 SQL 标准并提供许多现代特性:

  • 复杂查询
  • 外键
  • 触发器
  • 可更新视图
  • 事务
  • 多版本并发控制

此外,用户可以通过多种方式扩展PostgreSQL,例如通过添加新的:

  • 数据类型
  • 函数
  • 操作符
  • 聚合函数
  • 索引方法
  • 存储过程语言

二、从源码安装
下载网址是https://www.postgresql.org/download/

wget https://ftp.postgresql.org/pub/source/v14.5/postgresql-14.5.tar.gz

获取安装包

配置
安装过程的第一步是为您的系统配置源代码树并选择您想要的选项。这是通过运行configure脚本来完成的。对于默认安装,只需输入:

./configure

安装位置配置选项

    --prefix=PREFIX
    安装目录下的所有文件,PREFIX而不是/usr/local/pgsql. 实际文件将安装到各个子目录中;任何文件都不会直接安装到PREFIX目录中。

    --exec-prefix=EXEC-PREFIX
    EXEC-PREFIX您可以在与设置的前缀不同的前缀下安装与体系结构相关的文件PREFIX。这对于在主机之间共享与体系结构无关的文件很有用。如果你忽略它,那么EXEC-PREFIX设置为等于,PREFIX并且依赖于架构的文件和独立的文件都将安装在同一棵树下,这可能是你想要的。

    --bindir=DIRECTORY
    指定可执行程序的目录。默认值为EXEC-PREFIX/bin,通常表示/usr/local/pgsql/bin。

    --sysconfdir=DIRECTORY
    PREFIX/etc默认情况下,设置各种配置文件的目录。

    --libdir=DIRECTORY
    设置安装库和动态可加载模块的位置。默认值为EXEC-PREFIX/lib.

    --includedir=DIRECTORY
    设置安装 C 和 C++ 头文件的目录。默认值为PREFIX/include.

    --datarootdir=DIRECTORY
    设置各类只读数据文件的根目录。这仅设置以下某些选项的默认值。默认值为PREFIX/share.

    --datadir=DIRECTORY
    设置已安装程序使用的只读数据文件的目录。默认值为DATAROOTDIR. 请注意,这与放置数据库文件的位置无关。

    --localedir=DIRECTORY
    设置安装语言环境数据的目录,特别是消息翻译目录文件。默认值为DATAROOTDIR/locale.

    --mandir=DIRECTORY
    PostgreSQL附带的手册页将安装在该目录下,在它们各自的子目录中。默认值为.manxDATAROOTDIR/man

    --docdir=DIRECTORY
    设置安装文档文件的根目录,“ man ”页除外。这仅设置以下选项的默认值。此选项的默认值为DATAROOTDIR/doc/postgresql。

    --htmldir=DIRECTORY
    PostgreSQL的 HTML 格式文档将安装在此目录下。默认值为DATAROOTDIR.

构建
要开始构建,请键入以下任一项:

make
make all

如果您想构建可以构建的所有内容,包括文档(HTML 和手册页)和附加模块(contrib),请输入:

make world

如果您想构建可以构建的所有内容,包括附加模块 ( contrib),但没有文档,请键入:

make world-bin

要安装PostgreSQL,请输入:

make install

要安装文档(HTML 和手册页),请输入:

make install-docs

要安装全部输入:

make install-world

要想安装全部但没有文档输入:

make install-world-bin

下面进行安装
系统:centos8
解压文件

tar -zxvf postgresql-14.5.tar.gz

新建用户postgres:

adduser postgres

设置密码:

passwd postgres

输入./configure进行配置

出现这个问题是由于没有gcc编译器,通过下面命令安装:

yum -y install gcc

出现这个问题,可通过下面命令解决:

yum install -y readline-devel

出现这个问题,运行下面命令解决:

yum install zlib-devel

构建:

make world

安装:

make install-world

创建数据目录并更改目录所有者:

 mkdir /usr/local/pgsql/data
 chown postgres /usr/local/pgsql/data

初始化数据库并指定数据目录位置:

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

启动服务:

/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

登录:

/usr/local/pgsql/bin/psql

更改postgres用户密码:

alter user postgres with password '123456'; 

重新载入配置:

/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile reload

配置环境变量:
在用户主目录下的.bash_profile文件里面加入

export PGPORT=5432
export PGHOME=/usr/local/pgsql   
export PGDATA=/usr/local/pgsql/data
export LD_LIBRARY_PATH=/usr/local/pgslq/lib
export PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin

新建数据库:

createdb test

登录进去查看:

删除数据库:

dropdb test

posted @ 2022-08-30 15:40  shigp1  阅读(248)  评论(0)    收藏  举报