PostgreSQL 基础配置及目录结构

初始化

# 初始化DB
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
# 开机启动|启动|重启|状态|停止 命令
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15
sudo systemctl restart postgresql-15
sudo systemctl status postgresql-15
sudo systemctl stop postgresql-15

配置环境变量

#编辑

vim /etc/profile
#PGSQL_HOME
export PGSQL_HOME=/usr/pgsql-15
export PATH=$PATH:$PGSQL_HOME/bin

#生效配置

source /etc/profile

切换用户、创建数据库/用户

进入命令行

#切换用户 

su - postgres
psql

#创建DB

create database test_db -U postgres ;

#创建用户

create user test with passoerd 'test';

# 设置密码(自由发挥):postgres

alter user postgres with password 'postgres';

配置远程连接

#编辑

vim /var/lib/pgsql/15/data/postgresql.conf
修改参数:
listen_addresses = '*'

# 编辑配置

vim /var/lib/pgsql/15/data/pg_hba.conf

# 添加内容

host    all      all    0.0.0.0/0      md5

#重启

sudo systemctl restart postgresql-15

测试远程连接

由于安装时未设置默认用户postgres的密码,上图配置中添加了MD5密码规则,所以,需要先为postgres设置密码,再测试远程连接。
[root@localhost pgsql-15]# psql -h 127.0.0.1 -p 5432 -U postgres
Password for user postgres:
psql: error: connection to server at "127.0.0.1", port 5432 failed: FATAL:  password authentication failed for user "postgres"

[root@localhost pgsql-15]# su - postgres
Last login: Thu Sep 14 02:09:35 PDT 2023 on pts/1
-bash-4.2$ psql
psql (15.4)
Type "help" for help.

postgres=# alter user postgres with password 'postgres';
ALTER ROLE
postgres=# \q
-bash-4.2$ exit
logout
[root@localhost pgsql-15]# psql -U postgres -h localhost -p 5432
Password for user postgres:
psql (15.4)
Type "help" for help.

postgres=#

目录

软件安装目录                /usr/pgsql-15/bin
数据目录                   /var/lib/pgsql/15/data

文件及目录说明

pg_hba.conf:#认证配置文件,配置了允许哪些IP访问数据库,及认证方式等信息。
pg_ident.conf:#"ident"认证方式的用户映射文件。
PG_VERSION:#记录了数据库版本号信息。
postgresql.auto.conf:#作用同 postgresql.conf ,优先级高于postgresql.conf,在数据库中通过alter命令更改的参数记录在此文件中。
postgresql.conf:#数据库实例主配置文件,基本上所有的数据库参数配置都在此文件中。
postmaster.opts:#记录数据库启动命令。
postmaster.pid:#数据库进程文件,数据库启动时被创建,关闭时消失。
base:#该目录包含数据库用户所创建的各个数据库,同时也包括postgres、template0和template1的pg_defaulttablespace。
global:#该目录包含集群范围的各个表和相关视图。(pg_database、pg_tablespace)
pg_dynshmem:#该目录包含动态共享内存子系统使用的文件。
pg_commit_ts:#该目录包含已提交事务的时间。
pg_logical:#该目录包含逻辑解码的状态数据。
pg_multixact:#该目录包含多事务状态数据。(等待锁定的并发事务)
pg_notify:#该目录包含LISTEN/NOTIFY状态数据。
pg_replslot:#该目录包含复制槽数据。
pg_snapshots:#该目录包含导出的快照。
pg_stat:#该目录包含统计子系统的永久文件。
pg_stat_tmp:#该目录包含统计子系统的临时文件。
pg_subtrans:#该目录包含子事务状态数据。
pg_tblspc:#该目录包含表空间的符号链接。
pg_twophase:#该目录包含预备事务的状态文件。
pg_wal:#该目录包含wal日志。
pg_xact:#该目录包含事务提交状态数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值