关系数据库-postgresql-基础

文章目录

介绍

  1. Postgresql官网
  2. 开源的关系型数据库;

linux下安装

  1. Ubuntu下可以使用apt包管理器安装;参考地址
  2. CentOS下可以使用yum包管理器安装;
  3. OpenSuse下可以使用zypper包管理器安装;参考地址
  4. 使用包管理器有时安装不到较新的版本,可以选择源码安装;

postgresql源码安装

这里以CentOS为例:

  1. 源码下载地址,选择一个版本;
  2. 解压文件;
bash 复制代码
# 解压到指定的目录
tar -zxvf postgresql-12.8.tar.gz -C /home/laufing
  1. 进入到解压目录,配置
bash 复制代码
cd  postgresql-12.8

# 创建目录
mkdir /usr/local/pgsql  # root 用户
# 安装依赖
yum install -y gcc readline-devel zlib-devel
# 配置
./configure --prefix=/usr/local/pgsql  # 配置安装目录
  1. 编译安装
bash 复制代码
# 并行编译
make -j8
# 安装
make install 
#PostgreSQL installation complete.
  1. 配置环境变量
bash 复制代码
# root 用户配置/etc/profile
# 一般用户配置 .bashrc

export PATH=/usr/local/pgsql/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

source /etc/profile 使文件生效

  1. 如果是root用户,安装好后是不允许以root身份运行数据库服务的,需要创建一个普通用户。
bash 复制代码
# 添加一个普通用户
# -d 指定家目录 -m 自动创建家目录
# -g 组
# -s 使用的shell
useradd jack -d /home/jack -m -g root -s /bin/bash

# 设置密码
passwd jack
xxxxx

# 更改pgsql所属用户
chown -R jack:root /usr/local/pgsql
  1. 初始化数据库,并配置
bash 复制代码
# 从root切换到普通用户
su - jack
# 初始化db,初始化完成会生成配置文件等
mkdir /home/jack/pgsql/data
initdb -D /home/jack/pgsql/data  

# 配置
vim data/postgresql.conf
listen_addresses = "*"
port = 5432
bytea = "escape"

vim postgresql_hba.conf
# 添加
host all all 0.0.0.0/0 md5
  1. 启动数据库
bash 复制代码
pg_ctl -D /home/laufing/pgsql/data -l logfile start
# stop or restart
  1. 客户端连接,并创建管理账户、普通账户
bash 复制代码
# 连接 postgres 数据库
psql -U jack -d postgres

# 创建管理账户
create user dba password  'dba' superuser createrole createdb;
grant jack to dba;   

# 创建普通用户
create user lauf with password 'lauf';
create database test owner lauf;
grant all privileges on database test to lauf;

# 
\l 查看所有的库
\d 查看当前库所有的表
\d stu_t  查看表结构
\q 退出
exit 退出

使用navicat 连接postgresql数据库, 源码安装完成。

  1. 运行postgres、pg_ctl程序必须是普通用户(不能root用户)
  2. 使用创建的数据库普通用户,进行连接。
相关推荐
每天都要进步哦1 小时前
SQL单行函数详解:字符、数字、日期、转换与通用函数全解析
数据库·mysql
不剪发的Tony老师1 小时前
VeloxDB:一款免费开源的轻量级数据库管理工具
数据库·sql
dotnet901 小时前
批量生成所有表的修改脚本
数据库·sql·oracle
@Mike@1 小时前
06-数据库学习笔记(存储模型与数据压缩)
数据库·笔记·学习
南凉北往2 小时前
PandasAI连接LLM对MySQL数据库进行数据分析
数据库·mysql·数据分析
回眸不遇2 小时前
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
数据库·qt·系统架构
2601_965798472 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
zdl6863 小时前
EasyMarkets:“机器人商业化仍待验证”
数据库·机器人
Freak嵌入式3 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
Elastic 中国社区官方博客3 小时前
Elastic 和 OpenAI 合作,将前沿智能引入非结构化企业数据
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai