前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始学PostgreSQL (一):Centos8 RPM安装PostgreSQL16

从零开始学PostgreSQL (一):Centos8 RPM安装PostgreSQL16

作者头像
DBA实战
发布2024-09-06 19:15:53
810
发布2024-09-06 19:15:53
举报
文章被收录于专栏:DBA实战

下载安装包

https://www.postgresql.org/download/

选择对应版本

安装

代码语言:javascript
复制
#yum源
yum -y install wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
#禁用内置的PostgreSQL模块:
yum -qy module disable postgresql
#安装postgresql16
yum install -y postgresql16-server
初始化数据库并启用自动启动:
/usr/pgsql-16/bin/postgresql-16-setup initdb
systemctl enable postgresql-16
systemctl start postgresql-16

已安装组件
[root@server08 bin]# rpm -aq| grep postgres
postgresql16-server-16.3-3PGDG.rhel8.x86_64
postgresql16-libs-16.3-3PGDG.rhel8.x86_64
postgresql16-16.3-3PGDG.rhel8.x86_64

登录

代码语言:javascript
复制
[root@server08 ~]# su - postgres
[postgres@server08 ~]$ psql
psql (16.3)
Type "help" for help.

postgres=#

修改密码

代码语言:javascript
复制
[postgres@server08 ~]$ psql
psql (16.3)
Type "help" for help.

postgres=#ALTER USER postgres WITH PASSWORD 'postgres';
登录
psql -U postgres -h 127.0.0.1 -p 5432 -W

修改远程连接

代码语言:javascript
复制
#修改pg远程连接配置文件
[root@server08 ~]#  vim /var/lib/pgsql/16/data/pg_hba.conf  
host    all             all             0.0.0.0/0               md5

#修改主配置文件
[root@server08 ~]#  vim /var/lib/pgsql/16/data/postgresql.conf
listen_addresses = '*'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 2000                  # (change requires restart)

#重启
systemctl restart postgresql-16

创建数据库以及表

代码语言:javascript
复制
psql -U postgres -h 127.0.0.1 -p 5432 -W

#创建库
postgres-# CREATE DATABASE mydb
    OWNER postgres
    ENCODING 'UTF8';
#切到mydb 
postgres-# \c mydb
#创建表
postgres-# CREATE TABLE cities (
    name            varchar(80),
    location        point
);

配置文件功能介绍

代码语言:javascript
复制
[root@test19-server08 data]# ls /var/lib/pgsql/16/data
drwx------ 6 postgres postgres 4.0K Jul 12 14:36 base
-rw------- 1 postgres postgres   30 Jul 12 00:00 current_logfiles
drwx------ 2 postgres postgres 4.0K Jul 12 14:37 global
drwx------ 2 postgres postgres 4.0K Jul 12 00:00 log
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_commit_ts
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_dynshmem
-rw------- 1 postgres postgres 5.5K Jul  9 16:20 pg_hba.conf
-rw------- 1 postgres postgres 2.6K Jul  9 15:31 pg_ident.conf
drwx------ 4 postgres postgres 4.0K Jul 12 14:56 pg_logical
drwx------ 4 postgres postgres 4.0K Jul  9 15:31 pg_multixact
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_notify
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_replslot
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_serial
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_snapshots
drwx------ 2 postgres postgres 4.0K Jul  9 16:25 pg_stat
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_stat_tmp
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_subtrans
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_tblspc
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_twophase
-rw------- 1 postgres postgres    3 Jul  9 15:31 PG_VERSION
drwx------ 3 postgres postgres 4.0K Jul  9 15:31 pg_wal
drwx------ 2 postgres postgres 4.0K Jul  9 15:31 pg_xact
-rw------- 1 postgres postgres   88 Jul  9 15:31 postgresql.auto.conf
-rw------- 1 postgres postgres  29K Jul  9 16:24 postgresql.conf
-rw------- 1 postgres postgres   58 Jul  9 16:25 postmaster.opts
-rw------- 1 postgres postgres   94 Jul  9 16:25 postmaster.pid

#postgresql.conf
这是 PostgreSQL 的主配置文件,包含了大量可调节的运行时参数,用于控制数据库服务器的各个方面,包括但不限于内存分配、磁盘I/O、网络设置、查询优化、日志记录、安
全性和性能参数。这些参数可以控制数据库服务器的启动选项和运行时行为。
#pg_hba.conf
这个文件用于配置主机基于地址的认证(Host-Based Authentication),定义了哪些客户端可以连接到数据库服务器,以及它们使用哪种认证方法(如信任、密码、MD5、证书等)
它是控制数据库服务器访问安全的关键文件。
#pg_ident.conf
此文件用于用户名称映射,它允许将外部认证系统(如 LDAP 或者系统用户账户)的用户名映射到 PostgreSQL 数据库角色。这对于整合外部认证系统非常有用。
#postgresql.auto.conf
当 postgresql.conf 被重新加载时,任何在运行时动态更改的设置都会被写入这个文件。这有助于保留动态更改的参数,以便在下次服务器启动时仍然有效。

psql快捷命令

快捷命令

别名

描述

\c

\connect

连接到指定的数据库

\q

\quit

退出 psql 客户端

\list

\l

列出所有可用的数据库

\dt

列出当前数据库中的所有表

\d

描述指定的表结构

\dv

\views

列出所有的视图

\df

\functions

列出所有的函数

\dS

\sequences

列出所有的序列

\dr

\rules

列出所有的规则

\ds

\schemas

列出所有的模式

\du

\users

列出所有的用户和角色

\dp或\z

查看表权限分配权限

\da

\a

列出所有的活动会话

\dT

\types

列出所有的数据类型

\dI

\indexes

列出所有的索引

\dC

\constraints

列出所有的约束

\help

\?

显示所有可用的元命令

\echo

\e

输出一条信息

\timing

开启或关闭命令执行时间的显示

\set

设置一个变量

\unset

取消设置一个变量

\include

\i

包含一个文件的内容

\watch

监视表的变化

\unwatch

取消监视表的变化

\copy

用于数据导入导出的 COPY 命令的简化形式

\password

更改用户密码

安装报错

代码语言:javascript
复制
[root@ PostgreSQL]# yum install -y postgresql16-server
PostgreSQL common RPMs for RHEL / Rocky / AlmaLinux 3 - x86_64                                                                                                23  B/s | 146  B     00:06    
Errors during downloading metadata for repository 'pgdg-common':
  - Status code: 404 for https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-3-x86_64/repodata/repomd.xml (IP: 72.32.157.246)
Error: Failed to download metadata for repo 'pgdg-common': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

解决方法:修改配置文件添加pgdg-redhat-all.repo
vim /etc/yum/pluginconf.d/releasever_adapter.conf
[reposlist]
include=docker-ce.repo, epel.repo,pgdg-redhat-all.repo
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档