本文是针对CPU为 X86架构,操作系统为Ubuntu22.04环境,Postgresql11.17版本。

本文只在Ubuntu22.04下进行验证,理论上UOS也可使用,但未经验证。

适用于无互联网场景。

1.资源文件

libpq5_14.5-0ubuntu0.22.04.1_amd64.deb

libjson-perl_4.04000-1_all.deb

pgdg-keyring_2018.2_all.deb

postgresql-client-common_244.pgdg2

ssl-cert_1.1.2_all.deb

postgresql-common_244.pgdg22.04+1_

libcommon-sense-perl_3.75-2build1_

libtypes-serialiser-perl_1.01-1_al

libjson-xs-perl_4.030-1build3_amd6

libllvm14_1%3a14.0.0-1ubuntu1_amd6

libsensors-config_1%3a3.6.0-7ubunt

libsensors5_1%3a3.6.0-7ubuntu1_amd

postgresql-client-11_11.17-1.pgdg2

postgresql-11_11.17-1.pgdg22.04+1_

sysstat_12.5.2-2build2_amd64.deb

install.sh

下载地址:CSDN下载链接

2.安装

离线安装

适用于无互联网情况。

安装时,需要root权限。

dpkg -i libpq5_14.5-0ubuntu0.22.04.1_amd64.deb&&
dpkg -i libjson-perl_4.04000-1_all.deb&&
dpkg -i pgdg-keyring_2018.2_all.deb&&
dpkg -i postgresql-client-common_244.pgdg22.04+1_all.deb&&
dpkg -i ssl-cert_1.1.2_all.deb&&
dpkg -i postgresql-common_244.pgdg22.04+1_all.deb&&
dpkg -i libcommon-sense-perl_3.75-2build1_amd64.deb&&
dpkg -i libtypes-serialiser-perl_1.01-1_all.deb&&
dpkg -i libjson-xs-perl_4.030-1build3_amd64.deb&&
dpkg -i libllvm14_1%3a14.0.0-1ubuntu1_amd64.deb&&
dpkg -i libsensors-config_1%3a3.6.0-7ubuntu1_all.deb&&
dpkg -i libsensors5_1%3a3.6.0-7ubuntu1_amd64.deb&&
dpkg -i postgresql-client-11_11.17-1.pgdg22.04+1_amd64.deb&&
dpkg -i postgresql-11_11.17-1.pgdg22.04+1_amd64.deb&&
dpkg -i sysstat_12.5.2-2build2_amd64.deb;

或执行目录内 install.sh 脚本

检查

systemctl status postgresql

若能看到服务处于活动状态,则表示安装完成。

root@docker1:/home/yeqiyu/11.17# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMSLoaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)Active: active (exited) since Wed 2022-10-19 14:00:41 UTC; 17s agoMain PID: 1761 (code=exited, status=0/SUCCESS)CPU: 872usOct 19 14:00:41 docker1 systemd[1]: Starting PostgreSQL RDBMS...
Oct 19 14:00:41 docker1 systemd[1]: Finished PostgreSQL RDBMS.

在线安装

仅限于有互联网的情况。

#创建仓库配置
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
#导入仓库秘钥
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
#升级包
sudo apt-get update
#安装
#若需要指定版本,可使用 "postgresql-11"、"postgresql-12"等
sudo apt-get -y install postgresql

3.迁移数据文件

安装完成后,数据文件默认保存在/usr/lib/postgresql中,生产环境我们需要调整数据文件位置。

3.1.停止服务

使用root用户

systemctl stop postgresql

3.2.调整数据目录

使用postgres用户

新建目录(根据具体空间分析)

mkdir /data

chown postgres:postgres /data

#切换用户

su - postgres

#初始化数据库 切换用户后执行。

/usr/lib/postgresql/11/bin/initdb -D /data

执行样例

postgres@docker1:~$ /usr/lib/postgresql/11/bin/initdb -D /data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".Data page checksums are disabled.fixing permissions on existing directory /data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... Etc/UTC
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... okWARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using:/usr/lib/postgresql/11/bin/pg_ctl -D /data -l logfile start

3.3.修改配置文件

使用postgres用户

修改文件posstgresql.conf

vi /etc/postgresql/11/main/postgresql.conf

1.增加 listen_adresses='*'

2.修改数据文件路径

data_directory="/data"

3.修改最大连接数。将max_connections = 100,将该值改为500,保存后重新启动数据库。

修改配置文件pg_hba.conf

vi /etc/postgresql/11/main/pg_hba.conf

在末尾增加

host all all 0.0.0.0/0 md5

3.4.启动postgres

使用postgres用户

注意:此过程只进行一次,使其在/data下生成相应文件

/usr/lib/postgresql/11/bin/pg_ctl -D /data -l logfile start

/usr/lib/postgresql/11/bin/pg_ctl -D /data -l logfile stop

验证

下图是迁移前后数据文件的情况,可重点关注文件的更新时间,从而验证数据迁移是否完成。

此时,可以删除掉原有目录的数据文件,避免日后被误导。

4.安装插件

使用postgres用户

登录至postgres数据库

psql

修改用户密码

postgres=# ALTER USER postgres WITH PASSWORD 'postgres';

启用特性uuid-ossp

postgres=# create extension "uuid-ossp";
CREATE EXTENSION

验证特性是否启用成功

postgres-# \dx已安装扩展列表名称 | 版本 | 架构模式 | 描述
-----------+------+------------+-------------------------------------------------plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural languageuuid-ossp | 1.1 | public | generate universally unique identifiers (UUIDs)

截图

5.常用操作

在root下运行

查看服务状态

systemctl status postgresql

停止服务

systemctl stop postgresql

启动服务

systemctl start postgresql

重启服务

systemctl restart postgresql

至此,postgres安装完成。


关键词:pg11、安装、迁移。

PostgreSQL11.17离线安装过程(X86+Ubuntu)相关推荐

  1. Python IDE专用编辑器PyCharm下载及配置安装过程(Ubuntu环境)

    这几天在折腾Python环境,显示把笔记本安装Ubuntu Linux环境系统,然后基本的Python环境都安装完毕之后需要安装传说中在其平台中最好的代码编辑和管理工具PyCharm,于是就根据网上的 ...

  2. MinGW-w64 离线安装过程记录

    在线安装 如果在墙外或者有办法出墙的话可以选择在线安装.参考大神的文章:MinGW-w64安装教程 离线安装 如果尝试在线安装失败,可以尝试离线安装,方法如下: 打开官方网站 点击下面的SourceF ...

  3. mysql5.7下载,离线安装过程

    本篇文章主要是记录一下自己的安装过程及安装中遇到的问题. 文章目录 一.可能遇到的问题 二.下载 三.安装 四.配置环境 一.可能遇到的问题 首先说一下安装过程可能遇到的问题,因为安装的电脑是处于无法 ...

  4. ELK7.17离线安装

    ElasticSearch安装 版本:Centos7.ElasticSearch7.17.6 节点列表 es1:27.196.38.200 master.data es2:27.196.38.201 ...

  5. linux离线安装snap应用,Ubuntu使用snap安装常用软件

    1,snap简介 什么是snap,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立.所以使用snap包的好处就是它解决了应用程序之间的依赖问题 ...

  6. 使用UltraISO软碟通离线安装Centos8.3.2011过程中遇到的问题

    使用UltraISO软碟通离线安装Centos8.3.2011过程中遇到的问题 2022年08月19日更新 2022年06月20日更新 FedorMediaWriter 前言 以下是在本次软碟通离线安 ...

  7. SharePoint 2016 必备组件离线安装介绍

    前言 SharePoint 必备组件安装,一直以来都是SharePoint安装过程中的最大的坑,尤其是不能联网的服务器.博主在这里简单介绍一下离线安装过程,并附组件包下载以及安装命令,并且在windo ...

  8. Jenkins集成Sonar(3/3)- 安装SonarQube Scanner进行扫描(离线安装)

    安装方式选择: 在线安装:直接在Jenkins>系统管理>插件管理>可选插件,搜索Sonar 离线安装:下载sonar插件,将插件解压放入~/.jenkins/plugins/下即可 ...

  9. python怎么安装pyinstaller_Python离线安装PyInstaller

    PyInstaller--Python的打包工具 一.简单介绍 可以将python程序打包成一个独立的执行文件. pyinstaller 执行完毕后,源文件所在目录将生成dist和build两个文件夹 ...

最新文章

  1. HDU 5616 Jam's balance(01背包)
  2. Mybatis底层原理学习(二):从源码角度分析一次查询操作过程
  3. 51CTO路由技术电子书
  4. python那么慢为什么还有人用-Python执行效率慢,为什么还这么火?【黑马程序员】...
  5. 关闭json引用的方式
  6. visio 图标_visio有效提升工作效率
  7. [转] boost undefined reference to 'pthread_create 问题
  8. 我常用的crontab命令
  9. nginx学习笔记01
  10. ssh连接本地虚拟机
  11. PHP字符串函数ucfirst( 将字符串的首字母转换为大写)
  12. 关于CPU架构之总结
  13. 松下P2卡数据恢复-删除/格式化100%完美恢复-解决方案
  14. 笔记本锁定计算机怎么解锁,笔记本电脑键盘怎么解锁呢
  15. 使用 @Resource或@Autowire时 Idea报错Could not autowire. No beans of 'xxxService' type found. more..出现红色波浪线
  16. 徐无忌并发编程笔记:无锁机制CAS及其底层实现原理?
  17. You are pushing more GUIClips than you are popping. Make sure they are balanced(Unity Console错误提示)
  18. 学习笔记(8):C#急速入门-变量的命名规则
  19. 纯前端实现上传下载(后端存取json)xlsx
  20. 国产自主研发CAD-浩辰CAD

热门文章

  1. linux远程ipv6端口,SSH端口转发笔记(ipv6 与 端口映射)
  2. 【C语言】C语言实现一个函数 判断是否是素数
  3. JavaScript函数的命名方式
  4. 郑州大学校园网连接有线网Linux和windows还有mac系统
  5. matlab调用glpk,基于AMPL建模MATLAB平台调用Gurobi,对HEMs集成的VPP进行优化处理。(第一步-简单HEMs的优化模型建立)...
  6. 命令行执行php脚本报错could not open input file
  7. 北京络捷斯特第三方物流信息系统技术解析(三) 订单录入-出库订单
  8. 经验之谈,Java自学多久可以找到工作?
  9. 【一天一门编程语言】Matlab 语言程序设计极简教程
  10. 我暗访了快手上的杀马特,真相令我汗颜