(CentOS 7) PostgreSQL安装与配置

2023-11-13

一、安装相关配置软件

[root@www1 ~]# yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 perl-Module-Install.noarch

[root@www1 ~]# yum install -y readline-devel.x86_64

2、下载软件包

2.1.postgresql官网下载最新的源码:

https://ftp.postgresql.org/pub/source/

2.2.下载uuid ossp库

ftp.ossp.org/pkg/lib/uuid/

3、创建postgres用户

[root@www1 ~]# useradd postgres

4、上传源码包并解压编译安装

4.1.解压、编译、安装uuid

[root@www1 /]# tar -zxf uuid-1.6.2.tar.gz

[root@www1 /]# cd uuid-1.6.2

[root@www1 uuid-1.6.2]# ./configure

[root@www1 uuid-1.6.2]# make && make install

4.2.解压postgresql

[root@www1 /]# tar -zxf postgresql-12.0.tar.gz

[root@www1 /]# cd postgresql-12.0

5、配置prefix存储位置

[root@www1 postgresql-12.0]# ./configure --prefix=/home/postgres --enable-thread-safety --with-uuid=ossp --with-libs=/usr/local/lib --with-includes=/usr/local/include

6、编译&安装

[root@www1 postgresql-12.0]# make && make install

[root@www1 postgresql-12.0]# cd contrib/

[root@www1 contrib]# make && make install

7、配置uuid的软链接

[root@www1 contrib]# find / -name libuuid.so.16

/usr/local/lib/libuuid.so.16

/home/postgres/lib/libuuid.so.16

/uuid-1.6.2/.libs/libuuid.so.16

[root@www1 contrib]# ln -s /usr/local/lib/libuuid.so.16 /home/postgres/lib

8、设置用户权限

[root@www1 contrib]# chown -R postgres.postgres /home/postgres/

9、切换到创建的用户下配置环境变量

编辑用户目录下.bashrc文件 主要是设置PGDATA变量

[root@www1 /]# su - postgres

[postgres@www1 ~]$ vim .bashrc

PGHOME=/home/postgres

export PGHOME

PGDATA=$PGHOME/data

export PGDATA

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

export PATH

10、重新启用配置文件

[postgres@www1 ~]$ source .bashrc

11、初始化数据库

[postgres@www1 ~]$ initdb -D $PGDATA

12、启动数据库

[postgres@www1 ~]$ pg_ctl start -D $PGDATA

13、设置用户密码

[postgres@www1 ~]$ psql -U postgres

psql (12.0)

Type "help" for help.

postgres=# \password

Enter new password:

Enter it again:

postgres=# \q  #使用\q命令退出控制台

14、设置监听端口

[postgres@www1 ~]$ vim $PGDATA/pg_hba.conf

85 # IPv4 local connections:

86 host    all             all             0.0.0.0/0            trust

[postgres@www1 ~]$ vim $PGDATA/postgresql.conf

# - Connection Settings -

listen_addresses = '*'                                             

port = 5432

15、重启pg服务生效

[postgres@www1 ~]$  pg_ctl restart -D $PGDATA

16、登录数据库以及基本使用(需要指定的用户才能够进行数据库的管理)

[postgres@www1 ~]$ psql -U postgres -h 127.0.0.1 -p 5432

psql (12.0)

Type "help" for help.

postgres=#

-U指:用户 -d指:数据库 -h指:服务器 -p指:端口

17、若当前已经切换到指定的数据库用户直接使用psql登录

[postgres@www1 ~]$ psql

psql (12.0)

Type "help" for help

postgres=#

常用命令详情:

\h:查看SQL命令的解释 比如\h select

\?:查看psql命令列表

\l:列出所有数据库

\c [database_name]:连接其他数据库

\d:列出当前数据库的所有表格

\d [table_name]:列出某一张表格的结构

\du:列出所有用户

\e:打开文本编辑器

\conninfo:列出当前数据库和连接的信息

18、创建数据库

postgres=# create database demo;

CREATE DATABASE

19、查看创建的数据库

postgres-# \l

                                  List of databases

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   

-----------+----------+----------+-------------+-------------+-----------------------

 demo      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

 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

(4 rows)

20、使用创建的数据库

postgres-#  \c demo

You are now connected to database "demo" as user "postgres"

21、删除数据库

[postgres@www1 ~]$ dropdb demo

[postgres@www1 ~]$ psql -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)

22、创建测试表

postgres=# create table test_table (no int,name text);

CREATE TABLE

23、显示创建的测试表

postgres=# \dt

           List of relations

 Schema |    Name    | Type  |  Owner   

--------+------------+-------+----------

 public | test_table | table | postgres

(1 row)

24、插入数据到测试表

postgres=# insert into test_table (no,name) values (01,'CentOS');

INSERT 0 1

25、确认数据是否插入表

postgres=# select * from test_table;

 no |  name  

----+--------

  1 | CentOS

(1 row)

26、删除测试表

postgres=# drop table test_table;

DROP TABLE

postgres=# \dt

Did not find any relations.

ps:postgres用户切换回root用户不成功的解决方法

1.编辑/etc/sudoers文件

[root@www1 ~]# vim /etc/sudoers

2.添加提升权限的用户信息

 91 ## Allow root to run any commands anywhere

 92 root     ALL=(ALL)      ALL

 93 postgres  ALL=(ALL)      ALL

3.切换回普通用户测试

[root@www1 ~]# su postgres

[postgres@www1 root]$ sudo su root

[sudo] postgres 的密码:

[root@www1 ~]#

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(CentOS 7) PostgreSQL安装与配置 的相关文章

  • 如何禁用 PostgreSQL 的所有优化

    我正在研究查询优化 想知道每种优化对查询有多大帮助 上次 我得到了一个answer https stackoverflow com questions 22785064 how to disable enable different que
  • 为什么我无法设置 SSHFS 共享? “OSXFUSE 文件系统不可用”错误

    我正在尝试设置从本地计算机到远程计算机的 SSHFS 共享 但它不起作用 我收到错误 OSXFUSE 文件系统不可用 见下文 如何解决这个问题 仅供参考 我的本地计算机是运行 OSX 10 9 3 的 MacBook Pro 笔记本电脑 远
  • 不必记住我要拉和推的分支的最佳别名是什么?

    这里非常懒 不喜欢输入太多 特别不喜欢记住我在哪个分支上拉出和推入 我经常犯这样的错误git pull来自非主分支 或者更糟糕的是 进行推送并且目标分支不正确 并且我留下了未推送或未提交的更改 我在我的 bashrc以下别名可以提供帮助 a
  • (一张表)插入行

    这个问题是继续this one https stackoverflow com questions 56246041 one table get rows not in without union 我有下表egr offid groupid
  • 如果不存在则插入表并在两种情况下返回 id

    我正在尝试编写一个复杂的查询POSTGRES 这个问题是那个问题的子查询 这是我的表 id 是主键并且自动递增 id appid name 1 2 abc 2 2 cde 在此表中 我想获取名称为 xyz 且 appid 2 的 id 如果
  • RTNETLINK回答:没有这样的文件或目录错误

    1 ETH 1 2 LATENCY 2 3 LOSS 3 4 JITTER 4 5 BW 5 6 sudo sbin tc qdisc del dev eth0 root 7 sudo sbin tc qdisc add dev eth0
  • 确保唯一 ID 的 PostgreSQL 序列

    拥有一个以列 ID 作为主键的表 以及一个包含由序列 myUniqueSequence 定义的整数的列 MyNumber 我想在 PostgreSQL 中定义 myUniqueSequence 它将返回 MyNumber 列的下一个可用且唯
  • 如何通过jiffies实现经过时间

    我想了解如何在 C 中使用 jiffies 实现经过时间 假设我有一系列指令 include
  • 如何在shell脚本中读取单个字符

    我想要类似的选项getche 如何从命令行读取单个字符输入 Using read命令我们可以做到吗 在巴什中 read可以做到 read n1 ans
  • Gtk+3 &C & Glade 问题

    我尝试在 Linux 上用 C 和 Glade 制作一个简单的 Gui 程序 我编写了一个简单的程序并用 Glade 设计了一个窗口 当我运行代码时 它说 gtk test 23026 Gtk CRITICAL gtk widget sho
  • Linux CFS 调度程序代码在哪里?

    我有3 13版本的完整linux源代码 我试图找到 CFS 调度程序的源代码 根据流行书籍 它应该驻留在 kernel sched c 中作为基本调度程序代码 而 kernel sched fair c 专门针对 CFS 代码 我刚刚在 3
  • Linux中根据USB VID:PID获取设备路径

    如果我插入一个设备 比如说 dev ttyUSB0我想知道号码0基于其 VID PID 通过lsusb 我怎样才能在 C Linux 中做到这一点 我有这个代码来查找一台打印机设备 如果有帮助的话 int printer open void
  • 在 Linux 内核中使用断言

    我有一个问题assert 在Linux中 我可以在内核中使用它吗 如果不是 例如 如果我不想输入 NULL 指针 您通常会使用什么技术 对应的内核宏是BUG ON and WARN ON 前者适用于当您想让内核恐慌并使系统崩溃 即不可恢复的
  • rusage 进程/线程的 Cpu 时间不可能

    我正在计算进程 线程正在使用的 cpu 时间之间的增量 以及某个函数的调用之间的增量 我得到了进程 cpu 时间不可能的值 有时下一次调用会返回较小的 cpu 时间 这是不可能的 这是我用来计算CPU时间的代码 u64 CpuTime ca
  • __NR_gettid 和 SYS_gettid 之间的区别

    我只是在寻找在 Linux 中获取唯一线程 ID 的方法 我发现的方法是将两个参数中的任何一个作为参数进行系统调用 NR gettid OR SYS gettid 有人能解释一下它们之间有何不同吗 Nothing in
  • 让 django 不插入某些字段

    我有一个针对 postgresql 数据库表的 Django 模型 我希望 Django 在对象创建期间不要插入 field 3 作为 DB 应该填写的时间戳字段 class AbcModel model id models AutoFie
  • Boost 安装在我的 Ubuntu 上的什么位置?

    我从 Boost 网站下载 Boost 1 54 tar 然后按照此处 1 详细说明进行操作 特别是 我想将我的 boost 库安装在文件夹中 HOME BOOST 使用这个 bootstrap sh prefix HOME BOOST 但
  • linux + ksh + 向下舍入或向上舍入 - 浮点数

    在我的 ksh 脚本中 我只需要计算整数 有时我会得到浮点数 例如 3 49 或 4 8 等 所以我需要根据以下规则将浮点数转换为整数 示例 3 49 will be 3 2 9 will be 3 4 1 will be 4 23 51
  • 如何在 SQLAlchemy 中连接两个表中的数据?

    我有3张桌子 Account User and Organization Account由组成id name and organization id User由组成email and organization id Organization
  • TypeORM 插入带有外键的行

    我之间有 OneToMany 关系聊天室1 M gt 留言我遇到的问题是 每当我尝试插入一条消息 或大量消息 时 ChatRoom 的外键为空 此外 我正在上传我的设置 Entity messages export class Messag

随机推荐

  • 朋友干副业被发现,果断辞职!

    关注公众号 人工智能与大数据精选 点击 最有价值 拉你进群 经常有年轻程序员问我 工作之余可以干点什么副业 不影响工作还能赚点钱 其实像接外包 写作 讲课 知识付费啥的 有很多方式 身边也有朋友通过积累一些外包资源 接外包的收入是年薪的2倍
  • 华为od的一些算法题

    报数游戏 100个人围成一圈 每个人有一个编码 编号从1开始到100 他们从1开始依次报数 报到为M的人自动退出圈圈 然后下一个人接着从1开始报数 直到剩余的人数小于M 请问最后剩余的人在原先的编号为多少 输入描述 输入一个整数参数M 输出
  • Shell常用命令与工具(一)

    本章内容如下 11 1 ls 功能 列出目录内容 常用选项 a 显示所有文件 包括隐藏的 l 长格式列出信息 i 显示文件inode号 t 按修改时间排序 r 按修改时间倒序排序 示例 按修改时间排序 ls t 按修改时间倒序排序 ls r
  • CCF 202209-2 何以包邮? (01背包动态规划练习)

    一 先温习一下01背包问题 有N件物品和一个容量为V的背包 第i件物品的体积是c i 价值是w i 求解将哪些物品装入背包可使价值总和最大 条件汇总 背包限制容量 Z 此时背包容量 C 物品 1 i n 代表编号 重量 wight 1 wi
  • 日期、时间选择控件 - datetimepicker

    http www bootcss com p bootstrap datetimepicker demo htm 页面上添加控件
  • Grafana loki部署及使用及问题处理方法(超详细)

    一 下载软件 因为我是本地测试 所以用的windows版本的包 loki服务window版本的安装包下载地址 下载地址 选择 promtail windows版本的安装包下载地址 下载地址 Grafana服务的下载地址 下载地址 二 配置文
  • 能将阿里云盘挂载为webdav的webdav-aliyundriver

    虽然从内测开始就申请了阿里云盘 但是一直也没怎么用 网上一直强调的是阿里云盘的速度 但是在老苏看来天翼云也不算差 相对来说阿里云盘作为新的云盘 在功能上和百度云盘 天翼云盘这些成熟产品比还是存在很多欠缺的 直到我发现了 webdav ali
  • 【页面编号】假设页面从1开始连续编号,一共1000页。计算所有页码中的十进制数字的总个数

    题目 假设页面从1开始连续编号 一共1000页 计算所有页码中的十进制数字的总个数 这题很简单 就是求0 9出现次数的总和 public class text3 0 9为十进制数字 本题要求为统计1 1000中出现的十进制数字总数 分析 对
  • vscode安装使用教程

    一 什么是vscode Visual Studio Code 简称 VS Code VSC 是一款免费开源的现代化轻量级代码编辑器 支持几乎所有主流的开发语言的语法高亮 智能代码补全 自定义热键 括号匹配 代码片段 代码对比 Diff GI
  • 2022多益网络春招之最后一场--软件工程师笔试

    题型 选择 填空 简答 算法 凭借自己的回忆说一下题目类型 选择题 涉及到的题型主要是Java基础的题目 例如分析代码的时间复杂度 一些排序算法的时间复杂度 二叉排序树 sql语句 很简单 散列表 链表 什么数据结构具有记忆功能 连接查询
  • C++基础学习-29类模板概念,类模板定义、使用

    目录 一 概述 二 类模板的定义 三 类模板的成员函数 四 模板类名字的使用 五 非类模板参数 一 概述 用类模板来实例化一个特定的类 编译器不能为类模板推断参数类型 所以为了使用类模板 我们必须在类模板名后边用 lt gt 来提供额外的信
  • module.alias的更新

    一般通过hotplug的设备会通过module alias 中的信息来加载device对应的driver linux 1wlr lib modules 4 4 68 2 default modinfo ipmi ssif filename
  • vue3+vite+element plus+el-table中如何放置本地图片

    遇到bug 解决方案 vue组件 js代码
  • LZ77算法压缩和解压缩

    LZ77简介 Ziv和Lempel于1977年发表题为 顺序数据压缩的一个通用算法 A Universal Algorithm for Sequential Data Compression 的论文 论文中描述的算法被后人称为LZ77算法
  • 计算机的性能指标完全由cpu决定是否正确,计算机的性能指标完全由CPU决定对吗...

    电脑性能由CPU 中央处理器 主板 显卡 网卡 声卡等共同决定 如果主板 显卡不行 CPU再好也不行 这5个中 CPU 主板 显卡在决定电脑性能中占的比重大一些 推荐学习 phpstorm 1 运算速度 计算机运算速度是指每秒钟所能执行的指
  • 记录Windows10中Docker安装Mysql5.7

    DockerHub 搜索Mysql找到官方镜像 官方镜像地址 拉取mysql5 7版本镜像 拉取 docker pull mysql 5 7 查看docker 镜像 就能看到拉取的镜像 docker images 运行一个mysql容器 创
  • 电脑开机check_码住!常见电脑蓝屏代码和解决方法

    电脑蓝屏是很多人都碰到过的突发情况 引起电脑蓝屏的原因有很多 在软件方面 可能是因为个别软件或者驱动导致的 也可能是电脑中了病毒或者操作系统损坏等原因 硬件方面 可能是因为电脑散热不良 内存损坏 内存条接触不良或者电脑超频过度 硬盘坏道等问
  • anaconda换源和恢复默认源

    1 查看当前环境下的源 conda config show sources 2 换清华源 conda config add channels https mirrors tuna tsinghua edu cn anaconda pkgs
  • Android插件化主流框架和实现原理

    写在前面 这几年移动开发业界兴起的 插件化技术 的旋风 各个大厂都推出了自己的插件化框架 各种开源框架都评价自身功能优越性 令人目不暇接 随着公司业务快速发展 项目增多 开发资源却有限 如何能在有限资源内满足需求和项目的增长 同时又能快速响
  • (CentOS 7) PostgreSQL安装与配置

    一 安装相关配置软件 root www1 yum install y gcc x86 64 glibc x86 64 glibc devel x86 64 vim enhanced x86 64 gcc java apr apr devel