Untitled Post - 134
PostgreSQL执行外部sql脚本有两种方式:
一种是在bash命令行上为psql命令用-f选项或重定向指定sql脚本
1 | $ psql -U username -d dbname -f /path/to/script.sql |
或
1 | $ psql -U username -d dbname < /path/to/script.sql |
另一种是在psql命令行上用\i命令执行sql脚本
1 | =# \\i /path/to/script.sql |
PostgreSQL执行外部sql脚本有两种方式:
一种是在bash命令行上为psql命令用-f选项或重定向指定sql脚本
1 | $ psql -U username -d dbname -f /path/to/script.sql |
或
1 | $ psql -U username -d dbname < /path/to/script.sql |
另一种是在psql命令行上用\i命令执行sql脚本
1 | =# \\i /path/to/script.sql |
mac os x的bash切换到名字含有空格的目录时,可以使用单引号包围目录名,此时自动完成是正常的,也可以使用backslash反斜杠来转义空格,但此时无法自动完成,只能手工输入。#不如linux好用#
tomcat 7+依赖于SecureRandom为其session id及其他事项生成随机数,但由于JRE等各方面的因素,可能会导致tomcat启动特别缓慢。
catalina.out里会有类似如下提示
1 | ... |
通过配置JRE使用非阻塞的熵源,可以解决此问题,但因随机性下降会降低系统安全性。
为JRE添加如下属性
1 | -Djava.security.egd=file:/dev/./urandom |
比如可以在/etc/default/tomcat8中的添加:
1 | JAVA_OPTS="-Djava.awt.headless=true -Xmx1280m -XX:+UseConcMarkSweepGC -Djava.security.egd=file:/dev/./urandom" |
References:
[1]How do I make Tomcat startup faster?
===
[erq]
应用程序启动时有如下错误提示:
1 | ERROR \[localhost-startStop-1\] - Context initialization failed |
这是因为默认情况下,atomikos要在/var/lib/tomcat8目录下生成其日志和锁文件,而/var/lib/tomcat8文件夹的所有者和组都是root,无法写入,所以初始化失败。
解决方法有二,最简单粗暴的就是将/var/lib/tomcat8目录的所有者和组都更改为tomcat8.
另一个方法是classpath中添加atomikos配置文件,将其输出文件目录配置到tomcat8有权限写入的目录中,比如/var/log/tomcat8
1 | com.atomikos.icatch.service=com.atomikos.icatch.standalone.UserTransactionServiceFactory |
===
[erq]
交换机简单了讲就是一个多端口网桥。
几个意思相近又有区别的词语:
crew 全体船员; 全体乘务员;全体工作人员
staff 全体职员; 全体管理人员;
faculty 全体教员
crowd 一群,人群
查看oracle job的运行状态,可以查询这几张系统视图ALL_SCHEDULER_JOB_LOG/DBA_SCHEDULER_JOB_LOG和dba_scheduler_job_run_details
The keyword SNAPSHOT is supported in place of MATERIALIZED VIEW for backward compatibility.
也就是以前叫“快照”,现在叫“物化视图”了。
keyspace创建以后,仍然可以更改其复制因子,也就是keyspace中数据的复制份数是可以动态修改的。
cassandra集群的系统keyspace system_auth默认的replication factor是1,也就是其实是没有冗余的。如果这唯一的节点挂掉,就无法再登录到集群了。
因此官方文档推荐将其复制因子设置为每个数据中心的每一个节点。也就是将其复制到集群中的每一个节点上。
查看system_auth的复制因子
1 | cqlsh> DESC KEYSPACE system_auth |
果然replication factor只有1,修改之:
1 | cqlsh> ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1':2,'dc2':2}; |
durable_writes参数用于设置写数据时是否写入commit log,如果设置为false,则写请求不会写commit log,会有丢失数据的风险。
此参数默认为true,即要写commit log,生产系统应该将该参数设置为true。
References:
[1]CREATE KEYSPACE
===
[erq]