{"id":42252,"date":"2024-01-18T14:25:20","date_gmt":"2023-04-17T08:58:04","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/"},"modified":"2024-05-04T18:57:14","modified_gmt":"2024-05-04T10:57:14","slug":"%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/","title":{"rendered":"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a"},"content":{"rendered":"<p>\u6211\u6253\u7b97\u5728Ubuntu\u4e0a\u5b89\u88c5.NET Core 3.1\u7248\u7684Pretender\uff0c\u4f46\u7531\u4e8e\u5b98\u65b9\u9875\u9762\u4e0a\u53ea\u6709RHEL\/CentOS\u7684\u5b89\u88c5\u65b9\u6cd5\uff0c\u6240\u4ee5\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b\u3002<\/p>\n<p>\u603b\u7ed3\u6765\u8bf4\uff0c\u4e00\u5207\u90fd\u6b63\u5e38\u8fd0\u884c\u3002<\/p>\n<p>\u5c06Pleasanter\u4e0ePostgreSQL\u5b89\u88c5\u5728RHEL8\/CentOS8\u4e0a\u66f4\u52a0\u6109\u5feb\u3002<br \/>\nhttps:\/\/pleasanter.net\/fs\/publishes\/1490231\/edit<\/p>\n<h1>\u5b89\u88c5.NET Core 3.1<\/h1>\n<pre class=\"post-pre\"><code>$ wget https:\/\/packages.microsoft.com\/config\/ubuntu\/20.04\/packages-microsoft-prod.deb -O packages-microsoft-prod.deb\r\n$ sudo dpkg -i packages-microsoft-prod.deb\r\n\r\n$ sudo apt update\r\n$ sudo apt install -y apt-transport-https\r\n$ sudo apt update\r\n$ sudo apt install -y dotnet-sdk-3.1\r\n\r\n$ sudo apt install -y libgdiplus\r\n<\/code><\/pre>\n<h2>\u5b89\u88c5PostgreSQL12<\/h2>\n<pre class=\"post-pre\"><code>$ curl https:\/\/www.postgresql.org\/media\/keys\/ACCC4CF8.asc | sudo apt-key add -\r\n$ sudo apt-add-repository 'deb http:\/\/apt.postgresql.org\/pub\/repos\/apt focal-pgdg main'\r\n\r\n$ sudo vi \/etc\/apt\/sources.list\r\n\r\ndeb http:\/\/apt.postgresql.org\/pub\/repos\/apt focal-pgdg main\r\n\u2193\r\ndeb [arch=amd64] http:\/\/apt.postgresql.org\/pub\/repos\/apt focal-pgdg main\r\n\r\n$ sudo apt update\r\n$ sudo apt install postgresql-12 pgadmin4 postgresql-contrib\r\n\r\n# \u6210\u529f\u3057\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b5\u30fc\u30d0\u3092\u8d77\u52d5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059:\r\n# \r\n#     pg_ctlcluster 12 main start\r\n# \r\n# Ver Cluster Port Status Owner    Data directory              Log file\r\n# 12  main    5432 down   postgres \/var\/lib\/postgresql\/12\/main \/var\/log\/postgresql\/postgresql-12-main.log\r\n<\/code><\/pre>\n<h3>\u65e5\u5fd7\u8f93\u51fa\u8bbe\u7f6e<\/h3>\n<p>\u6211\u5011\u5c07\u9032\u884c\u4ee5\u4e0b\u8a2d\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo vi \/etc\/postgresql\/12\/main\/postgresql.conf\r\n\r\nlog_destination = 'stderr'\r\nlogging_collector = on\r\nlog_line_prefix = '[%t]%u %d %p[%l]'\r\n<\/code><\/pre>\n<h3>\u7528\u6237\u8bbe\u7f6e\u548c\u6570\u636e\u5e93\u521b\u5efa<\/h3>\n<p>\u8bbe\u5b9a\u5bc6\u7801\u540e\uff0c\u542f\u52a8PostgreSQL\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo passwd postgres\r\n\r\n$ su - postgres\r\n$ psql -U postgres\r\n\r\npostgres=# alter role postgres with password '\u30d1\u30b9\u30ef\u30fc\u30c9';\r\n\r\n# DB\u4f5c\u6210\r\npostgres=# create database \"Implem.Pleasanter\";\r\n<\/code><\/pre>\n<h3>\u5b89\u88c5\u7528\u4e8e\u5168\u6587\u641c\u7d22\u7684\u6a21\u5757\uff08pg_trgm\uff09\u3002<\/h3>\n<pre class=\"post-pre\"><code>postgres=# \\c \"Implem.Pleasanter\";\r\nImplem.Pleasanter=# CREATE EXTENSION pg_trgm;\r\n<\/code><\/pre>\n<h2>\u5f15\u5165\u767c\u8a00\u8005<\/h2>\n<h3>\u8bf7\u4e0b\u8f7dPleasanter\u5e76\u89e3\u538b\u7f29\u3002<\/h3>\n<pre class=\"post-pre\"><code>$ unzip Pleasanter.NetCore_1.1.5.1.zip\r\n<\/code><\/pre>\n<h3>\u6570\u636e\u5e93\u7684\u7ed3\u6784<\/h3>\n<p>\u8bf7\u6309\u7167\u4ee5\u4e0b\u65b9\u5f0f\u8bbe\u7f6e pleasanter\/Implem.Pleasanter\/App_Data\/Parameters\/Rds.json\u3002<\/p>\n<pre class=\"post-pre\"><code>{\r\n       \"Dbms\": \"PostgreSQL\",\r\n       \"Provider\": \"Local\",\r\n       \"TimeZoneInfo\": \"Tokyo Standard Time\",\r\n       \"SaConnectionString\":\"Server=localhost;Port=5432;Database=postgres;UID=postgres;PWD=&lt;\u8a2d\u5b9a\u3057\u305f\u30d1\u30b9\u30ef\u30fc\u30c9&gt;\",\r\n       \"OwnerConnectionString\":\"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD\",\r\n       \"UserConnectionString\":\"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD\",\r\n       \"SqlCommandTimeOut\": 600,\r\n       \"MinimumTime\": 3,\r\n       \"DeadlockRetryCount\": 4,\r\n       \"DeadlockRetryInterval\": 1000\r\n}\r\n<\/code><\/pre>\n<h3>\u79fb\u52a8\u5230Implem.CodeDefiner\u6587\u4ef6\u5939\u5e76\u8fd0\u884cCodeDefiner\u3002<\/h3>\n<pre class=\"post-pre\"><code>$ cd pleasanter\/Implem.CodeDefiner\r\n$ dotnet Implem.CodeDefiner.NetCore.dll _rds\r\n<\/code><\/pre>\n<h3>\u8bf7\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fd0\u884cPleasnter\uff0c\u5e76\u8fdb\u884c\u542f\u52a8\u786e\u8ba4\u3002<\/h3>\n<pre class=\"post-pre\"><code>$ cd ..\/Implem.Pleasanter\r\n$ dotnet Implem.Pleasanter.NetCore.dll\r\n<\/code><\/pre>\n<p>\u5728\u53e6\u4e00\u4e2a\u7ec8\u7aef\u4e0a\u8bbf\u95ee&#8221;http:\/\/localhost:5000\/&#8221;\uff0c\u5e76\u786e\u8ba4\u662f\u5426\u8fd4\u56de\u6b63\u5e38\u54cd\u5e94\u3002<\/p>\n<pre class=\"post-pre\"><code>$ curl -v http:\/\/localhost:5000\/\r\n\r\n* About to connect() to localhost port 5000 (#0)\r\n*   Trying ::1...\r\n* Connected to localhost (::1) port 5000 (#0)\r\n&gt; GET \/ HTTP\/1.1\r\n&gt; User-Agent: curl\/7.29.0\r\n&gt; Host: localhost:5000\r\n&gt; Accept: *\/*\r\n&gt;\r\n&lt; HTTP\/1.1 302 Found\r\n&lt; Date: Mon, 25 May 2020 15:13:08 GMT\r\n&lt; Server: Kestrel\r\n&lt; Content-Length: 0\r\n&lt; Location: http:\/\/localhost:5000\/users\/login?ReturnUrl=%2F\r\n\u78ba\u8a8d\u3067\u304d\u305f\u3089Ctrl+C\u3067\u7d42\u4e86\u3057\u307e\u3059\u3002\r\n<\/code><\/pre>\n<h3>\u521b\u5efa\u66f4\u6109\u5feb\u7684\u670d\u52a1\u811a\u672c<\/h3>\n<pre class=\"post-pre\"><code>$ sudo vi \/etc\/systemd\/system\/pleasanter.service\r\n\r\n[Unit]\r\nDescription = Pleasanter\r\nDocumentation =\r\nWants=network.target\r\nAfter=network.target\r\n\r\n[Service]\r\nExecStart = \/usr\/bin\/dotnet Implem.Pleasanter.NetCore.dll\r\nWorkingDirectory = \/home\/hogehoge\/pleasanter\/Implem.Pleasanter\r\nRestart = always\r\nRestartSec = 10\r\nKillSignal=SIGINT\r\nSyslogIdentifier=dotnet-pleasanter\r\nUser = root\r\nGroup = root\r\nEnvironment=ASPNETCORE_ENVIRONMENT=Production\r\nEnvironment=DOTNET_PRINT_TELEMETRY_MESSAGE=false\r\n\r\n[Install]\r\nWantedBy = multi-user.target\r\n<\/code><\/pre>\n<h3>\u6ce8\u518c\u548c\u542f\u52a8\u4f5c\u4e3a\u670d\u52a1<\/h3>\n<pre class=\"post-pre\"><code>$ sudo systemctl daemon-reload\r\n$ sudo systemctl enable pleasanter\r\n$ sudo systemctl start pleasanter\r\n<\/code><\/pre>\n<h2>\u5b89\u88c5Nginx\uff08Web\u670d\u52a1\u5668\uff09\u3002<\/h2>\n<pre class=\"post-pre\"><code>$ sudo apt install nginx-extras\r\n$ sudo systemctl start nginx\r\n$ sudo systemctl enable nginx\r\n$ sudo addgroup \u30e6\u30fc\u30b6\u30fc\u540d www-data\r\n<\/code><\/pre>\n<h3>\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u7684\u914d\u7f6e<\/h3>\n<p>\u8bf7\u4f7f\u7528\u4ee5\u4e0b\u5185\u5bb9\u521b\u5efa \/etc\/nginx\/conf.d\/pleasanter.conf \u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>server {\r\n    listen  80;\r\n    server_name   192.168.0.200;\r\n    location \/ {\r\n       proxy_pass         http:\/\/localhost:5000;\r\n       proxy_http_version 1.1;\r\n       proxy_set_header   Upgrade $http_upgrade;\r\n       proxy_set_header   Connection keep-alive;\r\n       proxy_set_header   Host $host;\r\n       proxy_cache_bypass $http_upgrade;\r\n       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;\r\n       proxy_set_header   X-Forwarded-Proto $scheme;\r\n    }\r\n}\r\n\r\n$ sudo systemctl restart nginx\r\n<\/code><\/pre>\n<p>\u5982\u679c\u80fd\u505a\u5230\u8fd9\u4e00\u70b9\uff0c\u8bf7\u8bbf\u95ee\u4ee5\u4e0b\u7f51\u5740\uff1a<br \/>\nhttp:\/\/192.168.0.200\/<\/p>\n<h1>\u8bf7\u63d0\u4f9b\u4e0a\u8ff0\u5185\u5bb9\u7684\u4e2d\u6587\u539f\u751f\u8bed\u7248\u672c\uff0c\u4ec5\u9700\u8981\u4e00\u79cd\u9009\u9879\u3002<\/h1>\n<p>\u5728RHEL8\/CentOS8\u4e0a\u5b89\u88c5Pleasanter with PostgreSQL<br \/>\n\u8bf7\u8bbf\u95eehttps:\/\/pleasanter.net\/fs\/publishes\/1490231\/edit<\/p>\n<p>\u5728Ubuntu 20.04\u4e0a\u5b89\u88c5.NET Core SDK 3.1\u3002<br \/>\n\u94fe\u63a5\uff1ahttps:\/\/qiita.com\/tabizou\/items\/d9af326ede9d35d03c68<\/p>\n<p>\u5728\u5b89\u88c5\u4e86Ubuntu 20.04\u548cPosgtgres12\u4e4b\u540e\uff0c\u5c1d\u8bd5\u4f7f\u7528C\uff03+Npgsql\u8fdb\u884c\u8bbf\u95ee\u3002<\/p>\n<p>\u5728Ubuntu 20.04\u4e0a\u5b89\u88c5PostgreSQL [\u5feb\u901f\u5165\u95e8]<br \/>\nhttps:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-postgresql-on-ubuntu-20-04-quickstart<\/p>\n<p>\u5728Ubuntu\u4e0a\u5b89\u88c5PostgreSQL 12\uff0c\u5e76\u521b\u5efa\u6570\u636e\u5e93\u548c\u8868\u5b9a\u4e49\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6211\u6253\u7b97\u5728Ubuntu\u4e0a\u5b89\u88c5.NET Core 3.1\u7248\u7684Pretender\uff0c\u4f46\u7531\u4e8e\u5b98\u65b9\u9875\u9762\u4e0a\u53ea\u6709RHEL\/Ce [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-42252","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5b89\u88c5prasentor\uff08-netcore3-1-postgresql\u7248\uff09\u5728ubuntu-20-04\u4e0a\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a\" \/>\n<meta property=\"og:description\" content=\"\u6211\u6253\u7b97\u5728Ubuntu\u4e0a\u5b89\u88c5.NET Core 3.1\u7248\u7684Pretender\uff0c\u4f46\u7531\u4e8e\u5b98\u65b9\u9875\u9762\u4e0a\u53ea\u6709RHEL\/Ce [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5b89\u88c5prasentor\uff08-netcore3-1-postgresql\u7248\uff09\u5728ubuntu-20-04\u4e0a\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-17T08:58:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-04T10:57:14+00:00\" \/>\n<meta name=\"author\" content=\"\u6e05, \u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/\",\"name\":\"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-04-17T08:58:04+00:00\",\"dateModified\":\"2024-05-04T10:57:14+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\",\"name\":\"\u6e05, \u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5b89\u88c5prasentor\uff08-netcore3-1-postgresql\u7248\uff09\u5728ubuntu-20-04\u4e0a\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a","og_description":"\u6211\u6253\u7b97\u5728Ubuntu\u4e0a\u5b89\u88c5.NET Core 3.1\u7248\u7684Pretender\uff0c\u4f46\u7531\u4e8e\u5b98\u65b9\u9875\u9762\u4e0a\u53ea\u6709RHEL\/Ce [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5b89\u88c5prasentor\uff08-netcore3-1-postgresql\u7248\uff09\u5728ubuntu-20-04\u4e0a\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-04-17T08:58:04+00:00","article_modified_time":"2024-05-04T10:57:14+00:00","author":"\u6e05, \u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u5b87","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/","name":"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-04-17T08:58:04+00:00","dateModified":"2024-05-04T10:57:14+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5b89\u88c5Pr\u00e4sentor\uff08.NetCore3.1\/PostgreSQL\u7248\uff09\u5728Ubuntu 20.04\u4e0a"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e","name":"\u6e05, \u5b87","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","caption":"\u6e05, \u5b87"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85prasentor%ef%bc%88-netcore3-1-postgresql%e7%89%88%ef%bc%89%e5%9c%a8ubuntu-20-04%e4%b8%8a%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/42252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=42252"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/42252\/revisions"}],"predecessor-version":[{"id":100100,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/42252\/revisions\/100100"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=42252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=42252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=42252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}