PHP PostgreSQL查询问题

PHP PostgreSQL查询问题,php,postgresql,pdo,Php,Postgresql,Pdo,我一直在尝试将pg_connect查询转换为PDO,因为pg_connect会给我错误。下面是我的查询,它抛出了一个错误 <?php if (!empty($_GET)) { $searchfilters = array( "name" => "data.name || ' ' || data.lastname ILIKE " . $dbh->quote("%".getvar("name")."%"),

我一直在尝试将pg_connect查询转换为PDO,因为pg_connect会给我错误。下面是我的查询,它抛出了一个错误

 <?php
      if (!empty($_GET)) {
        $searchfilters = array( 
          "name"     => "data.name || ' ' || data.lastname ILIKE " . $dbh->quote("%".getvar("name")."%"),
          "room"     => "data.room = " . $dbh->quote(getvar("room")),
          "activity" => "data.activity = " . $dbh->quote(getvar("activity")),
          "date1"    => "data.dob > " . $dbh->quote(getvar("date1")),
          "date2"    => "data.dob < " . $dbh->quote(getvar("date2")),
          "date3"    => "data.joinDate > " . $dbh->quote(getvar("date3")),
          "date4"    => "data.joinDate < " . $dbh->quote(getvar("date4")),
          "date5"    => "data.lastSeen > " . $dbh->quote(getvar("date5")),
          "date6"    => "data.lastSeen < " . $dbh->quote(getvar("date6")),
        );
        $wherequery = array();
        foreach ($searchfilters as $n => $q) {
          $v = getvar($n);
          if (!empty($v)) {
            $wherequery[] = $q;
          }
        }
        $query = "SELECT DISTINCT data.id, data.name, lastname, paging, room, activity
                  FROM data";
        if (count($wherequery) > 0) {
          $query .= " WHERE " . (getvar("invert") == "on" ? " NOT " : "") . "(" . implode(" and ", $wherequery) . ")"; 
        }
        $query .= " ORDER BY lastname;";
        $result = pg_query($connection, $query) or 
          die(_("Error in query") . ": $query." . pg_last_error($connection));

        if (pg_num_rows($result) == 0) {
          echo '<div class="alert alert-error">
            <a class="close" data-dismiss="alert" href="#">×</a>
            <h4 class=\"alert-heading\">' . _('No results') . '</h4>
            </div>';
        } else {
          echo '<table class="table">
            <thead>
              <tr>
                <script language="JavaScript">
                  function toggle(source) {
                    checkboxes = document.getElementsByName(\'foo\');
                    for(var i in checkboxes)
                      checkboxes[i].checked = source.checked;
                  }
                </script>
                <th><input type="checkbox" onClick="toggle(this)"></th>
                <th>' .  _("Name") . '</th>
                <th>' .  _("Activity") . '</th>
                <th>' .  _("Room") . '</th>
                <th>' .  _("Paging") . '</th>
              </tr>
            </thead>
            <tbody>';
          while ($row = pg_fetch_assoc($result)) {
            echo '<tr><td style="width:30px"><input type="checkbox" name="foo"></td>';
            echo "<td><a href=\"details.php?id={$row["id"]}\">{$row["name"]} {$row["lastname"]}</a></td>";
            echo '<td>' . $activities[$row["activity"]] . '</td>';
            echo '<td>' . $rooms[$row["room"]] . '</td>';
            echo '<td>' . $row["paging"] . '</td>';
            echo '</tr>';
          }
          echo '</tbody></table>';
        }
      }
    ?>
如果你还需要什么,请告诉我。我不是很精通PHP,我正在尝试运行一个开源应用程序,有些功能需要一些TLC才能工作。任何帮助都将不胜感激

编辑:这是整个页面

最初的查询是

    $sth = $dbh->query('$query');
                              while ($data = $sth->fetch(PDO::FETCH_ASSOC))
                                echo "<option value=\"{$data[id]}\">
$sth=$dbh->query(“$query”);
而($data=$sth->fetch(PDO::fetch_ASSOC))
回声“
我尝试将其更改为:

          <!DOCTYPE html>
<!-- vim: tabstop=2:softtabstop=2 -->
<?php
  require_once "config.php";
  require_once 'functions.php';

  //internationalisation
  $domain = "search";
  require_once 'locale.php';

  function getvar($vname) {
    return array_key_exists($vname, $_POST) ? $_POST[$vname] : $_GET[$vname];
  }

  $dbh = db_connect();

  $connection = pg_connect ("host=$dbhost dbname=$dbname user=$dbuser password=$dbpass");

  $page_title = _("Advanced Search");
  require_once "template/header.php";
?>
          <!-- sidebar -->
          <div class="span3">
            <div class="well sidebar-nav">
              <ul class="nav nav-list">
                <li class="nav-header"><?php echo _("Search") ?></li>
                <li><a href="search.php"><i class="icon-search"></i><?php echo _("Search") ?></a></li>
                <li class="active"><a href="#"><i class="icon-filter"></i><?php echo _("Advanced") ?></a></li>
                <li><a href="#"><i class="icon-bookmark"></i><?php echo _("Saved Searches") ?></a></li>
              </ul>
              <ul class="nav nav-list">
                <li class="nav-header"><?php echo _("Actions") ?></li>
                <li><a href="register.php"><i class="icon-plus-sign"></i><?php echo _("Register") ?></a></li>
                <li><a href="#"><i class="icon-user"></i><?php echo _("Register Visitor") ?></a></li>
                <li><a href="#"><i class="icon-print"></i><?php echo _("Print Results") ?></a></li>
                <li><a href="#"><i class="icon-download-alt"></i><?php echo _("Download Results") ?></a></li>
            </div>
          </div>
          <!-- /sidebar -->

          <div class="span9">
            <!-- Search form -->
            <form class="well form-horizontal" method="get">
              <fieldset>
                <div class="control-group">
                  <label class="control-label" for="name"><?php echo _("Name contains") ?></label>
                  <div class="controls">
                    <input type="text" class="input" name="name" id="name" placeholder="<?php echo _("Name") ?>" value="<?php echo getvar("name"); ?>">
                  </div>
                </div>
                <div class="control-group">
                  <label class="control-label" for="room"><?php echo _("and room is") ?></label>
                  <div class="controls">
                    <select name="room" id="room">
                      <option value="" selected><?php echo _("Any Room") ?></option>
                        <?php
                          $sth = $dbh->query('SELECT id, name FROM rooms');
                          while ($data = $sth->fetch(PDO::FETCH_ASSOC))
                            echo "<option value=\"{$data[id]}\">{$data[name]}</option>\n";
                        ?>
                    </select>
                  </div>
                </div>
                <div class="control-group">
                  <label class="control-label" for="room"><?php echo _("and class is") ?></label>
                  <div class="controls">
                    <select name="activity" id="activity">
                      <option value="" selected><?php echo _("Any Class") ?></option>
                      <?php
                        echo (is_null($edata["activity"]) ? "<option disabled selected>" .
                            _("Class") . "</option>\n" : "");
                        $sth = $dbh->query('SELECT id, name FROM activities');
                        while ($data = $sth->fetch(PDO::FETCH_ASSOC)) {
                          echo "<option value=\"{$data["id"]}\"" .
                            ($data["id"] == $edata["activity"] ? " selected" : "") .
                            ">{$data["name"]}</option>\n";
                        }
                      ?>
                    </select>
                  </div>
                </div>
                <div class="control-group">
                  <label class="control-label" for="medical"><?php echo _("and was born") ?></label>
                  <div class="controls">
                    <?php echo _("after") ?> <input type="text" class="input-small" name="date1" id="date1" value="<?php echo getvar("date1"); ?>">
                    <?php echo _("and before") ?> <input type="text" class="input-small" name="date2" id="date2" value="<?php echo getvar("date2"); ?>">
                  </div>
                </div>
                <div class="control-group">
                  <label class="control-label" for="medical"><?php echo _("and joined") ?></label>
                  <div class="controls">
                    <?php echo _("after") ?> <input type="text" class="input-small" name="date3" id="date3" value="<?php echo getvar("date3"); ?>">
                    <?php echo _("and before") ?> <input type="text" class="input-small" name="date4" id="date4" value="<?php echo getvar("date4"); ?>">
                  </div>
                </div>
                <div class="control-group">
                  <label class="control-label" for="medical"><?php echo _("and last seen") ?></label>
                  <div class="controls">
                    <?php echo _("after") ?> <input type="text" class="input-small" name="date5" id="date5" value="<?php echo getvar("date5"); ?>">
                    <?php echo _("and before") ?> <input type="text" class="input-small" name="date6" id="date6" value="<?php echo getvar("date6"); ?>">
                  </div>
                </div>
                <div class="control-group">
                  <label class="control-label" for="medical"><?php echo _("Invert query") ?></label>
                  <div class="controls">
                    <input type="checkbox" name="invert" id="invert" <?php echo (getvar("invert") == "on" ? "checked" : ""); ?>>
                  </div>
                </div>
                <div class="form-actions">
                  <input type="submit" class="btn btn-primary" value="<?php echo _("Search") ?>" />
                  <input type="reset" class="btn" value="<?php echo _("Reset") ?>">
                </div>
              </fieldset>
            </form>
            <?php
              if (!empty($_GET)) {
                $searchfilters = array(
                  "name"     => "data.name || ' ' || data.lastname ILIKE " . $dbh->quote("%".getvar("name")."%"),
                  "room"     => "data.room = " . $dbh->quote(getvar("room")),
                  "activity" => "data.activity = " . $dbh->quote(getvar("activity")),
                  "date1"    => "data.dob > " . $dbh->quote(getvar("date1")),
                  "date2"    => "data.dob < " . $dbh->quote(getvar("date2")),
                  "date3"    => "data.joinDate > " . $dbh->quote(getvar("date3")),
                  "date4"    => "data.joinDate < " . $dbh->quote(getvar("date4")),
                  "date5"    => "data.lastSeen > " . $dbh->quote(getvar("date5")),
                  "date6"    => "data.lastSeen < " . $dbh->quote(getvar("date6")),
                );
                $wherequery = array();
                foreach ($searchfilters as $n => $q) {
                  $v = getvar($n);
                  if (!empty($v)) {
                    $wherequery[] = $q;
                  }
                }
                $query = "SELECT DISTINCT  data.id, data.name, data.lastname, data.paging, data.room, data.activity
                          FROM data";
                if (count($wherequery) > 0) {
                  $query .= " WHERE " . (getvar("invert") == "on" ? " NOT " : "") . "(" . implode(" and ", $wherequery) . ")";
                }
                $query .= " ORDER BY data.lastname;";

    //  $sth = $dbh->query('$query');
        //                  while ($data = $sth->fetch(PDO::FETCH_ASSOC))
        //                    echo "<option value=\"{$data[id]}\">{$data[name]}</option>\n";
        $result = pg_query($connection, $query) or
                die(_("Error in query") . ": $query." . pg_last_error($connection));

                if (pg_num_rows($result) == 0) {
                  echo '<div class="alert alert-error">
                    <a class="close" data-dismiss="alert" href="#">×</a>
                    <h4 class=\"alert-heading\">' . _('No results') . '</h4>
                    </div>';
                } else {
                  echo '<table class="table">
                    <thead>
                      <tr>
                        <script language="JavaScript">
                          function toggle(source) {
                            checkboxes = document.getElementsByName(\'foo\');
                            for(var i in checkboxes)
                              checkboxes[i].checked = source.checked;
                          }
                        </script>
                        <th><input type="checkbox" onClick="toggle(this)"></th>
                        <th>' .  _("Name") . '</th>
                        <th>' .  _("Activity") . '</th>
                        <th>' .  _("Room") . '</th>
                        <th>' .  _("Paging") . '</th>
                      </tr>
                    </thead>
                    <tbody>';
                  while ($row = pg_fetch_assoc($result)) {
                    echo '<tr><td style="width:30px"><input type="checkbox" name="foo"></td>';
                    echo "<td><a href=\"details.php?id={$row["id"]}\">{$row["name"]} {$row["lastname"]}</a></td>";
                    echo '<td>' . $activities[$row["activity"]] . '</td>';
                    echo '<td>' . $rooms[$row["room"]] . '</td>';
                    echo '<td>' . $row["paging"] . '</td>';
                    echo '</tr>';
                  }
                  echo '</tbody></table>';
                }
              }
            ?>
          </div>
      </div>
      <script>
        window.onload = function(){
          for(i = 1; i <= 6; i++) {
            new JsDatePick({
              useMode:2,
              target:("date" + i),
              dateFormat:"%Y-%m-%d",
              imgPath:"resources/img/datepicker"
            });
          }
        };
      </script>
<?php require_once "template/footer.php" ; ?>


  • 你能发布它抛出的错误吗?最好包括已执行的查询。
    $dbh->query(“$query”)
    :为什么要加引号?此外,变量的值不能用单引号代替。此外,你不能将pg_*函数与PDO函数混合使用:它们不共享连接,因此相互不兼容(将它们全部替换为PDO等价项:pg_num_rows=>PDOStatement::rowCount,pg_fetch_assoc=>PDOStatement::fetch(PDO::fetch_assoc))。我也猜,第一个while在错误的位置。如果有帮助,我添加了整个页面。请让我知道这是否清楚?@scrowler错误只是查询中的错误:从data ORDER BY data.lastname;中选择DISTINCT data.id、data.name、data.lastname、data.paging、data.room、data.activity。但是我可以手动运行查询并获得结果lts.你能发布它抛出的错误吗?最好包括执行的查询。
    $dbh->query(“$query”)
    :为什么要加引号?此外,变量的值不能用单引号代替。此外,你不能将pg_*函数与PDO函数混合使用:它们不共享连接,因此它们是互不兼容的(将它们全部替换为PDO等价项:pg_num_rows=>PDOStatement::rowCount,pg_fetch_assoc=>PDOStatement::fetch(PDO::fetch_assoc))。我也猜,第一个while在错误的位置。如果有帮助,我添加了整个页面。请让我知道这是否清楚?@scrowler错误只是查询中的错误:从data ORDER BY data.lastname;中选择DISTINCT data.id、data.name、data.lastname、data.paging、data.room、data.activity。但是我可以手动运行查询并获得结果lts.你能发布它抛出的错误吗?最好包括执行的查询。
    $dbh->query(“$query”)
    :为什么要加引号?此外,变量的值不能用单引号代替。此外,你不能将pg_*函数与PDO函数混合使用:它们不共享连接,因此它们是互不兼容的(将它们全部替换为PDO等价项:pg_num_rows=>PDOStatement::rowCount,pg_fetch_assoc=>PDOStatement::fetch(PDO::fetch_assoc))。我也猜,第一个while在错误的位置。如果有帮助,我添加了整个页面。请让我知道这是否清楚?@scrowler错误只是查询中的错误:从data ORDER BY data.lastname;中选择DISTINCT data.id、data.name、data.lastname、data.paging、data.room、data.activity。但是我可以手动运行查询并获得结果lts。
              <!DOCTYPE html>
    <!-- vim: tabstop=2:softtabstop=2 -->
    <?php
      require_once "config.php";
      require_once 'functions.php';
    
      //internationalisation
      $domain = "search";
      require_once 'locale.php';
    
      function getvar($vname) {
        return array_key_exists($vname, $_POST) ? $_POST[$vname] : $_GET[$vname];
      }
    
      $dbh = db_connect();
    
      $connection = pg_connect ("host=$dbhost dbname=$dbname user=$dbuser password=$dbpass");
    
      $page_title = _("Advanced Search");
      require_once "template/header.php";
    ?>
              <!-- sidebar -->
              <div class="span3">
                <div class="well sidebar-nav">
                  <ul class="nav nav-list">
                    <li class="nav-header"><?php echo _("Search") ?></li>
                    <li><a href="search.php"><i class="icon-search"></i><?php echo _("Search") ?></a></li>
                    <li class="active"><a href="#"><i class="icon-filter"></i><?php echo _("Advanced") ?></a></li>
                    <li><a href="#"><i class="icon-bookmark"></i><?php echo _("Saved Searches") ?></a></li>
                  </ul>
                  <ul class="nav nav-list">
                    <li class="nav-header"><?php echo _("Actions") ?></li>
                    <li><a href="register.php"><i class="icon-plus-sign"></i><?php echo _("Register") ?></a></li>
                    <li><a href="#"><i class="icon-user"></i><?php echo _("Register Visitor") ?></a></li>
                    <li><a href="#"><i class="icon-print"></i><?php echo _("Print Results") ?></a></li>
                    <li><a href="#"><i class="icon-download-alt"></i><?php echo _("Download Results") ?></a></li>
                </div>
              </div>
              <!-- /sidebar -->
    
              <div class="span9">
                <!-- Search form -->
                <form class="well form-horizontal" method="get">
                  <fieldset>
                    <div class="control-group">
                      <label class="control-label" for="name"><?php echo _("Name contains") ?></label>
                      <div class="controls">
                        <input type="text" class="input" name="name" id="name" placeholder="<?php echo _("Name") ?>" value="<?php echo getvar("name"); ?>">
                      </div>
                    </div>
                    <div class="control-group">
                      <label class="control-label" for="room"><?php echo _("and room is") ?></label>
                      <div class="controls">
                        <select name="room" id="room">
                          <option value="" selected><?php echo _("Any Room") ?></option>
                            <?php
                              $sth = $dbh->query('SELECT id, name FROM rooms');
                              while ($data = $sth->fetch(PDO::FETCH_ASSOC))
                                echo "<option value=\"{$data[id]}\">{$data[name]}</option>\n";
                            ?>
                        </select>
                      </div>
                    </div>
                    <div class="control-group">
                      <label class="control-label" for="room"><?php echo _("and class is") ?></label>
                      <div class="controls">
                        <select name="activity" id="activity">
                          <option value="" selected><?php echo _("Any Class") ?></option>
                          <?php
                            echo (is_null($edata["activity"]) ? "<option disabled selected>" .
                                _("Class") . "</option>\n" : "");
                            $sth = $dbh->query('SELECT id, name FROM activities');
                            while ($data = $sth->fetch(PDO::FETCH_ASSOC)) {
                              echo "<option value=\"{$data["id"]}\"" .
                                ($data["id"] == $edata["activity"] ? " selected" : "") .
                                ">{$data["name"]}</option>\n";
                            }
                          ?>
                        </select>
                      </div>
                    </div>
                    <div class="control-group">
                      <label class="control-label" for="medical"><?php echo _("and was born") ?></label>
                      <div class="controls">
                        <?php echo _("after") ?> <input type="text" class="input-small" name="date1" id="date1" value="<?php echo getvar("date1"); ?>">
                        <?php echo _("and before") ?> <input type="text" class="input-small" name="date2" id="date2" value="<?php echo getvar("date2"); ?>">
                      </div>
                    </div>
                    <div class="control-group">
                      <label class="control-label" for="medical"><?php echo _("and joined") ?></label>
                      <div class="controls">
                        <?php echo _("after") ?> <input type="text" class="input-small" name="date3" id="date3" value="<?php echo getvar("date3"); ?>">
                        <?php echo _("and before") ?> <input type="text" class="input-small" name="date4" id="date4" value="<?php echo getvar("date4"); ?>">
                      </div>
                    </div>
                    <div class="control-group">
                      <label class="control-label" for="medical"><?php echo _("and last seen") ?></label>
                      <div class="controls">
                        <?php echo _("after") ?> <input type="text" class="input-small" name="date5" id="date5" value="<?php echo getvar("date5"); ?>">
                        <?php echo _("and before") ?> <input type="text" class="input-small" name="date6" id="date6" value="<?php echo getvar("date6"); ?>">
                      </div>
                    </div>
                    <div class="control-group">
                      <label class="control-label" for="medical"><?php echo _("Invert query") ?></label>
                      <div class="controls">
                        <input type="checkbox" name="invert" id="invert" <?php echo (getvar("invert") == "on" ? "checked" : ""); ?>>
                      </div>
                    </div>
                    <div class="form-actions">
                      <input type="submit" class="btn btn-primary" value="<?php echo _("Search") ?>" />
                      <input type="reset" class="btn" value="<?php echo _("Reset") ?>">
                    </div>
                  </fieldset>
                </form>
                <?php
                  if (!empty($_GET)) {
                    $searchfilters = array(
                      "name"     => "data.name || ' ' || data.lastname ILIKE " . $dbh->quote("%".getvar("name")."%"),
                      "room"     => "data.room = " . $dbh->quote(getvar("room")),
                      "activity" => "data.activity = " . $dbh->quote(getvar("activity")),
                      "date1"    => "data.dob > " . $dbh->quote(getvar("date1")),
                      "date2"    => "data.dob < " . $dbh->quote(getvar("date2")),
                      "date3"    => "data.joinDate > " . $dbh->quote(getvar("date3")),
                      "date4"    => "data.joinDate < " . $dbh->quote(getvar("date4")),
                      "date5"    => "data.lastSeen > " . $dbh->quote(getvar("date5")),
                      "date6"    => "data.lastSeen < " . $dbh->quote(getvar("date6")),
                    );
                    $wherequery = array();
                    foreach ($searchfilters as $n => $q) {
                      $v = getvar($n);
                      if (!empty($v)) {
                        $wherequery[] = $q;
                      }
                    }
                    $query = "SELECT DISTINCT  data.id, data.name, data.lastname, data.paging, data.room, data.activity
                              FROM data";
                    if (count($wherequery) > 0) {
                      $query .= " WHERE " . (getvar("invert") == "on" ? " NOT " : "") . "(" . implode(" and ", $wherequery) . ")";
                    }
                    $query .= " ORDER BY data.lastname;";
    
        //  $sth = $dbh->query('$query');
            //                  while ($data = $sth->fetch(PDO::FETCH_ASSOC))
            //                    echo "<option value=\"{$data[id]}\">{$data[name]}</option>\n";
            $result = pg_query($connection, $query) or
                    die(_("Error in query") . ": $query." . pg_last_error($connection));
    
                    if (pg_num_rows($result) == 0) {
                      echo '<div class="alert alert-error">
                        <a class="close" data-dismiss="alert" href="#">×</a>
                        <h4 class=\"alert-heading\">' . _('No results') . '</h4>
                        </div>';
                    } else {
                      echo '<table class="table">
                        <thead>
                          <tr>
                            <script language="JavaScript">
                              function toggle(source) {
                                checkboxes = document.getElementsByName(\'foo\');
                                for(var i in checkboxes)
                                  checkboxes[i].checked = source.checked;
                              }
                            </script>
                            <th><input type="checkbox" onClick="toggle(this)"></th>
                            <th>' .  _("Name") . '</th>
                            <th>' .  _("Activity") . '</th>
                            <th>' .  _("Room") . '</th>
                            <th>' .  _("Paging") . '</th>
                          </tr>
                        </thead>
                        <tbody>';
                      while ($row = pg_fetch_assoc($result)) {
                        echo '<tr><td style="width:30px"><input type="checkbox" name="foo"></td>';
                        echo "<td><a href=\"details.php?id={$row["id"]}\">{$row["name"]} {$row["lastname"]}</a></td>";
                        echo '<td>' . $activities[$row["activity"]] . '</td>';
                        echo '<td>' . $rooms[$row["room"]] . '</td>';
                        echo '<td>' . $row["paging"] . '</td>';
                        echo '</tr>';
                      }
                      echo '</tbody></table>';
                    }
                  }
                ?>
              </div>
          </div>
          <script>
            window.onload = function(){
              for(i = 1; i <= 6; i++) {
                new JsDatePick({
                  useMode:2,
                  target:("date" + i),
                  dateFormat:"%Y-%m-%d",
                  imgPath:"resources/img/datepicker"
                });
              }
            };
          </script>
    <?php require_once "template/footer.php" ; ?>
    
    < 2015-06-21 17:48:10.712 CDT >LOG:  database system is ready to accept connections
    < 2015-06-21 17:48:10.712 CDT >LOG:  autovacuum launcher started
    
    #------------------------------------------------------------------------------
    # ERROR REPORTING AND LOGGING
    #------------------------------------------------------------------------------
    
    # - Where to Log -
    
    log_destination = 'stderr'      # Valid values are combinations of
                        # stderr, csvlog, syslog, and eventlog,
                        # depending on platform.  csvlog
                        # requires logging_collector to be on.
    
    # This is used when logging to stderr:
    logging_collector = on          # Enable capturing of stderr and csvlog
                        # into log files. Required to be on for
                        # csvlogs.
                        # (change requires restart)
    
    # These are only used if logging_collector is on:
    log_directory = 'pg_log'        # directory where log files are written,
                        # can be absolute or relative to PGDATA
    log_filename = 'postgresql-%a.log'  # log file name pattern,
                        # can include strftime() escapes
    #log_file_mode = 0600           # creation mode for log files,
                        # begin with 0 to use octal notation
    log_truncate_on_rotation = on       # If on, an existing log file with the
                        # same name as the new log file will be
                        # truncated rather than appended to.
                        # But such truncation only occurs on
                        # time-driven rotation, not on restarts
                        # or size-driven rotation.  Default is
                        # off, meaning append to existing files
                        # in all cases.
    log_rotation_age = 1d           # Automatic rotation of logfiles will
                        # happen after that time.  0 disables.
    log_rotation_size = 0           # Automatic rotation of logfiles will
                        # happen after that much log output.
                        # 0 disables.
    
    # These are relevant when logging to syslog:
    #syslog_facility = 'LOCAL0'
    #syslog_ident = 'postgres'
    
    # This is only relevant when logging to eventlog (win32):
    #event_source = 'PostgreSQL'
    
    # - When to Log -
    
    client_min_messages = notice        # values in order of decreasing detail:
                        #   debug5
                        #   debug4
                        #   debug3
                        #   debug2
                        #   debug1
                        #   log
                        #   notice
                        #   warning
                        #   error
    
    log_min_messages = error        # values in order of decreasing detail:
                        #   debug5
                        #   debug4
                        #   debug3
                        #   debug2
                        #   debug1
                        #   info
                        #   notice
                        #   warning
                        #   error
                        #   log
                        #   fatal
                        #   panic
    
    log_min_error_statement = error # values in order of decreasing detail:
                        #   debug5
                        #   debug4
                        #   debug3
                        #   debug2
                        #   debug1
                        #   info
                        #   notice
                        #   warning
                        #   error
                        #   log
                        #   fatal
                        #   panic (effectively off)
    
    #log_min_duration_statement = -1    # -1 is disabled, 0 logs all statements
                        # and their durations, > 0 logs only
                        # statements running at least this number
                        # of milliseconds
    
    
    # - What to Log -
    
    #debug_print_parse = off
    #debug_print_rewritten = off
    #debug_print_plan = off
    #debug_pretty_print = on
    #log_checkpoints = off
    #log_connections = off
    #log_disconnections = off
    #log_duration = off
    log_error_verbosity = default       # terse, default, or verbose messages
    #log_hostname = off
    log_line_prefix = '< %m >'          # special values:
                        #   %a = application name
                        #   %u = user name
                        #   %d = database name
                        #   %r = remote host and port
                        #   %h = remote host
                        #   %p = process ID
                        #   %t = timestamp without milliseconds
                        #   %m = timestamp with milliseconds
                        #   %i = command tag
                        #   %e = SQL state
                        #   %c = session ID
                        #   %l = session line number
                        #   %s = session start timestamp
                        #   %v = virtual transaction ID
                        #   %x = transaction ID (0 if none)
                        #   %q = stop here in non-session
                        #        processes
                        #   %% = '%'
                        # e.g. '<%u%%%d> '
    #log_lock_waits = off           # log lock waits >= deadlock_timeout
    #log_statement = 'none'         # none, ddl, mod, all
    #log_temp_files = -1            # log temporary files equal or larger
                        # than the specified size in kilobytes;
                        # -1 disables, 0 logs all temp files
    log_timezone = 'America/Indiana/Tell_City'
    
    
    #------------------------------------------------------------------------------
    # RUNTIME STATISTICS
    #------------------------------------------------------------------------------
    
    # - Query/Index Statistics Collector -
    
    #track_activities = on
    #track_counts = on
    #track_io_timing = off
    #track_functions = none         # none, pl, all
    #track_activity_query_size = 1024   # (change requires restart)
    #update_process_title = on
    #stats_temp_directory = 'pg_stat_tmp'
    
    
    # - Statistics Monitoring -
    
    #log_parser_stats = off
    #log_planner_stats = off
    #log_executor_stats = off
    #log_statement_stats = off
    
    
    #------------------------------------------------------------------------------
    # AUTOVACUUM PARAMETERS
    #------------------------------------------------------------------------------
    
    #autovacuum = on            # Enable autovacuum subprocess?  'on'
                        # requires track_counts to also be on.
    #log_autovacuum_min_duration = -1   # -1 disables, 0 logs all actions and
                        # their durations, > 0 logs only
                        # actions running at least this number
                        # of milliseconds.
    #autovacuum_max_workers = 3     # max number of autovacuum subprocesses
                        # (change requires restart)
    #autovacuum_naptime = 1min      # time between autovacuum runs
    #autovacuum_vacuum_threshold = 50   # min number of row updates before
                        # vacuum
    #autovacuum_analyze_threshold = 50  # min number of row updates before
                        # analyze
    #autovacuum_vacuum_scale_factor = 0.2   # fraction of table size before vacuum
    #autovacuum_analyze_scale_factor = 0.1  # fraction of table size before analyze
    #autovacuum_freeze_max_age = 200000000  # maximum XID age before forced vacuum
                        # (change requires restart)
    #autovacuum_multixact_freeze_max_age = 400000000    # maximum Multixact age
                        # before forced vacuum
                        # (change requires restart)
    #autovacuum_vacuum_cost_delay = 20ms    # default vacuum cost delay for
                        # autovacuum, in milliseconds;
                        # -1 means use vacuum_cost_delay
    #autovacuum_vacuum_cost_limit = -1  # default vacuum cost limit for
                        # autovacuum, -1 means use
                        # vacuum_cost_limit
    
    
    #------------------------------------------------------------------------------
    # CLIENT CONNECTION DEFAULTS
    #------------------------------------------------------------------------------
    
    # - Statement Behavior -
    
    #search_path = '"$user",public'     # schema names
    #default_tablespace = ''        # a tablespace name, '' uses the default
    #temp_tablespaces = ''          # a list of tablespace names, '' uses
                        # only default tablespace
    #check_function_bodies = on
    #default_transaction_isolation = 'read committed'
    #default_transaction_read_only = off
    #default_transaction_deferrable = off
    #session_replication_role = 'origin'
    #statement_timeout = 0          # in milliseconds, 0 is disabled
    #lock_timeout = 0           # in milliseconds, 0 is disabled
    #vacuum_freeze_min_age = 50000000
    #vacuum_freeze_table_age = 150000000
    #vacuum_multixact_freeze_min_age = 5000000
    #vacuum_multixact_freeze_table_age = 150000000
    #bytea_output = 'hex'           # hex, escape
    #xmlbinary = 'base64'
    #xmloption = 'content'
    
    # - Locale and Formatting -
    
    datestyle = 'iso, mdy'
    #intervalstyle = 'postgres'
    timezone = 'America/Indiana/Tell_City'
    #timezone_abbreviations = 'Default'     # Select the set of available time zone
                        # abbreviations.  Currently, there are
                        #   Default
                        #   Australia (historical usage)
                        #   India
                        # You can create your own file in
                        # share/timezonesets/.
    #extra_float_digits = 0         # min -15, max 3
    #client_encoding = sql_ascii        # actually, defaults to database
                        # encoding
    
    # These settings are initialized by initdb, but they can be changed.
    lc_messages = 'en_US.UTF-8'         # locale for system error message
                        # strings
    lc_monetary = 'en_US.UTF-8'         # locale for monetary formatting
    lc_numeric = 'en_US.UTF-8'          # locale for number formatting
    lc_time = 'en_US.UTF-8'             # locale for time formatting
    
    # default configuration for text search
    default_text_search_config = 'pg_catalog.english'
    
    # - Other Defaults -
    
    #dynamic_library_path = '$libdir'
    #local_preload_libraries = ''
    
    
    #------------------------------------------------------------------------------
    # LOCK MANAGEMENT
    #------------------------------------------------------------------------------
    
    #deadlock_timeout = 1s
    #max_locks_per_transaction = 64     # min 10
                        # (change requires restart)
    # Note:  Each lock table slot uses ~270 bytes of shared memory, and there are
    # max_locks_per_transaction * (max_connections + max_prepared_transactions)
    # lock table slots.
    #max_pred_locks_per_transaction = 64    # min 10
                        # (change requires restart)
    
    
    #------------------------------------------------------------------------------
    # VERSION/PLATFORM COMPATIBILITY
    #------------------------------------------------------------------------------
    
    # - Previous PostgreSQL Versions -
    
    #array_nulls = on
    #backslash_quote = safe_encoding    # on, off, or safe_encoding
    #default_with_oids = off
    #escape_string_warning = on
    #lo_compat_privileges = off
    #quote_all_identifiers = off
    #sql_inheritance = on
    #standard_conforming_strings = on
    #synchronize_seqscans = on
    
    # - Other Platforms and Clients -
    
    #transform_null_equals = off
    
    
    #------------------------------------------------------------------------------
    # ERROR HANDLING
    #------------------------------------------------------------------------------
    
    #exit_on_error = off            # terminate session on any error?
    #restart_after_crash = on       # reinitialize after backend crash?
    
    
    #------------------------------------------------------------------------------
    # CONFIG FILE INCLUDES
    #------------------------------------------------------------------------------
    
    # These options allow settings to be loaded from files other than the
    # default postgresql.conf.
    
    #include_dir = 'conf.d'         # include files ending in '.conf' from
                        # directory 'conf.d'
    #include_if_exists = 'exists.conf'  # include file only if it exists
    #include = 'special.conf'       # include file
    
    
    #------------------------------------------------------------------------------
    # CUSTOMIZED OPTIONS
    #------------------------------------------------------------------------------
    
    # Add settings for extensions here