GVKun编程网logo

PostgreSQL 删除check约束的实现

29

在本文中,我们将带你了解PostgreSQL删除check约束的实现在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的centos7下源码编译安装php支持PostgreSQLpostgre

在本文中,我们将带你了解PostgreSQL 删除check约束的实现在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的centos 7下源码编译安装php支持PostgreSQL postgresql手册 postgresql官网下载 postgresql视频教、check_pgbackrest 1.7 发布,PostgreSQL 备份恢复监控工具、check_postgres.pl插件监控postgresql数据库、check约束的作用是什么

本文目录一览:

PostgreSQL 删除check约束的实现

PostgreSQL 删除check约束的实现

  项目招商找A5 快速获取精准代理名单

这篇文章主要介绍了PostgreSQL 删除check约束的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。

删除check约束:

1.\d table_name 查找约束名称

\d dm_alarms_fct_20170613 "dm_alarms_fct_20170613_dm_transct_date_key_check"

2.alter table .. drop constraint ..

1ALTER TABLE "dm_alarms_fct_20170613" Drop constraint "dm_alarms_fct_20170613_dm_transct_date_key_check";

补充:PostgreSQL查询约束和创建删除约束

查询约束constraint

SELECT
   tc.constraint_name, tc.table_name, kcu.column_name,
   ccu.table_name AS foreign_table_name,
   ccu.column_name AS foreign_column_name,
   tc.is_deferrable,tc.initially_deferred
 FROM
   information_schema.table_constraints AS tc
   JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
   JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
 WHERE constraint_type = 'UNIQUE' AND tc.table_name = 'table_name';

 

constraint_type有四种:

UNIQUE、PRIMARY KEY、CHECK、FOREIGN KEY, 通过修改上边sql语句的table_name和constraint_type来进行相应的查询。

添加约束

1ALTER TABLE table_name ADD CONSTRAINT uk_users_name1 UNIQUE (NAME);

删除约束

1alter table table_name drop constraint if EXISTS uk_users_name1;

文章来源:

来源地址:https://www.jb51.net/article/205217.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yy@haotui.cn 举报,一经查实,本站将立刻删除。

centos 7下源码编译安装php支持PostgreSQL postgresql手册 postgresql官网下载 postgresql视频教

centos 7下源码编译安装php支持PostgreSQL postgresql手册 postgresql官网下载 postgresql视频教

1. 下载源码

$ mkdir /usr/downloads
$ wget -c http://cn2.php.net/distributions/php-5.6.20.tar.gz
$ tar -xvf php-5.6.20.tar.gz
$ mv php-5.6.20 /usr/local/src
$ cd !$ & cd php-5.6.20
登录后复制

2. 阅读安装指导

$ ls -also
$ less README
$ less INSTALL
登录后复制

3. 安装依赖包

$ yum install apr apr-util apr-devel apr-util-devel prce lynx
登录后复制

4. 安装httpd

$ wget -c http://apache.fayea.com//httpd/httpd-2.4.20.tar.gz
$ tar -xvf httpd-2.4.20.tar.gz
$ cd httpd-2.4.20
$ ./configure \
--prefix=/usr/local/programs/apache2 \
--enable-rewrite \
--enable-so \
--enable-headers \
--enable-expires \
--with-mpm=worker \
--enable-modules=most \
--enable-deflate \
--enable-module=shared
$ make
$ make install
$ cd /usr/local/programs/apache2
$ cp bin/apachectl /etc/init.d/httpd ## 复制启动脚本
$ /etc/init.d/httpd start ## 启动apache服务器,访问http://localhost/
$ egrep -v ''^[ ]*#|^$'' /usr/local/apache2/conf/httpd.conf | nl ## 查看apache服务器的配置
## 将apache加入系统服务
vi /etc/rc.d/rc.local
```
/usr/local/programs/apache2/bin/apachectl start
```
$ cat /etc/rc.local
登录后复制

4. 安装postgresql

立即学习“PHP免费学习笔记(深入)”;

$ yum install readline-devel  ## 安装readline依赖
$ cd /usr/downloads
$ wget -c https://ftp.postgresql.org/pub/source/v9.5.0/postgresql-9.5.0.tar.bz2
$ tar -xvf postgresql-9.5.0.tar.bz2
$ cd postgresql-9.5.0
$ ./configure --prefix=/usr/local/programs/postgresql
$ make
$ su
$ make install
$ /sbin/ldconfig /usr/local/programs/postgresql/lib ## 刷新下共享动态库
$ cd /usr/local/programs/postgresql
$ bin/psql --version  ## 检查运行情况
## 开始对postgresql的配置
$ vi /etc/profile.d/postgresql.sh ## 增加环境变量,不推荐直接在/etc/profile中添加,系统更新升级时会需要merge
``` 
PATH=/usr/local/programs/postgresql:$PATH
export PATH
```
$ source /etc/profile ## 更新环境变量

## 增加用户和其他文件夹
$ adduser postgres
$ passwd postgres 
$ mkdir /usr/local/programs/postgresql/logs
$ mkdir /usr/local/programs/postgresql/data
$ chown postgres /usr/local/programs/postgresql/data
$ su - postgres

## 初始化数据库
$ ./bin/initdb -D ./data
$ ./bin/createdb test
$ ./bin/psql test
## 已有数据库,可导入data文件夹后尝试root访问,假如带密码,可能需要进一步研究下
$ ./bin/postgres -D ./data >./logs/start-log-1.log 2>&1 &
$ ./bin/psql --list  ##列出数据库
## ok,安装完成

## 自定义设置,权限控制等,可以跳过,等熟悉使用后再做
## 编辑数据库配置及权限文件:
$ vi /usr/local/programs/postgresql/data/postgresql.conf   ## 数据库配置文件
$ chown postgres postgresql.conf
$ chmod 644 postgresql.conf
$ vi /usr/local/programs/postgresql/data/pg_hba.conf   ## 权限文件
$ vi /usr/local/programs/postgresql/data/pg_ident.conf

## 设置开机自启动:
$ vi /etc/rc.d/rc.local    ## 添加如下内容
```
/usr/local/programs/postgresql/bin/postgresql start
```
登录后复制

5. 安装php

## 源码已经在第一步中下载,现在开始安装:
$ yum install libxml2 libxml2-devel libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel
$ ./configure \
--prefix=/usr/local/programs/php \
--with-apxs2=/usr/local/programs/apache2/bin/apxs \
--with-zlib \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-zlib-dir \
--enable-mbstring \
--with-pgsql=/usr/local/programs/postgresql \
--with-pdo-pgsql=/usr/local/programs/postgresql 
$ make
$ make test
> Bug #42718 (unsafe_raw filter not applied when configured as default filter) [ext/filter/tests/bug42718.phpt]  XFAIL REASON: FILTER_UNSAFE_RAW not applied when configured as default filter, even with flags
> Bug #67296 (filter_input doesn''t validate variables) [ext/filter/tests/bug49184.phpt]  XFAIL REASON: See Bug #49184
> Bug #53640 (XBM images require width to be multiple of 8) [ext/gd/tests/bug53640.phpt]  XFAIL REASON: Padding is not implemented yet
> zend multibyte (7) [ext/mbstring/tests/zend_multibyte-07.phpt]  XFAIL REASON: https://bugs.php.net/bug.php?id=66582
> zend multibyte (9) [ext/mbstring/tests/zend_multibyte-09.phpt]  XFAIL REASON: https://bugs.php.net/bug.php?id=66582
>Bug #70470 (Built-in server truncates headers spanning over TCP packets) [sapi/cli/tests/bug70470.phpt]  XFAIL REASON: bug is not fixed yet

## 查阅官方的bug,发现:
> id=66582: status : Closed. Fixed in master (PHP7)
> id=42718: status : Assigned
> id=42718: reference to id=49184, unsolved for many years
## 那就不关心了,直接装吧
$ make install
> You may want to add: /usr/local/programs/php/lib/php to your php.ini include_path

## 那就按它说的设置吧
$ cp php.ini-development /usr/local/programs/php/lib/php.ini
```
include_path = ".;/usr/local/programs/php/lib/php"

## 然后,编辑httpd的设置,确保其能正确解析php文件
```
...
LoadModule php5_module modules/libphp5.so
...
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .php5

...
<ifmodule dir_module>
    DirectoryIndex index.html index.php
</ifmodule>     
```

## 重启httpd,测试
$ cd /usr/local/programs/apache2
$ bin/httpd -h
$ bin/httpd -k stop
$ bin/httpd -f conf/httpd.conf
## 默认设置的www页面在./htdocs/下,那就先去里面建一个测试页面吧
$ vi htdocs/index.php
```
<?php phpinfo(); ?>
```
$ curl http://localhost/index.php |grep postgresql
#ok
登录后复制

后续应该做的事

* 1. 启动时,不需要要手动指定配置文件
* 2. php初始化www目录设置
* 3. php 用户、权限管理等

'').addClass(''pre-numbering'').hide(); $(this).addClass(''has-numbering'').parent().append($numbering); for (i = 1; i '').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了centos 7下源码编译安装php支持PostgreSQL,包括了postgresql,centos 7方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

check_pgbackrest 1.7 发布,PostgreSQL 备份恢复监控工具

check_pgbackrest 1.7 发布,PostgreSQL 备份恢复监控工具

check_pgbackrest 1.7 发布了。check_pgbackrest 用于监控来自 Nagios 的 pgBackRest 备份,具体取决于 info 命令提供的状态信息。pgBackRest 则是一款简单可靠的 PostgreSQL 备份恢复工具,以能够无缝地接入到大规模数据库和工作负载中。

pgBackRest 放弃了其它传统备份工具依赖 tar 和 rsync 的套路,它的备份功能都是从软件内部实现的,并采用客户端协议与远程服务器交互。移除了对 tar 和 rsync 的依赖,使它能够更好地应对针对特定数据库的备份挑战。客户端远程协议更加灵活,协议可以按照要求限制连接类型以保证备份过程更安全。

check_pgbackrest 1.7 的更新内容包括:

  • 重命名 --format 参数为 --output
  • 添加 json 输出格式
  • 添加定时调试信息
  • 提高所需的 WAL 列表检查的性能

更新说明:

https://www.postgresql.org/about/news/2006

check_postgres.pl插件监控postgresql数据库

check_postgres.pl插件监控postgresql数据库


check_postgres.pl插件监控postgresql数据库:


下载网址:


https://exchange.nagios.org/directory/Plugins/Databases/Postgresql/check_postgres/details



# tar zxfv check_postgres-2.11.1.tar.gz

# rsync -av check_postgres-2.11.1/check_postgres.pl /usr/lib/nagios/plugins/



显示数据库aa的连接数:

# /usr/lib/nagios/plugins/check_postgres.pl --output=nagios -H 127.0.0.1 -db aa --dbuser=user --dbpass=xxxx --action=backends -w=120 -c=150


显示数据库aa的大小(占用空间):

# /usr/lib/nagios/plugins/check_postgres.pl --output=nagios -H 127.0.0.1 -db aa --dbuser=user --dbpass=xxxx --action=database_size -w=1T -c=2T


显示数据库aa的查询时间(默认w为120s,c为300s):

# /usr/lib/nagios/plugins/check_postgres.pl --output=nagios -H 127.0.0.1 -db aa --dbuser=user --dbpass=xxxx --action=query_time


集成到nrpe、icinga2略

check约束的作用是什么

check约束的作用是什么

check约束用于确保数据库中指定的列或表达式符合特定条件,从而进行数据验证。它在数据插入或更新时触发检查,防止不符合预期的值进入数据库,有助于提高数据完整性、应用程序性能和数据一致性。

check约束的作用是什么

CHECK约束的作用

CHECK约束用于确保数据库中的特定列或表达式满足指定的条件。它本质上是一种数据验证机制,用于确保数据的完整性和准确性。

作用原理

CHECK约束在数据插入或更新时触发。如果输入的值不满足约束条件,则数据库将拒绝操作并返回错误信息。这种验证有助于防止不符合预期的值进入数据库。

创建CHECK约束

可以在创建表或修改现有表时创建CHECK约束。语法如下:

ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK (expression);
登录后复制

其中:

  • table_name:要应用约束的表名
  • constraint_name:约束的名称
  • expression:要验证的值的条件

示例

例如,要确保age列的值始终大于或等于18,可以使用以下CHECK约束:

ALTER TABLE person ADD CONSTRAINT age_over_18 CHECK (age &gt;= 18);
登录后复制

其他作用

除了数据验证,CHECK约束还有以下作用:

  • 提高应用程序性能:通过在数据库级别执行验证,可以减少应用程序代码中繁琐的数据检查。
  • 提高数据一致性:CHECK约束有助于确保不同应用程序之间使用的数据一致。
  • 文档化数据要求:约束定义中包含的表达式可以作为有关数据要求的文档。

以上就是check约束的作用是什么的详细内容,更多请关注php中文网其它相关文章!

关于PostgreSQL 删除check约束的实现的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于centos 7下源码编译安装php支持PostgreSQL postgresql手册 postgresql官网下载 postgresql视频教、check_pgbackrest 1.7 发布,PostgreSQL 备份恢复监控工具、check_postgres.pl插件监控postgresql数据库、check约束的作用是什么的相关信息,请在本站寻找。

本文标签: