userver: userver/storages/postgres/options.hpp File Reference
Loading...
Searching...
No Matches
options.hpp File Reference

Detailed Description

Options.

Definition in file options.hpp.

Go to the source code of this file.

#include <chrono>
#include <cstdint>
#include <iosfwd>
#include <optional>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <userver/congestion_control/controllers/linear.hpp>
#include <userver/storages/postgres/postgres_fwd.hpp>
#include <userver/utils/impl/transparent_hash.hpp>
#include <userver/utils/str_icase.hpp>
#include <userver/utils/string_literal.hpp>
This graph shows which files directly or indirectly include this file:

Classes

struct  storages::postgres::TransactionOptions
 PostgreSQL transaction options. More...
struct  storages::postgres::CommandControl
struct  storages::postgres::TopologySettings
 PostgreSQL topology options. More...
struct  storages::postgres::PoolSettings
 PostgreSQL connection pool options. More...
struct  storages::postgres::PoolSettingsDynamic
struct  storages::postgres::ConnectionSettings
struct  storages::postgres::ConnectionSettingsDynamic
struct  storages::postgres::StatementMetricsSettings
 PostgreSQL statements metrics options. More...
struct  storages::postgres::ClusterSettings
 Settings for storages::postgres::Cluster. More...

Namespaces

namespace  storages
 Components, clients and helpers for different databases and storages.
namespace  storages::postgres
 Top namespace for uPg driver.

Typedefs

using storages::postgres::OptionalCommandControl = std::optional<CommandControl>
 storages::postgres::CommandControl that may not be set
using storages::postgres::CommandControlByMethodMap = ::utils::impl::TransparentMap<std::string, CommandControl>
using storages::postgres::CommandControlByHandlerMap
using storages::postgres::CommandControlByQueryMap = ::utils::impl::TransparentMap<std::string, CommandControl>

Enumerations

enum class  storages::postgres::IsolationLevel : std::uint16_t {
  storages::postgres::kReadCommitted ,
  storages::postgres::kRepeatableRead ,
  storages::postgres::kSerializable ,
  storages::postgres::kReadUncommitted
}
 SQL transaction isolation level. More...
enum class  storages::postgres::PipelineMode {
  kDisabled ,
  kEnabled
}
enum class  storages::postgres::OmitDescribeInExecuteMode {
  kDisabled ,
  kEnabled
}
enum class  storages::postgres::PoolerMode {
  kSession ,
  kTransaction
}
 Connection pooler mode (e.g. Odyssey / PgBouncer). More...
enum class  storages::postgres::InitMode {
  kSync = 0 ,
  kAsync
}
 Initialization modes. More...
enum class  ConnlimitMode {
  kManual = 0 ,
  kAuto
}

Functions

std::string_view storages::postgres::ToStringView (IsolationLevel lvl)
constexpr bool storages::postgres::operator== (TransactionOptions lhs, TransactionOptions rhs)
::utils::StringLiteral storages::postgres::BeginStatement (TransactionOptions opts) noexcept
OptionalCommandControl storages::postgres::GetHandlerOptionalCommandControl (const CommandControlByHandlerMap &map, std::string_view path, std::string_view method)
OptionalCommandControl storages::postgres::GetQueryOptionalCommandControl (const CommandControlByQueryMap &map, std::string_view query_name)

Variables

constexpr std::size_t storages::postgres::kDefaultPoolMinSize = 4
 Default initial pool connection count.
constexpr auto storages::postgres::kDefaultMaxReplicationLag = std::chrono::seconds{60}
 Default maximum replication lag.
constexpr std::size_t storages::postgres::kDefaultPoolMaxSize = 15
 Default pool connections limit.
constexpr std::size_t storages::postgres::kDefaultPoolMaxQueueSize = 200
 Default size of queue for clients waiting for connections.
constexpr std::size_t storages::postgres::kDefaultConnectingLimit = 0
 Default limit for concurrent establishing connections number.
constexpr std::size_t storages::postgres::kDefaultConnectingIntervalMs = 0
 Default minimum time between starting new connections per host in milliseconds.
constexpr std::size_t storages::postgres::kExperimentDefaultConnectingIntervalMs = 4000
 Default connecting interval when pg-connecting-rate-limit experiment is enabled.
constexpr std::size_t storages::postgres::kMinPreparedStatementsCacheSize = 3
 Minimal size for prepared statements cache. Matches the POSTGRES_CONNECTION_SETTINGS minimum.
constexpr std::size_t storages::postgres::kDefaultMaxPreparedCacheSize = 200
 Default size limit for prepared statements cache.