<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>xisi (MenDD)</title>
    <link>https://ruby-china.org/xisi</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>分享一点关于 PG 的小知识</title>
      <description>&lt;p&gt;在我们的业务量不断增长中   需要我们谨慎的操作数据库&lt;/p&gt;

&lt;p&gt;分享一点心得&lt;/p&gt;

&lt;p&gt;一。碰到需要添加索引，需要用到 CONCURRENTLY，可以避免锁的问题&lt;/p&gt;

&lt;p&gt;如  &lt;code&gt;create index CONCURRENTLY idx_table_names_titem_uid on table_names(titem_uid)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;文档可以见： &lt;a href="http://www.postgresql.org/docs/9.1/static/sql-createindex.html" rel="nofollow" target="_blank"&gt;http://www.postgresql.org/docs/9.1/static/sql-createindex.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;二。有时我们会 去执行一些费时耗数据库的任务 有时会发现 某一个任务 还在暗地里执行着 需要我们 手动的 关闭 该任务&lt;/p&gt;

&lt;p&gt;如果你是 kill 对应的 pid，你很有可能会出现 数据库的问题 保险的做法是 用 PG_CANCEL_BACKEND&lt;/p&gt;

&lt;p&gt;通过 如下查找对应的 PID&lt;/p&gt;

&lt;p&gt;&lt;code&gt;select pid, trim(starttime) as start, duration, trim(user_name) as user,substring (query,1,40) as querytxt from stv_recents where status = 'Running';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;查看
&lt;code&gt;select pg_cancel_backend(802);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;通过如下 杀掉 任务&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pg_cancel_backend( pid )&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;可以见文档： &lt;a href="http://docs.aws.amazon.com/redshift/latest/dg/PG_CANCEL_BACKEND.html" rel="nofollow" target="_blank"&gt;http://docs.aws.amazon.com/redshift/latest/dg/PG_CANCEL_BACKEND.html&lt;/a&gt;&lt;/p&gt;</description>
      <author>xisi</author>
      <pubDate>Thu, 20 Nov 2014 15:18:27 +0800</pubDate>
      <link>https://ruby-china.org/topics/22778</link>
      <guid>https://ruby-china.org/topics/22778</guid>
    </item>
    <item>
      <title>使用 accepts_nested_attributes_for  是不是可以解决问卷调查的模型实现</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Category&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Mongoid&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Document&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Mongoid&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Paperclip&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Mongoid&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Tree&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Mongoid&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Tree&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Ordering&lt;/span&gt;

  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:type&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;String&lt;/span&gt;
  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:desc&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="ss"&gt;:type&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;String&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:default&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;

  &lt;span class="n"&gt;has_many&lt;/span&gt; &lt;span class="ss"&gt;:books&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:autosave&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;

  &lt;span class="n"&gt;has_mongoid_attached_file&lt;/span&gt; &lt;span class="ss"&gt;:img&lt;/span&gt;
  &lt;span class="n"&gt;attr_accessible&lt;/span&gt; &lt;span class="ss"&gt;:img&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:books_attributes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:desc&lt;/span&gt;
  &lt;span class="n"&gt;accepts_nested_attributes_for&lt;/span&gt; &lt;span class="ss"&gt;:books&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:allow_destroy&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;page&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;form&lt;/span&gt;
  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;form_for&lt;/span&gt; &lt;span class="vi"&gt;@category&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;field&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;need&lt;/span&gt;
      &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt;

    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;field&lt;/span&gt;
      &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;desc&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:desc&lt;/span&gt;

    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;feild&lt;/span&gt;
      &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;img&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;file_field&lt;/span&gt; &lt;span class="ss"&gt;:img&lt;/span&gt;

    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;field&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;books&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;book&lt;/span&gt;
        &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@category.books.build&lt;/span&gt;

        &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fields_for&lt;/span&gt; &lt;span class="ss"&gt;:books&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;book&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;book_form&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
          &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="nb"&gt;name&lt;/span&gt;
          &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;book_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:name&lt;/span&gt;

          &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;desc&lt;/span&gt;
          &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;book_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:desc&lt;/span&gt;

    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;field&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一份问卷中，有多道题的模型&lt;/p&gt;</description>
      <author>xisi</author>
      <pubDate>Wed, 18 Sep 2013 17:06:12 +0800</pubDate>
      <link>https://ruby-china.org/topics/14216</link>
      <guid>https://ruby-china.org/topics/14216</guid>
    </item>
  </channel>
</rss>
