文档章节

postgresql 随笔

白豆腐徐长卿
 白豆腐徐长卿
发布于 2017/02/16 10:24
字数 884
阅读 34
收藏 0

查看数据库服务启动时间。

#两个方法
SELECT pg_postmaster_start_time();
#格式化代码
SELECT date_trunc('second',current_timestamp - pg_postmaster_start_time()) as "PostgreSQLServiceUpTime";

查看服务已运行时间。

SELECT current_timestamp - pg_postmaster_start_time() as "ServiceStartTime";
#格式化代码
SELECT date_trunc('second',current_timestamp - pg_postmaster_start_time()) as "UpTime";

查看当前数据库存储空间占用情况。

SELECT pg_database_size(current_database());

查看表行数。

#根据实际情况修改表名
SELECT count(*) FROM "public"."CN";

查询数据库扩展模块信息。

SELECT * FROM pg_extension;

本文测试环境输出结果如下。

postgres=# SELECT * FROM pg_extension;
 extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
---------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql |       10 |           11 | f              | 1.0        |           |
(1 row)

postgres=#

使用'\x'选项有如下类似结果输出。

postgres=# SELECT * FROM pg_extension;
-[ RECORD 1 ]--+--------
extname        | plpgsql
extowner       | 10
extnamespace   | 11
extrelocatable | f
extversion     | 1.0
extconfig      |
extcondition   |

更改会话参数。例如:

set work_mem = '32MB';

部分代码和结果。

postgres=# set work_mem = '32MB';
SET
postgres=# set local work_mem = '16MB';
WARNING:  SET LOCAL can only be used in transaction blocks
SET
postgres=# reset all;
RESET
postgres=#
postgres=#
postgres=# set work_mem = '32MB';
SET
postgres=#
postgres=# select name,setting,reset_val,source from pg_settings where source ='session';
-[ RECORD 1 ]-------
name      | work_mem
setting   | 32768
reset_val | 4096
source    | session

postgres=#

查看配置文件。

postgres=# show config_file;
               config_file
------------------------------------------
 /etc/postgresql/9.5/main/postgresql.conf
(1 row)

postgres=# \x
Expanded display is on.
postgres=# show config_file;
-[ RECORD 1 ]-----------------------------------------
config_file | /etc/postgresql/9.5/main/postgresql.conf

postgres=#

该方法还可以查询hba_file和ident_file等配置文件信息。

列出所有参数。

SELECT name,source,setting FROM pg_settings order by 2,1;

结果太长不予列出。例如:

postgres=# SELECT name,source,setting FROM pg_settings where source !='default' and source !='ove
rride' order by 2,1;
            name            |        source        |                 setting
----------------------------+----------------------+------------------------------------------
 application_name           | client               | psql
 client_encoding            | client               | UTF8
 DateStyle                  | configuration file   | ISO, MDY
 default_text_search_config | configuration file   | pg_catalog.english
 dynamic_shared_memory_type | configuration file   | posix
 external_pid_file          | configuration file   | /var/run/postgresql/9.5-main.pid
 lc_messages                | configuration file   | en_US.UTF-8
 lc_monetary                | configuration file   | en_US.UTF-8
 lc_numeric                 | configuration file   | en_US.UTF-8
 lc_time                    | configuration file   | en_US.UTF-8
 log_line_prefix            | configuration file   | %t [%p-%l] %q%u@%d
 log_timezone               | configuration file   | PRC
 max_connections            | configuration file   | 100
 port                       | configuration file   | 5432
 shared_buffers             | configuration file   | 16384
 ssl                        | configuration file   | on
 ssl_cert_file              | configuration file   | /etc/ssl/certs/ssl-cert-snakeoil.pem
 ssl_key_file               | configuration file   | /etc/ssl/private/ssl-cert-snakeoil.key
 stats_temp_directory       | configuration file   | /var/run/postgresql/9.5-main.pg_stat_tmp
 TimeZone                   | configuration file   | PRC
 unix_socket_directories    | configuration file   | /var/run/postgresql
 max_stack_depth            | environment variable | 2048
(22 rows)

postgres=#

PostgreSQL扩展或模块可以通过手动下载源代码编译和在PGXN(PostgreSQL扩展网,网址为 http://pgxn.org/ )安装,也可以通过系统自带软件管理器下载安装。

管理员权限账号重新加载配置文件。

postgres=# select pg_reload_conf();
 pg_reload_conf
----------------
 t
(1 row)

postgres=#

配置用户连接数。本文测试用户是test,请以本机实际情况为准。修改连接数不影响现有连接。

#-1为解除限制,该值可以超过数据库最大连接数,取决于实际需要
ALTER ROLE test CONNECTION LIMIT 1;

创建表和查看表结构信息练习。

test=# create table student (
test(# studentid int primary key,
test(# studentname varchar(30),
test(# studentage int
test(# );
CREATE TABLE
test=# \d
                关联列表
 架构模式 |  名称   |  类型  |  拥有者
----------+---------+--------+----------
 public   | student | 数据表 | postgres
(1 行记录)

test=#
test=#
test=# \d student
           数据表 "public.student"
    栏位     |         类型          | 修饰词
-------------+-----------------------+--------
 studentid   | integer               | 非空
 studentname | character varying(30) |
 studentage  | integer               |
索引:
    "student_pkey" PRIMARY KEY, btree (studentid)

test=#

test=# \d
                关联列表
 架构模式 |  名称   |  类型  |  拥有者
----------+---------+--------+----------
 public   | student | 数据表 | postgres
(1 行记录)

test=#
test=#
test=# \d student
           数据表 "public.student"
    栏位     |         类型          | 修饰词
-------------+-----------------------+--------
 studentid   | integer               | 非空
 studentname | character varying(30) |
 studentage  | integer               |
索引:
    "student_pkey" PRIMARY KEY, btree (studentid)

test=#
test=# insert into student values(1,'顾留芳',7),(2,'林业平',6),(3,'徐长卿',7);
INSERT 0 3
test=#
test=# select studentid,studentname,studentage from student;
 studentid | studentname | studentage
-----------+-------------+------------
         1 | 顾留芳       |          7
         2 | 林业平       |          6
         3 | 徐长卿       |          7
(3 行记录)

test=#

#批量更新数据
test=# update student set studentage =6;
UPDATE 3
test=#
test=# select studentid,studentname,studentage from student;
 studentid | studentname | studentage
-----------+-------------+------------
         1 | 顾留芳       |          6
         2 | 林业平       |          6
         3 | 徐长卿       |          6
(3 行记录)

test=#

© 著作权归作者所有

白豆腐徐长卿

白豆腐徐长卿

粉丝 37
博文 113
码字总数 70636
作品 0
苏州
运维
私信 提问
centos 6.8安装postgresql9.6.9实战

centos 6.8安装postgresql9.6.9实战 一、安装前准备 系统:centos 6.8 服务器IP:192.168.1.211 修改SELINUX=disabled vi /etc/selinux/config 关闭防火墙或者把5432端口允许开放 /etc/init....

jxzhfei
2018/08/16
0
0
生产环境postgresql主从环境配置

主从服务器IP: 192.168.11.131 postgreSQL master 192.168.11.132 postgreSQL slave 服务器系统版本: # cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.2 (Maipo) PG......

断臂人
2018/07/19
0
0
PostgreSQL的日志类型

刚开始学习postgres的时候,可能对PostgreSQL中的日志概念比较模糊,到底有多少种日志,哪些日志是能删除的,各自又记录什么样的功能。 PostgreSQL中有三种日志,pglog,pgxlog和pgclog。 一...

kenyon_君羊
2012/12/21
4.6K
0
postgresql的安装和启动方法

官方文档 二进制安装和启动:https://www.postgresql.org/download/linux/redhat/ 源码安装:https://www.postgresql.org/docs/11/install-procedure.html 源码启动:https://www.postgresq......

我是大头鸡
06/27
0
0
PostgreSQL在CentOS下的源码安装

下面主要是PostgreSQL在CentOS下的安装步骤,和Linux步骤基本类似。 1.环境: 操作系统:CentOS-6.2-x8664 虚拟机:Vmware-workstation 6.5 数据库:postgresql-9.1.3 工具: SecureCRT 5.1.2 2...

kenyon_君羊
2012/04/15
2.8K
2

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
2.7K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
3
0
用好项目管理工具,人人都可以成为项目经理

现在市面上的项目管理工具越来越多了,但是大多数都是一些协同工具或轻量项目管理工具。如果是多团队、跨部门使用或者企业级的项目管理,从管理思想到工具运用,需要适应企业的业务流程体系,...

cs平台
昨天
12
0
只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
69
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部