Postgresql安装及使用教程

一. 安装配置Server

1. 安装

yum install postgresql-server postgresql-contrib -y

postgresql-server:这是 PostgreSQL 数据库服务器的核心软件包。它包括 PostgreSQL 数据库管理系统(DBMS)的服务器程序和相关的库文件。使用此软件包,您可以在服务器上运行 PostgreSQL 实例。
postgresql-contrib:不是 PostgreSQL 的核心组件,但它包含了一些有用的附加模块和扩展,这些模块可以提供额外的功能和功能。例如:

  • pgcrypto:提供加密和散列功能,可用于数据加密和安全存储密码等任务
  • hstore:允许您在 PostgreSQL 中存储和查询键值对数据。
  • uuid-ossp:提供生成 UUID(通用唯一标识符)的函数,用于创建唯一标识符。
  • ltree:用于处理树形结构的数据,例如文件系统路径。
  • pg_trgm:用于文本搜索和相似性匹配的 trigram 支持。
  • unaccent:提供文本搜索的非重音字符支持。

2. 初始化

postgresql-setup initdb

3. 设置自启

systemctl enable postgresql
systemctl start postgresql

4. 配置数据库

初始化会自动创建postgres用户,无密码

1) 修改密码

// 切换到postgres用户
su postgres
// 切换SQL模式
psql
// 修改密码
alter user postgres with password '你的密码';
// 退出
\q

附:如果想创建其他用户可参考如下命令:

// 创建test用户
create user <user> with password <password>;
// 授权
grant all privileges on database <dbname> to <user>;

2) 配置访问权限

默认情况下,PostgreSQL只允许本地连接。如果您希望从其他计算机上的客户端连接到PostgreSQL服务器,需要修改pg_hba.conf文件以允许远程连接。
打开pg_hba.conf文件进行编辑:

vi /var/lib/pgsql/data/pg_hba.conf

在文件中,您可以添加以下行,允许所有IP地址连接到PostgreSQL服务器。请谨慎使用这种配置,最好只允许来自可信任来源的连接:

host    all             all             0.0.0.0/0               md5

3) 配置监听地址和端口

非必须,如无需求跳过即可
打开postgresql.conf 文件进行编辑:

vi  /var/lib/pgsql/data/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

#listen_addresses = 'localhost'         # 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)
# Note: In RHEL/Fedora installations, you can't set the port number here;
# adjust it in the service file instead.
  • 监听地址listen_addresses ,默认监听localhost,则有需要可修改为all或者其他地址。
  • 端口port ,默认使用5432端口,如有需要可将修改为其他。

4) 重启数据库

systemctl restart postgresql

二. 连接数据库

1. 安装client

1) 在 CentOS/RHEL 上

yum install postgresql -y

2) 在 Ubuntu 上

apt-get install postgresql-client

2. 连接数据库

psql -U <用户名> -d <数据库名称> -h <数据库地址/localhost>

初始化时会默认创建名为postgres的数据库.

如果需要更高级的功能,您还可以安装其他 PostgreSQL 客户端工具,如 pgAdmin,它提供了图形界面来管理 PostgreSQL 数据库。

三. 常见问题

1. 连接本地数据库时报错Ident authentication failed

[root@bolin-postgresql data]# psql -U postgres -d postgres123 -h localhost
psql: FATAL:  Ident authentication failed for user "postgres"

原因:
默认情况下,PostgreSQL 数据库可能使用 “ident” 身份验证方法,这要求您使用与您的系统用户名相匹配的 PostgreSQL 用户名来连接数据库。如果您要连接的 PostgreSQL 用户不与您的系统用户名相匹配,就会出现 “Ident authentication failed” 错误。

解决方法:

  1. 使用密码身份验证,打开pg_hba.conf文件,找到包含 “local” 的行,并将 “ident” 更改为 “md5”,如下所示:
local   all             all                                     md5

并重启数据库

  1. 使用正确的PostgreSql用户。确保要连接的 PostgreSQL 用户存在,并且确保您使用正确的用户名连接。如果您使用不同的用户名,需要将用户名更改为正确的用户名。

四. postgresql常用命令

参见: postgresql最全命令合集

五. 数据库性能测试工具

1. BenchmarkSql

主要用于TPC-C测试
参见:数据库测试工具BenchmarkSQL

2. 自带工具pgbench

主要用于TPC-B测试

参见:postgresql性能测试工具pgbench

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值