PostgreSQL 使用总结

本文详细介绍了PostgreSQL的用户管理、数据库操作及远程连接配置,包括创建用户、数据库,以及调整配置实现远程访问的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文不是一篇有严肃主题的 blog ,只是好记性不如烂键盘,权当做 PG 使用总结的记录,包括一些问题的总结。

关于 PG 的一些理解

  • PG 有一点特别让人痛苦的:创建一个用户一定要创建一个系统用户,据我司运维说,这是为了创立管理员。只好先记着了,印象中 MySQL 是不需要创建用户的,不知道是不是会有安全问题。
进入用户
su - postgres
  • 在 root 用户下,按下 su - 之后可以按tab键进行补全。
进入命令行(进入用户后接着敲就是了)
psql
查看所有 Schema
select * from information_schema.schemata;
查看所有 database
  • 相当于 MySQL 的 show databases;
select datname from pg_database;
查看 database 的 table
  • 相当于 MySQL 的 show tables
select table_name from information_schema.tables where table_schema = 'public'
PostgreSQL 命令(以 9.5 版本为例)
  • 目录位于 /usr/pgsql-9.5/bin ,如果没有配环境变量的话,需要进入到该目录或者补全路径。
  • pg_ctl 这里只做简单记录,网上很多详细的blog
    • pg_ctl stop 停 pg
    • pg_ctl start 启动 pg
    • pg_ctl reload 重启 pg
PostgreSQL 配置文件的路径
  • /usr/lib/pgsql/9.5/data/xxxx.conf
  • 比较重要的几个配置文件
    • postgresql.conf 服务端的一些配置。
    • pg_hba.conf 客户端认证配置文件,定义如何认证客户端。
一些工程的操作
  • 创建用户(一般对于工程上不会选择 postgres 用户,就像用 MySQL 不会使用 root 用户一样),均在 root 用户下执行。
sudo -u postgres /usr/pgsql-9.5/bin/createuser -s -e xxxx_user
useradd xxxx_user
  • 为用户修改密码
alter user xxxx_user with password 'xxxxx_password';
  • 创建 pg 数据库 xxxx_db ,所有者 为用户 xxxx_user,注意下面这个命令中是 O 不是 0(零)。
sudo -u postgres /usr/pgsql-9.5/bin/createdb -E UTF8 -O xxxx_user xxxx_db
  • 使用指定用户登录指定数据库(此时不要输入密码)
psql -U xxxx_user -d xxxx_db
  • 如何使用本机电脑登录远端主机的 PostgreSQL ?
    • 第 1 步,将 postgresql.conf 里的 port 换掉,默认是 5432 ,同时该配置也是注释掉的状态;为什么要换掉呢?主要是怕运维禁掉 5432 端口;虽然端口扫描仍然扫得到,但是换个端口相对会更安全一些。
    • 第 2 步,将 postgresql.conf 里的 listen_address 设为 * 。当然专业运维应该会设为其他的,在下不是专业的,只是为了解决问题,所以先设为 * 了。这时候如果你重启的话,在本机电脑使用 telnet 命令去查看端口是否存在,应该不会是连接不上的状态。
    • 第 3 步,有可能出现 FATAL: no pg_hba.conf entry for host "xxxxxx", user "xxxx", database "xxxx", SSL off
      • 根据 路人甲JIA 的 blog,需要在 pg_hba.conf 上的最后加一行:host all all 0.0.0.0/0 md5
    • 最后一步,重启 PG。

结束语

  • 终于是稍微有点熟悉 PG 了,才敢把笔记放出来,当然本篇 blog 主要是怕笔记丢掉。好记性不如烂键盘嘛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值