(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安装与配置 的相关文章

  • Postgres:跨行连接 JSONB 值?

    我正在掌握 Postgres gt 9 5 中的 JSONB 功能 并且很喜欢它 但遇到了障碍 我读过有关连接 JSON 字段的功能 所以 a 1 b 2 创造 a 1 b 2 但我想在多行的同一字段中执行此操作 例如 select row
  • 无法声明接口:资源繁忙

    我正在使用 USB4Java 低级版本 并且基本上是根据这段代码工作的here http www mets blog com java usb communication usb4java 我在 Ubuntu 中工作 遇到了有关权限的问题
  • 如何使用 pgAdmin 恢复 postgreSQL 转储文件?

    我有一个 dmp 文件 想要从中恢复数据库 使用 pgAdmin 我该怎么做 在 PgAdmin3 内 在您正在使用的服务器中创建一个新数据库 右键单击该数据库并选择 恢复 使用 浏览器 按钮选择 dmp 文件 选择 恢复 开始恢复数据库
  • 在Linux上如何找到当前目录的所有直接子目录?

    在Linux上如何找到当前目录的所有直接子目录 最简单的方法是通过编写来利用 shell 通配功能echo 如果你喜欢使用ls 例如要应用格式 排序选项 请使其ls d 解释 斜杠确保仅考虑目录 而不考虑文件 Option d 列出目录本身
  • 疯狂的 crond 行为。不断使 bash 进程失效

    我有一个看起来像这样的 crontab SHELL bin bash PATH sbin bin usr sbin usr bin MAILTO root HOME 0 59 var www html private fivemin zda
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 如何仅使用 grep/sed 提取子字符串和数字

    我有一个包含文本和数字的文本文件 我想使用 grep 只提取我需要的数字 例如 给定一个文件如下 miss rate 0 21 ipc 222 stalls n shdmem 112 所以说我只想提取数据miss rate这是0 21 如何
  • 如何解决错误:psycopg2 构建轮失败?

    我遇到问题了psycopg2 的构建轮子 thru pip install r requirements txt 我使用的是 ubuntu 20 04 python 3 8 5 venv 这是我的要求 txt amqp 2 6 1 anyj
  • 在 CentOS 上安装 Thrift:找不到 Boost 1.40 或更高版本

    尝试安装 Thrift 时我无法摆脱这个错误 configure checking for boostlib gt 1 40 0 configure WARNING We could not detect the boost librari
  • java轻量级调试器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个轻量级的 java 调试器 无论是在 IDE 中还是独立的 命令行或 GUI 中 我正在使用 ant 和 vim 并且尝试过
  • PHP CLI 有几秒钟的延迟

    当我在 CLI 模式下运行 PHP 时 CentOS 6 5 下的 PHP 5 6 6 使用 VirtualBox 作为虚拟机运行 即使我只检查版本并且禁用 php ini 文件 也会有几秒钟的延迟 time php n v PHP 5 6
  • 需要一种临时重定向 STDOUT 的方法

    我知道如何在 Linux 中重定向输出 问题是 我的 bash 脚本中有很多输出 我不想输入类似的内容 echo foo gt gt bar 一遍又一遍地 我更愿意做这样的事情 hey bash for the time being put
  • 将 React 应用程序作为后台进程运行

    我对部署前端代码完全陌生 因此提出了这个问题 我有一个 React 应用程序 需要作为后台进程运行 但是我对如何执行此操作有点困惑 我运行一个 npm 脚本 npm run build 在服务器上构建 缩小和服务项目 构建过程的相关代码是这
  • Heroku: PG::ConnectionBad: 无法连接到服务器: 连接被拒绝

    我尝试将新应用程序推送到 heroku 并出现此错误PG ConnectionBad could not connect to server Connection refused 这是我的 gemfile 与此有关系吗 我正在使用 spre
  • 在 PostgreSQL 中向日期添加月份显示语法错误

    我使用的是Postgres 9 0版本 我想在日期中添加一些月份来计算新日期并在表中更新 这里要添加的月份数将是整数变量 我的代码如下 declare numberofmonths smallint 5 update salereg1 se
  • 将 postgres 连接到 django 时遇到问题

    以下文档来自Django Postgres 文档 https docs djangoproject com en 4 1 ref databases postgresql notes我添加到我的settings py 在我设置的设置中 DA
  • 时态数据库设计,有一些变化(实时行与草稿行)

    我正在考虑实现对象版本控制 同时需要同时拥有活动对象和草稿对象 并且可以利用某人在这方面的经验的见解 因为我开始怀疑是否有可能在没有潜在可怕的黑客攻击的情况下实现这一点 为了示例 我将把它分解为带有标签的帖子 但我的用例更一般 涉及缓慢改变
  • cURL 错误 28:5001 毫秒后解析超时

    我使用 WordPress 最近将我的网站从 cpanel 主机移动到带有 directadmin 面板的 Linux 服务器 转账后立即发现客户在通过EDD插件下载时出现以下错误 cURL 错误 28 5001 毫秒后解析超时 我也遇到了
  • 在一个命令中选择或插入一行

    我使用的是 PostgreSQL 9 0 我有一个表 其中只有一个人工键 自动递增序列 和另一个唯一键 是的 这个表是有原因的 我想通过另一个键查找 ID 或者如果它不存在 则插入它 SELECT id FROM mytable WHERE

随机推荐

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

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