zipファイルでPostgreSQLをインストールする

本文介绍了如何利用PostgreSQL的pg_ctl命令进行数据库的启动、停止和状态检查。对于PostgreSQL初学者,这是理解数据库管理的基础操作。通过学习这些基本命令,你可以有效地管理你的PostgreSQL实例。
server: servlet: context-parameters: messageConfig: ZWBMessageConfig, MessageConfig, SCLAMessageConfig error.whitelabel.enabled: false compression.enabled: true tomcat: max-connections: ${TOMCAT_MAX_CONNECTIONS:8192} threads: max: ${TOMCAT_THREADS_MAX:200} min-spare: ${TOMCAT_THREADS_MIN_SPARE:10} # port: 8080 shutdown: graceful spring: # 参考 https://docs.spring.io/spring-boot/appendix/application-properties/index.html config: import: # ロジックシナリオ定義YAMLファイル - logic-scenario-default.yml - logic-scenario.yml datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://${POSTGRESQL_HOST:localhost}:${POSTGRESQL_PORT:5432}/${POSTGRESQL_DATABASE:webap_dev} username: ${POSTGRESQL_USER:webap_dev_user} password: ${POSTGRESQL_PASSWORD:MyPassword@123} tomcat: # 参考 https://docs.spring.io/spring-boot/appendix/application-properties/index.html#application-properties.data.spring.datasource.tomcat default-auto-commit: false min-idle: ${DATASOURCE_TOMCAT_MIN_IDLE:2} initial-size: ${DATASOURCE_TOMCAT_INITIALIZE_SIZE:2} max-idle: ${DATASOURCE_TOMCAT_MAX_IDLE:2} max-active: ${DATASOURCE_TOMCAT_MAX_ACTIVE:2} test-while-idle: ${DATASOURCE_TOMCAT_TEST_WHILE_IDLE:true} time-between-eviction-runs-millis: ${DATASOURCE_TOMCAT_TIME_BETWEEN_EVICTION_RUNS_MILLIS:3000000} validation-query: ${DATASOURCE_TOMCAT_VALIDATION_QUERY:SELECT 1} validation-query-timeout: ${DATASOURCE_TOMCAT_VALIDATION_QUERY_TIMEOUT:3} max-wait: ${DATASOURCE_TOMCAT_MAX_WAIT:3000} connection-properties: connectTimeout=${DATASOURCE_TOMCAT_CONNECTTIMEOUT:3};socketTimeout=${DATASOURCE_TOMCAT_SOCKETTIMEOUT:300};ApplicationName=${spring.application.name}; # rpf-zwb-readonly-datasource: # # リードオンリーデータソース設定 # # PostgreSQL JDBC # driver-class-name: org.postgresql.Driver # url: jdbc:postgresql://${POSTGRESQL_RO_HOST:localhost}:${POSTGRESQL_RO_PORT:15432}/${POSTGRESQL_RO_DATABASE:webap_dev} # username: ${POSTGRESQL_RO_USER:webap_dev_user} # password: ${POSTGRESQL_RO_PASSWORD:MyPassword@123} # tomcat: # # 参考 https://docs.spring.io/spring-boot/appendix/application-properties/index.html#application-properties.data.spring.datasource.tomcat # default-auto-commit: false # min-idle: ${DATASOURCE_RO_TOMCAT_MIN_IDLE:2} # initial-size: ${DATASOURCE_RO_TOMCAT_INITIALIZE_SIZE:2} # max-idle: ${DATASOURCE_RO_TOMCAT_MAX_IDLE:2} # max-active: ${DATASOURCE_RO_TOMCAT_MAX_ACTIVE:2} # test-while-idle: ${DATASOURCE_RO_TOMCAT_TEST_WHILE_IDLE:true} # time-between-eviction-runs-millis: ${DATASOURCE_RO_TOMCAT_TIME_BETWEEN_EVICTION_RUNS_MILLIS:3000000} # validation-query: ${DATASOURCE_RO_TOMCAT_VALIDATION_QUERY:SELECT 1} # validation-query-timeout: ${DATASOURCE_RO_TOMCAT_VALIDATION_QUERY_TIMEOUT:3} # max-wait: ${DATASOURCE_RO_TOMCAT_MAX_WAIT:3000} # connection-properties: connectTimeout=${DATASOURCE_RO_TOMCAT_CONNECTTIMEOUT:3};socketTimeout=${DATASOURCE_RO_TOMCAT_SOCKETTIMEOUT:3};ApplicationName=${spring.application.name}; transaction: default-timeout: ${TRANSACTION_DEFAULTTIMEOUT:5} jackson: # JSON項目名のCase規則 property-naming-strategy: SNAKE_CASE # LOWER_CAMEL_CASE / LOWER_CASE / SNAKE_CASE / UPPER_CAMEL_CASE / KEBAB_CASE # JSONパーサー設定 parser: INCLUDE_SOURCE_IN_LOCATION: false # ソース参照情報(JSON内容)を含めない # JSONデシリアライズ設定 deserialization: FAIL_ON_UNKNOWN_PROPERTIES: true # DTOに未定義のフィールドを検知するとエラーとする # JSON日付フォーマット指定 date-format: "yyyy-MM-dd'T'HH:mm:ssXXX" time-zone: "Asia/Tokyo" # kafka: # bootstrap-servers: ${KAFKA_BROKER_LIST:localhost}:9092 # jaas.enabled: true # properties.security.protocol: ${KAFKA_SECURITY_PROTOCOL:PLAINTEXT} # properties.sasl.mechanism: ${KAFKA_SASL_MECHANISM:GSSAPI} # properties.sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="${KAFKA_USER:null}" password="${KAFKA_PASSWORD:null}"; cloud: gcp: firestore: enabled: false # stream: # # 参考 https://docs.spring.io/spring-cloud-stream/docs/4.1.x/reference/html/spring-cloud-stream.html#_configuration_options # bindings: # binding1-out-0: # destination: ${BINDINGS_DESTINATION_TOPIC_1:ane-1-online-topic-tst1-01} # contentType: application/json # warmup-out-0: # destination: ${BINDINGS_DESTINATION_WARMUP_TOPIC:ane-1-online-topic-warmup} # contentType: application/json # kafka: # # 参考 https://docs.spring.io/spring-cloud-stream/docs/4.1.x/reference/html/spring-cloud-stream.html#_configuration_options # binder: # brokers: ${KAFKA_BROKER_LIST:localhost} # autoCreateTopics: true # configuration: # security: # protocol: ${KAFKA_SECURITY_PROTOCOL:PLAINTEXT} # sasl: # jaas: # config: org.apache.kafka.common.security.plain.PlainLoginModule required username="${KAFKA_USER:null}" password="${KAFKA_PASSWORD:null}"; # mechanism: ${KAFKA_SASL_MECHANISM:GSSAPI} # retries: 3 # batch.size: 16384 # linger.ms: 1 # enable.idempotence: true # buffer.memory: 33554432 # request.timeout.ms: 3000 # transaction.timeout.ms: 3000 # # Not to use spring.cloud.stream.kafka.binder.required-acks to avoid a bug. # # https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/558 # acks: "all" # auto-add-partitions: true # min-partition-count: ${KAFKA_PARTITION_COUNT:1} # replicationFactor: -1 # transaction: # transaction-id-prefix: ${spring.application.name}-${random.uuid} # enableObservation: true application: name: item-tag-information-api-sana-application mybatis: # 参考 https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/#configuration mapper-locations: classpath*:/jp/co/sej/ssc/**/*MP*.xml,classpath*:/jp/co/sej/ssc/**/*-sql-map.xml # AP用SQL Mapファイル configuration: map-underscore-to-camel-case: true default-statement-timeout: ${MYBATIS_DEFAULT_STATEMENTTIMEOUT:300} log-impl: ${MYBATIS_LOG_IMPL:org.apache.ibatis.logging.stdout.StdOutImpl} # ログ設定 logging: level: # root: info # web: trace # sql: debug # org.springframework: # security: info com.nec.jp.rpf.zwb.framework: info com.nec.jp.rpf.zcp.framework: info '[jp.co.sej.ssc]': ${AP_LOG_LEVEL:INFO} '[jp.co.sej.ssc.cl]': ${AP_LOG_LEVEL_CL:WARN} # フレームワーク設定 rpf-zwb-framework: # アプリケーションサービスタイプ指定。 サービスのタイプによってrest/subscriberのいずれかを指定。省略時はrest。 application-service-type: rest # データソースルーティング設定 single / primary-and-readonly # プライマリーおよび、リードオンリーデータソース利用時は primary-and-readonly を指定。 # 単一データソース利用時は single を指定。 # 項目省略時は single # datasource-routing: primary-and-readonly # フレームワークロガー設定 logger: operation: # リクエスト・レスポンス JSONマスキングログ出力設定 masking-logger: masked-output-value: xxmaskedxx # マスキング出力文字列を指定。 項目省略時は '**masked**' rest-api: # REST APIサービス request-logging: true # リクエストログ出力 出力する:true / 出力しない:false 項目省略時は false response-logging: true # レスポンスログ出力 出力する:true / 出力しない:false 項目省略時は false rest-cooperation: # RESTサービス連携 request-logging: true # リクエストログ出力 出力する:true / 出力しない:false 項目省略時は false response-logging: true # レスポンスログ出力 出力する:true / 出力しない:false 項目省略時は false stream-subscriber: # 分散メッセージング(Pub/Sub) Subscriber サービス subscribe-logging: true # サブスクライブログ出力 出力する:true / 出力しない:false 項目省略時は false stream-publisher: # 分散メッセージング(Pub/Sub) Publisher publish-logging: true # パブリッシュログ出力 出力する:true / 出力しない:false 項目省略時は false # REST API サービス設定 rest: # REST URLパスは {base-path} + {sub-path}になります。 # sub-pathはロジック振分制御機能、指定パスに対する実行ロジックを制御したい場合に指定します。 # ロジックシナリオURLマッピングテーブルのurl_patternは{sub-path}を含めたパスとマッチングします。 base-path: ${REST_BASE_PATH:/analysis/v1/item-tag-information} # sub-path: # 商品情報APIのベースURL # item-information-base-path: http://ane-1-item-information-int-lb-01. item-information-path: /item-information/v1/item-information-information # 発注情報APIのベースURL # order-base-path: http://ane-1-order-int-lb-01. order-path: /order/v1/order-information # 情報分析APIのベースURL # analysis-base-path: http://ane-1-analysis-int-lb-01. analysis-path: /analysis/v1/analysis-information # 天気情報APIのベースURL # weather-base-path: http://ane-1-weather-int-lb-01. weather-path: /weather/v1/weather-information # 従業員情報APIのベースURL # employee-base-path: http://ane-1-weather-int-lb-01. employee-path: /employee/v2/employee-information # ストア・ポータルAPIのベースURL # store-portal-base-path: http://ane-1-store-portal-int-lb-01. store-portal-path: /portal/v1/store-portal-transaction # 返却HTTPステータス指定がなかった場合の返却HTTPステータスコード http-status: result-type: # FWCommonのResultType毎の指定 (業務ロジック実装個別指定可能) success: 200 warn: 200 error: 400 fatal: 500 validation-error: 400 # 入力チェックロジック・横断的チェックの結果がErrorもしくはFatalの場合 (業務入力チェック実装個別指定可能) fw-business-exception: 500 # 業務AP例外(FWBusinessExceptionを継承した例外)がスローされた場合 (業務AP例外実装個別指定可能) fw-system-exception: 500 # フレームワークシステム例外がスローされた場合 (フレームワーク制御) unknown-exception: 500 # その他未知の例外 (フレームワーク制御) url-not-match: 404 # URLマッチしなかった場合 (フレームワーク制御) json-processing-exception: 400 # クライアントからのJSONデータ変換例外が発生した場合 (フレームワーク制御) # Spring Boot Actuator設定 management: health: pubsub: enabled: false # 参考 https://docs.spring.io/spring-boot/appendix/application-properties/index.html#appendix.application-properties.actuator endpoints: web: base-path: / health: # show-details: always probes.enabled: true # Kubernetes Probes # Micrometer Tracing用 tracing: baggage: # HTTPヘッダー渡される情報とBaggage渡されるキーを定義 remote-fields: requester, X-DELIVERY-STORE-DIVISION, baggageInfo correlation: # requesterは指定せず、ロジックThreadContextに取り込む。指定すると、Baggage操作、Baggage送信時に更新されるため fields: baggageInfo propagation: type: B3 sampling: # 上位からトレース情報が連携されないリクエスト(/healthなど)は、CloudTraceにExportしない probability: 0.0 # RESTサービス連携 cooperation: time-options: read-timeout: ${COOPERATION_TIMEOPTIONS_READTIMEOUT:5000} connect-timeout: ${COOPERATION_TIMEOPTIONS_CONNECTTIMEOUT:3000} retry-limit: ${COOPERATION_TIMEOPTIONS_RETRYLIMIT:0} domain-name: ${COOPERATION_DOMAIN_NAME:localdomain} #retry-for-kafka: # send: # max-attempts: ${SEND_RETRY_MAX_ATTEMPTS:10} # retry-interval: ${SEND_RETRY_INTERVAL:100} # retryable-exceptions: # org.apache.kafka.common.errors.UnknownProducerIdException: true # org.apache.kafka.common.errors.InvalidPidMappingException: true # traverse-causes: true 超时在哪设置
10-16
在提供的 `application.yml` 配置中,**超时设置** 主要分布在以下几个部分,具体取决于不同的场景(如数据库连接、REST 调用、Kafka 消息等)。以下是详细的超时配置位置和说明: --- ### **1. 数据库连接超时(PostgreSQL JDBC)** 在 `spring.datasource.tomcat` 下配置了 **JDBC 连接池的超时参数**,包括: - **连接超时**(`connectTimeout`):建立数据库连接时的超时时间(秒)。 - **Socket 超时**(`socketTimeout`):读写数据库时的超时时间(秒)。 - **最大等待时间**(`max-wait`):连接池中获取连接的超时时间(毫秒)。 #### **配置示例**: ```yaml spring: datasource: tomcat: connection-properties: connectTimeout=${DATASOURCE_TOMCAT_CONNECTTIMEOUT:3}; # 默认 3 秒 socketTimeout=${DATASOURCE_TOMCAT_SOCKETTIMEOUT:300}; # 默认 300 秒 max-wait: ${DATASOURCE_TOMCAT_MAX_WAIT:3000} # 默认 3 秒 ``` #### **关键参数**: | 参数名 | 默认值 | 说明 | |--------|--------|------| | `connectTimeout` | 3 秒 | JDBC 连接数据库的超时时间 | | `socketTimeout` | 300 秒 | 读写数据库的超时时间 | | `max-wait` | 3000 毫秒 | 从连接池获取连接的超时时间 | --- ### **2. REST 服务调用超时** 在 `cooperation.time-options` 下配置了 **REST 客户端的超时参数**,包括: - **连接超时**(`connect-timeout`):建立 HTTP 连接的超时时间(毫秒)。 - **读取超时**(`read-timeout`):等待服务器响应的超时时间(毫秒)。 - **重试次数**(`retry-limit`):失败后的重试次数(0 表示不重试)。 #### **配置示例**: ```yaml cooperation: time-options: connect-timeout: ${COOPERATION_TIMEOPTIONS_CONNECTTIMEOUT:3000} # 默认 3 秒 read-timeout: ${COOPERATION_TIMEOPTIONS_READTIMEOUT:5000} # 默认 5 秒 retry-limit: ${COOPERATION_TIMEOPTIONS_RETRYLIMIT:0} # 默认不重试 ``` #### **关键参数**: | 参数名 | 默认值 | 说明 | |--------|--------|------| | `connect-timeout` | 3000 毫秒 | 建立 HTTP 连接的超时时间 | | `read-timeout` | 5000 毫秒 | 等待服务器响应的超时时间 | | `retry-limit` | 0 | 失败后的重试次数 | --- ### **3. Kafka 消息超时(注释部分)** 在注释掉的 `spring.cloud.stream.kafka.binder.configuration` 中,可以配置 **Kafka 生产者/消费者的超时参数**,例如: - **请求超时**(`request.timeout.ms`):生产者等待服务器响应的超时时间。 - **事务超时**(`transaction.timeout.ms`):事务的超时时间。 #### **配置示例(注释部分)**: ```yaml spring: cloud: stream: kafka: binder: configuration: request.timeout.ms: 3000 # 默认 3 秒 transaction.timeout.ms: 3000 # 默认 3 秒 ``` #### **关键参数**: | 参数名 | 默认值 | 说明 | |--------|--------|------| | `request.timeout.ms` | 3000 毫秒 | 生产者请求超时时间 | | `transaction.timeout.ms` | 3000 毫秒 | 事务超时时间 | --- ### **4. MyBatis 语句超时** 在 `mybatis.configuration` 下配置了 **SQL 语句的超时时间**(`default-statement-timeout`),单位为秒。 #### **配置示例**: ```yaml mybatis: configuration: default-statement-timeout: ${MYBATIS_DEFAULT_STATEMENTTIMEOUT:300} # 默认 300 秒 ``` #### **关键参数**: | 参数名 | 默认值 | 说明 | |--------|--------|------| | `default-statement-timeout` | 300 秒 | MyBatis SQL 语句执行超时时间 | --- ### **5. 事务超时** 在 `spring.transaction` 下配置了 **全局事务的超时时间**(`default-timeout`),单位为秒。 #### **配置示例**: ```yaml spring: transaction: default-timeout: ${TRANSACTION_DEFAULTTIMEOUT:5} # 默认 5 秒 ``` #### **关键参数**: | 参数名 | 默认值 | 说明 | |--------|--------|------| | `default-timeout` | 5 秒 | Spring 事务超时时间 | --- ### **6. HTTP 客户端超时(未显式配置)** 如果使用 `RestTemplate` 或 `WebClient`,可以通过代码显式设置超时,例如: ```java @Bean public RestTemplate restTemplate() { HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); factory.setConnectTimeout(3000); // 连接超时 3 秒 factory.setReadTimeout(5000); // 读取超时 5 秒 return new RestTemplate(factory); } ``` --- ## **总结** | 场景 | 配置位置 | 关键参数 | 默认值 | |------|----------|----------|--------| | **数据库连接** | `spring.datasource.tomcat` | `connectTimeout`, `socketTimeout`, `max-wait` | 3s, 300s, 3s | | **REST 调用** | `cooperation.time-options` | `connect-timeout`, `read-timeout` | 3s, 5s | | **Kafka** | `spring.cloud.stream.kafka.binder.configuration` | `request.timeout.ms`, `transaction.timeout.ms` | 3s, 3s | | **MyBatis SQL** | `mybatis.configuration` | `default-statement-timeout` | 300s | | **事务** | `spring.transaction` | `default-timeout` | 5s | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值