低版本安装
1、下载依赖
利用yum或者apt直接进行安装,但是这样安装的版本可能比较低,或者不是最新的。
2、检验安装
/usr/bin/postgresql-setup initdb
安装某个特定的版本
1、下载某个版本的pgsql的包
yum install -y readline readline-devel openssl openssl-devel zlib zlib-devel wget https://ftp.postgresql.org/pub/source/v12.1/postgresql-12.1.tar.gz tar -zxvf postgresql-10.11.tar.gz
2、进入到目录之后编译
./configure && make && make install mkdir /Data mkdir /Data/postgresql useradd pgsql chown -R pgsql:pgsql /usr/local/pg chown -R pgsql:pgsql /Data/postgresql
3、初始化数据
/usr/local/pgsql/bin/initdb -D /Data/postgresql/
4、创建日志
cd /Data/postgresql mkdir log touch log/server.log
5、启动进程
/usr/local/pgsql/bin/pg_ctl -D /Data/postgresql/ -l /Data/postgresql/log/server.log start
6、加入环境变量
## 确定安装地址 /usr/local/pgsql/bin ## 加入环境变量 export PGHOME=/usr/local/pgsql export PATH="$PGHOME/bin:$PATH"
7、修改配置的步骤
PostgreSQL的配置文件通常是postgresql.conf
,它包含了许多数据库服务器的配置选项。配置文件的位置可能会因安装方式和操作系统而异,但通常在以下位置之一:
- Linux:
/etc/postgresql/{version}/main/postgresql.conf
- Windows:
C:\Program Files\PostgreSQL\{version}\data\postgresql.conf
请注意,{version}
应该替换为您安装的PostgreSQL版本号。
以下是修改PostgreSQL配置文件的一般步骤:
- 备份配置文件:在对配置文件进行任何更改之前,请确保创建一个备份。这可以通过简单地复制文件或使用系统的备份工具来完成。
cp /etc/postgresql/{version}/main/postgresql.conf /etc/postgresql/{version}/main/postgresql.conf.bak
- 使用文本编辑器打开配置文件:使用您喜欢的文本编辑器,例如
nano
或vim
:
nano /etc/postgresql/{version}/main/postgresql.conf
- 进行必要的更改: 在配置文件中找到您想要更改的选项,并进行相应的编辑。例如,您可能需要更改监听地址、端口、日志级别等。每个配置项通常都有注释,提供了关于其作用和可选值的信息。
- 保存并关闭文件: 在使用文本编辑器修改配置后,请保存更改并关闭文件。
- 重启PostgreSQL服务:为了使更改生效,您需要重新启动PostgreSQL服务。在大多数Linux系统上,可以使用以下命令:
sudo service postgresql restart
或者,使用systemctl
:
sudo systemctl restart postgresql
在Windows上,您可以使用服务管理器或者在命令提示符中执行:
net stop postgresql && net start postgresql
请注意,某些更改可能需要重启PostgreSQL服务才能生效,而其他更改可能会在不重启服务的情况下生效。在修改配置文件之前,请确保您了解对数据库服务器的潜在影响,并谨慎地进行更改。
有哪些值得注意的配置项
PostgreSQL的postgresql.conf
文件包含了许多配置选项,用于控制数据库服务器的行为。以下是一些常见的和重要的配置选项,以及它们的简要描述:
listen_addresses
:指定服务器监听的IP地址。默认为localhost
,即仅本地连接。如果要允许远程连接,可以将其设置为*
或指定特定IP地址。
listen_addresses = '*'
port
:指定服务器监听的端口号。默认为5432。
port = 5432
max_connections
:指定同时允许的最大连接数。
max_connections = 100
shared_buffers
:指定在共享内存中分配的用于缓存的系统内存大小。
shared_buffers = 256MB
work_mem
:指定每个排序操作和每个并行计划节点的工作内存大小。
work_mem = 4MB
maintenance_work_mem
:指定用于维护操作(例如VACUUM)的最大系统内存。
maintenance_work_mem = 64MB
effective_cache_size
:用于查询优化器的估计系统内存大小,表示系统上可用的磁盘缓存。
effective_cache_size = 2GB
wal_level
:指定WAL(Write-Ahead Logging)的详细程度。可以是minimal
、replica
或logical
。
wal_level = replica
archive_mode
和archive_command
:用于开启归档模式以及指定归档命令。
archive_mode = on archive_command = 'cp %p /path/to/archive/%f'
log_statement
:指定要记录的SQL语句的类型。可以是none
、ddl
、mod
、all
等。
log_statement = 'all'
log_directory
和log_filename
:指定日志文件的保存目录和文件名。
log_directory = '/var/log/postgresql/' log_filename = 'postgresql.log'
max_wal_size
和min_wal_size
:用于控制WAL文件的最大和最小大小。
max_wal_size = 1GB min_wal_size = 80MB
这只是一小部分配置选项,实际上postgresql.conf
包含了大量的配置选项,每个选项都有其特定的用途。在修改配置之前,请确保了解每个选项的含义和可能的影响,以及如何正确配置以满足您的需求。
如果要修改访问控制,应该修改什么配置
如果您想要修改 PostgreSQL 数据库的访问控制,主要涉及到以下几个配置项:
listen_addresses
:此配置项决定 PostgreSQL 服务器监听的网络地址。默认情况下,它设置为localhost
,表示只接受本地连接。如果要允许远程连接,您需要将其设置为相应的 IP 地址或者通配符*
。
listen_addresses = '*' # 允许所有 IP 地址的连接
port
:此配置项定义 PostgreSQL 服务器监听的端口号。默认为 5432。如果您想更改端口号,可以通过修改此项进行配置。
port = 5432
pg_hba.conf
: 该文件包含了用于控制客户端连接权限的配置信息。pg_hba.conf
文件中的规则指定了谁能连接到数据库、以及使用什么身份验证方法。
例如,如果您要允许特定 IP 地址范围的远程连接,可以添加如下规则:
host all all 192.168.1.0/24 md5
其中,192.168.1.0/24
应该替换为您允许连接的实际 IP 地址范围。
更多有关 pg_hba.conf
文件的详细信息,请参阅 PostgreSQL 官方文档。
- 防火墙设置:如果您的服务器上启用了防火墙,确保打开 PostgreSQL 使用的端口,以便允许连接。例如,在使用
ufw
(Uncomplicated Firewall)的 Ubuntu 系统上,您可以运行以下命令:
sudo ufw allow 5432
请注意,修改了这些配置项后,可能需要重新启动 PostgreSQL 服务,以使更改生效。使用以下命令可以重启 PostgreSQL 服务:
sudo service postgresql restart
确保在修改任何关键配置之前备份相关文件,以防发生意外情况。