Linux安装部署数据库PostgreSQL
一、简介
PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。BDS协议,这个协议基本和MIT开源协议一样,说人话,就是你可以对PostgreSQL进行一些封装,然后商业化是收费。PostgreSQL的名字咋来的。之前叫Ingres,后面为了解决一些ingres中的一些问题,作为后面的ingres,就起名叫postgre。
PostgreSQL版本迭代的速度比较快,现在最新的正式的发布版本,已经到了15.RELEASE。
PGSQL的版本选择一般有两种:
如果为了稳定的运行,推荐使用12.x版本。
如果想体验新特性,推荐使用14.x版本。
PGSQL允许跨版本升级,而且没有什么大问题。
PGSQL社区特别活跃,基本是三个月一发版。意味着很多常见的BUG都可以得到及时的修复。
PGSQL其实在国外使用的比较多,国内暂时还是以MySQL为主。
但是国内很多国产数据库都是基于PGSQL做的二次封装:比如华为GaussDB还有腾讯的Tbase等等。真实很多公司原来玩的Oracle,直接平转到PGSQL。同时国内的很多云产品都支持PGSQL了。
PGSQL因为开源,有很多做数据迁移的工具,可以让你快速的从MySQL,SQLServer,Oracle直接平转到PGSQL中内部,比如pgloader这样的数据迁移工具。
二、安装环境
1、虚拟机环境
主机部署环境:
Linux 版本 处理器类型 PostgreSQL 版本
CentOS Linux release 7.9 x86_64 postgresql 14
2、下载安装包
官网地址:https://www.postgresql.org
下载地址:https://www.postgresql.org/download/
3、使用 yum 下载安装 pgsql 服务
# 下载rpm安装包 $ yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # 使用rpm包安装 $ yum install -y postgresql14-server
查看安装的 postgresql 版本,确认是否安装成功
$ rpm -qa | grep postgresql postgresql14-libs-14.10-1PGDG.rhel7.x86_64 postgresql14-14.10-1PGDG.rhel7.x86_64 postgresql14-server-14.10-1PGDG.rhel7.x86_64
修改默认数据目录,并初始化 pgsql 数据库
# 修改默认数据目录 $ mkdir -p /data/pgsql/data $ chown -R postgres:postgres /data/pgsql $ vim /usr/lib/systemd/system/postgresql-14.service ... Environment=PGDATA=/data/pgsql/data/ ... # 初始化pgsql数据库 $ /usr/pgsql-14/bin/postgresql-14-setup initdb Initializing database ... OK # 设置pgsql服务开机自启 $ systemctl enable postgresql-14 Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-14.service to /usr/lib/systemd/system/postgresql-14.service. # 启动pgsql服务 $ systemctl start postgresql-14
查看服务的运行状态
三、初始化 pgsql 数据库
并启动 pgsql 数据库服务
$ su - postgres $ /data/pgsql/bin/initdb -D /data/pgsql/data/ $ /data/pgsql/bin/pg_ctl -D /data/pgsql/data/ -l /data/pgsql/logfile stop $ /data/pgsql/bin/pg_ctl -D /data/pgsql/data/ -l /data/pgsql/logfile start
修改 postgres 用户的账号密码
# 登录postgres用户 $ su - postgres # 登录pgsql数据库 -bash-4.2$ psql # 修改postgres用户密码 postgres=# alter user postgres with password 'postgres'; # 重新加载服务器配置文件, 使配置文件生效 postgres=# select pg_reload_conf();
修改 pgsql 配置文件,添加口令认证
$ vim /data/pgsql/data/pg_hba.conf # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 0.0.0.0/0 md5 host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication all md5 host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5
修改 pgsql 配置文件,允许远程访问
$ vim /data/pgsql/data/postgresql.conf ... 60 #listen_addresses = 'localhost' 61 listen_addresses = '*'
重新启动 pgsql 服务,使配置文件生效
$ su - postgres $ /data/pgsql/bin/pg_ctl -D /data/pgsql/data/ -l /data/pgsql/logfile stop $ /data/pgsql/bin/pg_ctl -D /data/pgsql/data/ -l /data/pgsql/logfile start
四、pgAdmin客户端
下载网址:https://www.postgresql.org/ftp/pgadmin/pgadmin4/v8.14/windows/
下载pgAdmin4之后,逐步安装到如下界面
修改界面语言,如果有需要,可以先将界面语言修改为简体中文,以方便后续使用。
点击菜单【File】—【Preferences】,打开偏好设置。
在界面中输入 PostgreSQL 数据库服务器的各项连接信息。【General】–【名称】:为连接起一个方便记忆和区分的名称,比如:mypdserver
点击保存,此时 pgAdmin4 会使用配置的信息尝试连接 PostgreSQL 数据库服务器。连接成功后,就会出现以下界面:
补充
【OID】:在 PostgreSQL 数据库中,OID(Object
Identifier,对象标识符)是一种唯一标识数据库中的对象(通常是表中的行)的整数标识符。OID在过去用于唯一标识表中的行,但从 PostgreSQL 12 版本开始,默认情况下已不再使用OID列作为表的隐藏列。OID列不再被自动创建,因此我们在创建表时不会看到它。
如果我们在使用 pgAdmin 4 创建 PostgreSQL 数据库时看到一个选项或设置涉及OID,那是因为我们可以选择是否要在特定表中启用或禁用OID列。
在新版本的 PostgreSQL中,不再需要使用OID,而且它已不再是默认行为。大多数用户不再使用OID列,因为它会增加存储和维护的开销,而且通常没有必要。
如果我们不确定是否需要启用OID列,通常情况下可以不必担心它。在pgAdmin4中,我们可以在创建表时选择是否包括OID列,但如果不明确需要它,建议将其保持禁用。
如果您有特定的用途需要使用OID列,那么可以启用它。但要注意,需要小心处理OID列,以避免潜在的性能和管理问题。
- 点赞
- 收藏
- 关注作者
评论(0)