PostgreSQL笔记--初识PostgreSQL

PostgreSQL安装

./configure --prefix   安装路径
--with-pgport=NUMBER  设置默认端口(5432)
--with-segsize=SEGSIZE 段大小(单位gb)
--with-blocksize=BLOCKSIZW 块大小(单位kb)
--with-wal-segsize=SEGSIZE wal日志(单位mb)
--with-wal-blocksize=BLOCKSIZE wal日志块大小(单位kb)

gmake
gmake install
useradd postgres

initdb -D /opt/pgsql/data --locale=C --encoding=UTF8 初始化数据库
or pg_ctl -D /opt/pgsql/data initdb
使用D参数或设置环境变量PGDATA

postgres -D /opt/pgsql/data > logfile 2>&1 &启动数据库
or pg_ctl start -l logfile

notes:

./configure时报下面错误
configure: error: readline library not found
apt-get install libreadline-dev
configure: error: zlib library not found
apt-get install zlib1g-dev

PostgreSQL物理文件布局

psql
\h 帮助
修改pager,增加环境变量PAGER=less

./psql --help
-a echo all input from script
-f execute commands from file, then exit
-c run only single command (SQL or internal) and exit

-A, --no-align           unaligned table output mode
-F, --field-separator=STRING
-L filename  输出结果到文件
-o filename  也可以试下-L的功能,但是输出简练写。

./psql登录后

\! 执行终端command
\d               list tables, views, and sequences
\d NAME           describe table, view, sequence, or index
\conninfo  显示连接方式

data下的目录

PG_VERSION 版本
postmaster.opts 启动命令路径
postmaster.pid 文件

15497  进程id
/opt/pgsql/data 数据目录
1433075640   时间戳
5432  端口
/tmp  socket存放位置
localhost  监听地址
  5432001   1179651  共享内存

pg_hba.conf文件

TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     trust
METHOD字段
认证方式    描述
trust   无条件地允许连接,而不需要口令。
reject  无条件地拒绝连接。常用于从一个组中”过滤”某些主机。
md5 要求客户端提供一个 MD5 加密的口令进行认证。
password    要求客户端提供一个未加密的口令进行认证。
krb5    用 Kerberos V5 认证用户。只有在进行 TCP/IP 连接的时候才能用。
ident   获取客户的操作系统名然后检查该用户是否允许以要求的数据库用户进行连接,方法是参照在 ident 关键字后面声明的映射。对于 TCP/IP 连接,用户的身份是通过与运行在客户端上的 ident 服务器连接进行判断的,对于本地连接,它是从操作系统获取的。
ldap    使用 LDAP 进行认证。
pam 使用操作系统提供的可插入认证模块服务(PAM)来认证。

base目录

默认表空间
select datname,oid from pg_database ;

global目录

集群环境的表空间

pg_clog

提交事务的状态数据

pg_stat_tmp

统计信息

pg_tblspc

新表空间的链接存放地址

pg_xlog

select pg_xlogfile_name(pg_current_xlog_localtion());
select pg_switch_xlog(); 切换日志

pg_subtrans

包含子事务

pg_multixact

包含多事务

pg_twophase

包含两节段事务

数据库管理

数据库创建默认拷贝模板数据库template1,
templat0为更加纯净的模板数据库
select datname,datistemplate from pg_database;

内存相关的参数设置

postgresql.conf
shared_buffers(integer)共享内存数量,设置为系统内存的25%
work_mem(integer)大小决定结果集是否拆分
maintence_work_mem(integer)制定维护性操作中使用的最大内存数

其他命令

select to_timestamp(时间戳);
ipcs 查看共享内存
oid2name 命令查看oid


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!