PostgreSQL部署 初始化 配置远程
参考:
https://blog.csdn.net/m0_59586152/article/details/125136342
一. 安装
1. ubuntu换源后即可apt安装
1 2
| sudo apt install postgresql postgresql-contrib
|
2.centos

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| 1、导入yum源 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、安装PostgreSQL服务 sudo yum install -y postgresql12 postgresql12-server
安装PostgreSQL 11就是 : yum install postgresql12 postgresql12-server 安装PostgreSQL 9.5就是: yum install postgresql95 postgresql95-server 依此类推 3、初始化数据库 sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
4、启动PostgreSQL服务
sudo systemctl start postgresql-12
sudo systemctl enable postgresql-12 9.x版本的服务名是postgresql-9.x
install_pgsql() { echo -e "\033[36m ==============导入yum源 \033[0m" sleep 6 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm echo -e "\033[36m ========================安装PostgreSQL服务+初始化数据库 \033[0m" sudo yum install -y postgresql12 postgresql12-server sudo /usr/pgsql-12/bin/postgresql-12-setup initdb [ $? = 0 ] && echo -e "\033[36m =============PostgreSQL安装完成 \033[0m" || echo -e "\033[33m PostgreSQL安装失败 \033[0m" systemctl start postgresql-12 systemctl status postgresql-12 } main(){ install_pgsql } main
|
二. postgresql配置远程
ubuntu20.04文件位置:/etc/postgresql/10/main/pg_hba.conf
修改配置允许远程连接
1.连接数修改成500,生产可根据实际情况修改。配置使用md5方式认证
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| vim /etc/postgresql/10/main/pg_hba.conf
host all all 0.0.0.0/0 md5
vim /etc/postgresql/10/main/postgresql.conf
------------------------------------------------- max_connection = 1000
superuser_reserved_connections=6
idle_in_transaction_session_timeout=20000 -------------------------------------------------
|
2.修改配置文件
默认情况下,PostgreSQL 服务器仅仅监听本地网络接口:127.0.0.1,
配置 PostgreSQL 服务器允许远程访问,编辑【postgresql.conf】文件
为了允许远程访问你的PostgreSQL 服务器。
1 2 3 4
| vim /etc/postgresql/10/main/postgresql.conf 打开配置文件【postgresql.conf】 并且在【CONNECTIONS AND AUTHENTICATION】一节添加【listen_addresses = '*'】。
|
3.重启 postgresql 生效
1
| sudo service postgresql restart
|
此时便可以远程连接pgsql。



4.验证 ( 成功)

三. pgsql使用
psql 控制台命令:除了前面已经用到的 \password命令(设置密码)和 \q命令(退出)以外,控制台还提供一系列其他命令。
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
1.初始化
可以使用以下命令更改任何用户(包括 postgres)的密码:
输入 \du 命令查看 PostgreSQL 用户:
1 2 3 4 5 6
| # 更改密码 ALTER USER postgres WITH PASSWORD 'my_password'; 更改密码 # 建议新建一个zabbix用户并给他开通超级管理员权限 # 建议你另外创建一个用户(不建议使用默认的 postgres 用户)。为此,请使用以下命令: CREATE USER my_user WITH PASSWORD 'my_password'; ALTER USER my_user WITH SUPERUSER; (添加超级用户管理员权限)
|
2.连库操作
两种方式访问 PostgreSQL 服务器
为了以 postgres 用户身份登录 PostgreSQL 服务器,首先切换用户,然后使用 psql工具访问 PostgreSQL。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 1. sudo su - postgres 切换用户 2. psql 进入 PostgreSQL Shell 3. \q 退出 PostgreSQL Shell
sudo -u postgres psql 注:通常 postgres 用户仅应用于本地使用,正式生产环境可以使用 postgres 账户重新创建账户,授权角色信息并指定db数据库;
DROP USER my_user; 删除用户
psql -U my_user
psql -U my_user -d my_db 例子: psql -U zabbix -d zabbix
psql -U ubuntu -d postgres
|
结语祝好!