常用命令
\h:查看SQL命令的解释,比如\h select。\?:查看psql命令列表。\l:列出所有数据库。\c [database_name]:连接其他数据库。\d:列出当前数据库的所有表格。\d [table_name]:列出某一张表格的结构。\du:列出所有用户。\e:打开文本编辑器。\conninfo:列出当前数据库和连接的信息。
安装
# 设置psql 的源sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 下载安装包yum install --downloadonly --downloaddir=. psql12 postgresql12 postgresql12-server postgresql12-client# 安装rpm -ivhsudo /usr/pgsql-12/bin/postgresql-12-setup initdb/usr/pgsql-12/bin/initdb -D /homesystemctl enable postgresql-12systemctl start postgresql-12# 配置文件目录cd /var/lib/pgsql/12/data/# 验证su - postgrespsql\l# 修改密码postgres=# \password postgresEnter new password:Enter it again:postgres=# CREATE USER rails_payment WITH PASSWORD 'rails_payment';CREATE ROLEpostgres=# CREATE DATABASE payment_dev OWNER rails_payment;CREATE DATABASE
postgresql 结构

客户端每次建立连接的时候,postgre启动一个服务进程给这个连接服务,是进程架构模型
mysql是线程架构模型
BgWriter
后台写入进程,是周期性的写入
AutoVacuum
delete 操作后,原来数据不会被立即删除,更新数据时也不会再原来的数据上更新,而是新生成一行数据,原来的数据只是被标记删除,没有并发事务读到该数据时,这个进程就会清理数据
