{"id":46311,"date":"2023-10-10T01:28:23","date_gmt":"2023-07-18T02:51:02","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/"},"modified":"2024-05-04T03:34:25","modified_gmt":"2024-05-03T19:34:25","slug":"46311-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/","title":{"rendered":""},"content":{"rendered":"<h1>\u306f\u3058\u3081\u306b<\/h1>\n<p>jupyter\u304b\u3089postgreSQL\u3092\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002<\/p>\n<h1>\u53c2\u8003<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">CentOS \u3067 PostgreSQL \u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff01(2)<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">postgresql\u306b\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u306a\u3044\uff08Ident authentication failed\u30a8\u30e9\u30fc\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">GitHub &#8211; catherinedevlin\/ipython-sql<\/ul>\n<h1>\u74b0\u5883<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Amazon Linux 2<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">jupyter\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f<\/ul>\n<h1>\u624b\u9806<\/h1>\n<h2>postgreSQL\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>\u3053\u306e\u30b5\u30a4\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3001PostgreSQL Yum Repository\u306e\u6b04\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3084OS\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001yum\u306e\u30b3\u30de\u30f3\u30c9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<br \/>\n\u4eca\u56de\u306f\u30d0\u30fc\u30b8\u30e7\u30f311\u3001CentOS7\u3068\u3057\u307e\u3057\u305f\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d643537434c4406d03d19\/9-0.png\" alt=\"image.png\" \/><\/div>\n<p>\u8868\u793a\u3055\u308c\u305f\u30b3\u30de\u30f3\u30c9\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br \/>\n4.Install the repository RPM:<\/p>\n<pre class=\"post-pre\"><code># yum install https:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-7-x86_64\/pgdg-centos11-11-2.noarch.rpm\r\n\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:extras_suggestions, langpacks, priorities, update-motd\r\npgdg-centos11-11-2.noarch.rpm                                             | 4.8 kB  00:00:00\r\n\/var\/tmp\/yum-root-EFCp1J\/pgdg-centos11-11-2.noarch.rpm \u3092\u8abf\u3079\u3066\u3044\u307e\u3059: pgdg-centos11-11-2.noarch\r\n\/var\/tmp\/yum-root-EFCp1J\/pgdg-centos11-11-2.noarch.rpm \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\r\n\u4f9d\u5b58\u6027\u306e\u89e3\u6c7a\u3092\u3057\u3066\u3044\u307e\u3059\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 pgdg-centos11.noarch 0:11-2 \u3092 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n--&gt; \u4f9d\u5b58\u6027\u89e3\u6c7a\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\r\namzn2-core\/2\/x86_64                                                       | 2.4 kB  00:00:00\r\n\r\n\u4f9d\u5b58\u6027\u3092\u89e3\u6c7a\u3057\u307e\u3057\u305f\r\n\r\n=================================================================================================\r\n Package                \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\r\n                                        \u30d0\u30fc\u30b8\u30e7\u30f3     \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc                         \u5bb9\u91cf\r\n=================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d:\r\n pgdg-centos11          noarch          11-2           \/pgdg-centos11-11-2.noarch          2.7 k\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n=================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb  1 \u30d1\u30c3\u30b1\u30fc\u30b8\r\n\r\n\u5408\u8a08\u5bb9\u91cf: 2.7 k\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5bb9\u91cf: 2.7 k\r\nIs this ok [y\/d\/N]: y\r\nDownloading packages:\r\nRunning transaction check\r\nRunning transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n  \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d          : pgdg-centos11-11-2.noarch                                        1\/1\r\n  \u691c\u8a3c\u4e2d                  : pgdg-centos11-11-2.noarch                                        1\/1\r\n\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb:\r\n  pgdg-centos11.noarch 0:11-2\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<p>5.Install the client packages:<br \/>\n\u304c\u3063\u2026\u2026\u99c4\u76ee\u3063\u2026\u2026!<\/p>\n<pre class=\"post-pre\"><code># yum install postgresql11\r\n\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:extras_suggestions, langpacks, priorities, update-motd\r\namzn2-core                                                                | 2.4 kB  00:00:00\r\nhttps:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-2-x86_64\/repodata\/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found\r\n\u4ed6\u306e\u30df\u30e9\u30fc\u3092\u8a66\u3057\u307e\u3059\u3002\r\n\r\n\r\n One of the configured repositories failed (PostgreSQL 11 2 - x86_64),\r\n and yum doesn't have enough cached data to continue. At this point the only\r\n safe thing yum can do is fail. There are a few ways to work \"fix\" this:\r\n\r\n     1. Contact the upstream for the repository and get them to fix the problem.\r\n\r\n     2. Reconfigure the baseurl\/etc. for the repository, to point to a working\r\n        upstream. This is most often useful if you are using a newer\r\n        distribution release than is supported by the repository (and the\r\n        packages for the previous distribution release still work).\r\n\r\n     3. Run the command with the repository temporarily disabled\r\n            yum --disablerepo=pgdg11 ...\r\n\r\n     4. Disable the repository permanently, so yum won't use it by default. Yum\r\n        will then just ignore the repository until you permanently enable it\r\n        again or use --enablerepo for temporary usage:\r\n\r\n            yum-config-manager --disable pgdg11\r\n        or\r\n            subscription-manager repos --disable=pgdg11\r\n\r\n     5. Configure the failing repository to be skipped, if it is unavailable.\r\n        Note that yum will try to contact the repo. when it runs most commands,\r\n        so will have to try and fail each time (and thus. yum will be be much\r\n        slower). If it is a very temporary problem though, this is often a nice\r\n        compromise:\r\n\r\n            yum-config-manager --save --setopt=pgdg11.skip_if_unavailable=true\r\n\r\nfailure: repodata\/repomd.xml from pgdg11: [Errno 256] No more mirrors to try.\r\nhttps:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-2-x86_64\/repodata\/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found\r\n<\/code><\/pre>\n<p>404 not found\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\u898b\u306b\u884c\u3063\u3066\u3044\u308bURL\u3092\u898b\u3066\u307f\u307e\u3059\u3002<br \/>\nhttps:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-2-x86_64\/repodata\/repomd.xml<br \/>\n\u3053\u306erhel-2-x86_64\u306e\u90e8\u5206\u304c\u53e4\u304f\u3066404\u306b\u306a\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>rpm\u306e\u4e2d\u8eab\u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># cat \/etc\/yum.repos.d\/pgdg-11-centos.repo\r\n\r\n[pgdg11]\r\nname=PostgreSQL 11 $releasever - $basearch\r\nbaseurl=https:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-$releasever-$basearch\r\nenabled=1\r\ngpgcheck=1\r\ngpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-PGDG-11\r\n\r\n[pgdg11-source]\r\nname=PostgreSQL 11 $releasever - $basearch - Source\r\nfailovermethod=priority\r\nbaseurl=https:\/\/download.postgresql.org\/pub\/repos\/yum\/srpms\/11\/redhat\/rhel-$releasever-$basearch\r\nenabled=0\r\ngpgcheck=1\r\ngpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-PGDG-11\r\n\r\n[pgdg11-updates-testing]\r\nname=PostgreSQL 11 $releasever - $basearch\r\nbaseurl=https:\/\/download.postgresql.org\/pub\/repos\/yum\/testing\/11\/redhat\/rhel-$releasever-$basearch\r\nenabled=0\r\ngpgcheck=1\r\ngpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-PGDG-11\r\n\r\n[pgdg11-source-updates-testing]\r\nname=PostgreSQL 11 $releasever - $basearch - Source\r\nfailovermethod=priority\r\nbaseurl=https:\/\/download.postgresql.org\/pub\/repos\/yum\/srpms\/testing\/11\/redhat\/rhel-$releasever-$basearch\r\nenabled=0\r\ngpgcheck=1\r\ngpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-PGDG-11\r\n<\/code><\/pre>\n<p>enabled=1\u3068\u306a\u3063\u3066\u3044\u308b\u90e8\u5206\u306ebaseurl\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>baseurl=https:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-$releasever-$basearch\r\n<\/code><\/pre>\n<p>$releasever\u306e\u5024\u304c2\u306b\u306a\u3063\u3066\u3044\u308b\u305b\u3044\u3067\u3001\u6b63\u3057\u304f\u52d5\u4f5c\u3057\u306a\u3044\u3088\u3046\u3067\u3059\u3002<br \/>\n$releasever\u306e\u5024\u306f\/etc\/yum.conf\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u3042\u308bdistroverpkg=value\u306b\u8a72\u5f53\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># cat \/etc\/yum.conf\r\n\r\n[main]\r\ncachedir=\/var\/cache\/yum\/$basearch\/$releasever\r\nkeepcache=0\r\ndebuglevel=2\r\nlogfile=\/var\/log\/yum.log\r\nexactarch=1\r\nobsoletes=1\r\ngpgcheck=1\r\nplugins=1\r\ninstallonly_limit=3\r\ndistroverpkg=system-release\r\ntimeout=5\r\nretries=7\r\n\r\n\r\n#  This is the default, if you make this bigger yum won't see if the metadata\r\n# is newer on the remote and so you'll \"gain\" the bandwidth of not having to\r\n# download the new metadata and \"pay\" for it by yum not having correct\r\n# information.\r\n#  It is esp. important, to have correct metadata, for distributions like\r\n# Fedora which don't keep old packages around. If you don't like this checking\r\n# interupting your command line usage, it's much better to have something\r\n# manually check the metadata once an hour (yum-updatesd will do this).\r\n# metadata_expire=90m\r\n\r\n# PUT YOUR REPOS HERE OR IN separate files named file.repo\r\n# in \/etc\/yum.repos.d\r\n<\/code><\/pre>\n<p>\u3069\u3046\u3082amazon linux\u306e\u30ea\u30ea\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3042\u308b2\u304c\u5165\u3063\u3066\u3057\u307e\u3046\u3088\u3046\u3067\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># cat \/proc\/version\r\n\r\nLinux version 4.14.88-88.73.amzn2.x86_64 (mockbuild@ip-10-0-1-212) (gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)) #1 SMP Thu Dec 13 18:04:55 UTC 2018\r\n<\/code><\/pre>\n<p>\u305d\u3053\u3067baseurl\u3092\u66f8\u304d\u63db\u3048\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>vi \/etc\/yum.repos.d\/pgdg-11-centos.repo\r\n\r\n[pgdg11]\r\n# name=PostgreSQL 11 $releasever - $basearch\r\nname=PostgreSQL 11 7 - $basearch\r\n# baseurl=https:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-$releasever-$basearch\r\nbaseurl=https:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-7-$basearch\r\nenabled=1\r\ngpgcheck=1\r\ngpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-PGDG-11\r\n<\/code><\/pre>\n<p>yum install postgresql11\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># yum install postgresql11\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:extras_suggestions, langpacks, priorities, update-motd\r\namzn2-core                                                                | 2.4 kB  00:00:00\r\npgdg11                                                                    | 4.1 kB  00:00:00\r\n(1\/2): pgdg11\/x86_64\/group_gz                                             |  245 B  00:00:00\r\npgdg11\/x86_64\/primary_db       FAILED\r\nhttps:\/\/download.postgresql.org\/pub\/repos\/yum\/11\/redhat\/rhel-7-x86_64\/repodata\/7d54a8188234c66b14bfb44661b7870065efc37e143933f6a1165a553263ce77-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found\r\n\u4ed6\u306e\u30df\u30e9\u30fc\u3092\u8a66\u3057\u307e\u3059\u3002\r\npgdg11\/x86_64\/primary_db                                                  | 141 kB  00:00:01\r\n6 packages excluded due to repository priority protections\r\n\u4f9d\u5b58\u6027\u306e\u89e3\u6c7a\u3092\u3057\u3066\u3044\u307e\u3059\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 postgresql11.x86_64 0:11.1-1PGDG.rhel7 \u3092 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n--&gt; \u4f9d\u5b58\u6027\u306e\u51e6\u7406\u3092\u3057\u3066\u3044\u307e\u3059: postgresql11-libs(x86-64) = 11.1-1PGDG.rhel7 \u306e\u30d1\u30c3\u30b1\u30fc\u30b8: postgresql11-11.1-1PGDG.rhel7.x86_64\r\n--&gt; \u4f9d\u5b58\u6027\u306e\u51e6\u7406\u3092\u3057\u3066\u3044\u307e\u3059: libpq.so.5()(64bit) \u306e\u30d1\u30c3\u30b1\u30fc\u30b8: postgresql11-11.1-1PGDG.rhel7.x86_64\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 postgresql11-libs.x86_64 0:11.1-1PGDG.rhel7 \u3092 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n--&gt; \u4f9d\u5b58\u6027\u89e3\u6c7a\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\r\n\r\n\u4f9d\u5b58\u6027\u3092\u89e3\u6c7a\u3057\u307e\u3057\u305f\r\n\r\n=================================================================================================\r\n Package                     \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc \u30d0\u30fc\u30b8\u30e7\u30f3                  \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc      \u5bb9\u91cf\r\n=================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d:\r\n postgresql11                x86_64           11.1-1PGDG.rhel7            pgdg11           1.6 M\r\n\u4f9d\u5b58\u6027\u95a2\u9023\u3067\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u3057\u307e\u3059:\r\n postgresql11-libs           x86_64           11.1-1PGDG.rhel7            pgdg11           359 k\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n=================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb  1 \u30d1\u30c3\u30b1\u30fc\u30b8 (+1 \u500b\u306e\u4f9d\u5b58\u95a2\u4fc2\u306e\u30d1\u30c3\u30b1\u30fc\u30b8)\r\n\r\n\u7dcf\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bb9\u91cf: 2.0 M\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5bb9\u91cf: 10 M\r\nIs this ok [y\/d\/N]: y\r\nDownloading packages:\r\n(1\/2): postgresql11-11.1-1PGDG.rhel7.x86_64.rpm                           | 1.6 MB  00:00:01\r\n(2\/2): postgresql11-libs-11.1-1PGDG.rhel7.x86_64.rpm                      | 359 kB  00:00:01\r\n-------------------------------------------------------------------------------------------------\r\n\u5408\u8a08                                                             1.2 MB\/s | 2.0 MB  00:00:01\r\nRunning transaction check\r\nRunning transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n  \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d          : postgresql11-libs-11.1-1PGDG.rhel7.x86_64                        1\/2\r\n  \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d          : postgresql11-11.1-1PGDG.rhel7.x86_64                             2\/2\r\n  \u691c\u8a3c\u4e2d                  : postgresql11-11.1-1PGDG.rhel7.x86_64                             1\/2\r\n  \u691c\u8a3c\u4e2d                  : postgresql11-libs-11.1-1PGDG.rhel7.x86_64                        2\/2\r\n\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb:\r\n  postgresql11.x86_64 0:11.1-1PGDG.rhel7\r\n\r\n\u4f9d\u5b58\u6027\u95a2\u9023\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3057\u305f:\r\n  postgresql11-libs.x86_64 0:11.1-1PGDG.rhel7\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<p>yum install postgresql11-server\u3067\u30b5\u30fc\u30d0\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># yum install postgresql11-server\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:extras_suggestions, langpacks, priorities, update-motd\r\n6 packages excluded due to repository priority protections\r\n\u4f9d\u5b58\u6027\u306e\u89e3\u6c7a\u3092\u3057\u3066\u3044\u307e\u3059\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 postgresql11-server.x86_64 0:11.1-1PGDG.rhel7 \u3092 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n--&gt; \u4f9d\u5b58\u6027\u89e3\u6c7a\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\r\n\r\n\u4f9d\u5b58\u6027\u3092\u89e3\u6c7a\u3057\u307e\u3057\u305f\r\n\r\n=================================================================================================\r\n Package                      \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\r\n                                              \u30d0\u30fc\u30b8\u30e7\u30f3                   \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc     \u5bb9\u91cf\r\n=================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d:\r\n postgresql11-server          x86_64          11.1-1PGDG.rhel7             pgdg11          4.7 M\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n=================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb  1 \u30d1\u30c3\u30b1\u30fc\u30b8\r\n\r\n\u7dcf\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bb9\u91cf: 4.7 M\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5bb9\u91cf: 19 M\r\nIs this ok [y\/d\/N]: y\r\nDownloading packages:\r\npostgresql11-server-11.1-1PGDG.rhel7.x86_64.rpm                           | 4.7 MB  00:00:04\r\nRunning transaction check\r\nRunning transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n  \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d          : postgresql11-server-11.1-1PGDG.rhel7.x86_64                      1\/1\r\n  \u691c\u8a3c\u4e2d                  : postgresql11-server-11.1-1PGDG.rhel7.x86_64                      1\/1\r\n\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb:\r\n  postgresql11-server.x86_64 0:11.1-1PGDG.rhel7\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5148\u306f\/usr\/pgsql-11\u3067\u3059\u3002<br \/>\n\u6b21\u306b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u521d\u671f\u5316\u3068\u81ea\u52d5\u8d77\u52d5\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># \/usr\/pgsql-11\/bin\/postgresql-11-setup initdb\r\nInitializing database ... OK\r\n\r\n# systemctl enable postgresql-11\r\nCreated symlink from \/etc\/systemd\/system\/multi-user.target.wants\/postgresql-11.service to \/usr\/lib\/systemd\/system\/postgresql-11.service.\r\n\r\n# systemctl start postgresql-11\r\n<\/code><\/pre>\n<p>\u30d1\u30b9\u304c\u901a\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># psql --version\r\npsql (PostgreSQL) 11.1\r\n<\/code><\/pre>\n<p>postgres\u30e6\u30fc\u30b6\u304c\u4f5c\u6210\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># cat \/etc\/passwd\r\n\r\npostgres:x:26:26:PostgreSQL Server:\/var\/lib\/pgsql:\/bin\/bash\r\n<\/code><\/pre>\n<h2>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6<\/h2>\n<p>ip\u30a2\u30c9\u30ec\u30b9\u3068\u30dd\u30fc\u30c8\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># vi \/var\/lib\/pgsql\/11\/data\/postgresql.conf\r\n\r\n#------------------------------------------------------------------------------\r\n# CONNECTIONS AND AUTHENTICATION\r\n#------------------------------------------------------------------------------\r\n\r\n# - Connection Settings -\r\n\r\nlisten_addresses = 'localhost'          # what IP address(es) to listen on; # \u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u89e3\u9664\r\n                                        # comma-separated list of addresses;\r\n                                        # defaults to 'localhost'; use '*' for all\r\n                                        # (change requires restart)\r\nport = 5432                             # (change requires restart) # \u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u89e3\u9664\r\n<\/code><\/pre>\n<p>\u30b5\u30fc\u30d3\u30b9\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl restart postgresql-11\r\n<\/code><\/pre>\n<h2>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30a2\u30af\u30bb\u30b9<\/h2>\n<p>\u30e6\u30fc\u30b6postgres\u306bsu\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># su postgres\r\nbash-4.2$\r\n<\/code><\/pre>\n<p>psql -l\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u4e00\u89a7\u3092\u8868\u793a\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>ash-4.2$ psql -l\r\n                                         \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4e00\u89a7\r\n   \u540d\u524d    |  \u6240\u6709\u8005  | \u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 |  \u7167\u5408\u9806\u5e8f   | Ctype(\u5909\u63db\u6f14\u7b97\u5b50) |     \u30a2\u30af\u30bb\u30b9\u6a29\u9650\r\n\r\n-----------+----------+------------------+-------------+-------------------+---------------------\r\n--\r\n postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |\r\n template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c\/postgres\r\n +\r\n           |          |                  |             |                   | postgres=CTc\/postgre\r\ns\r\n template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c\/postgres\r\n +\r\n           |          |                  |             |                   | postgres=CTc\/postgre\r\ns\r\n(3 \u884c)\r\n<\/code><\/pre>\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8a8d\u8a3c\u8a2d\u5b9a<\/h2>\n<p>\u6b21\u306b\u8a8d\u8a3c\u307e\u308f\u308a\u306e\u8a2d\u5b9a\u3092\u3057\u307e\u3059\u3002<br \/>\n\u30e6\u30fc\u30b6postgres\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u30d1\u30b9\u30ef\u30fc\u30c9\u306f&#8221;postgres&#8221;\u3068\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># su - postgres\r\n\u6700\u7d42\u30ed\u30b0\u30a4\u30f3: 2019\/01\/03 (\u6728) 19:39:37 JST\u65e5\u6642 pts\/0\r\n\r\n-bash-4.2$ psql\r\npsql (11.1)\r\n\"help\" \u3067\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3057\u307e\u3059\u3002\r\n\r\npostgres=# alter role postgres with password 'postgres';\r\nALTER ROLE\r\n<\/code><\/pre>\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u6642\u306e\u8a8d\u8a3c\u65b9\u6cd5\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u4e00\u756a\u53f3\u306eMETHOD\u3092md5\u306b\u3059\u308c\u3070\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u8a8d\u8a3c\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># vi \/var\/lib\/pgsql\/11\/data\/pg_hba.conf\r\n\r\n# TYPE  DATABASE        USER            ADDRESS                 METHOD\r\n# \"local\" is for Unix domain socket connections only\r\n# local   all             all                                     peer #\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\r\nlocal   all             all                                     md5 # \u8ffd\u52a0\r\n# IPv4 local connections:\r\n# host    all             all             127.0.0.1\/32            ident #\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\r\nhost    all             all             127.0.0.1\/32            md5 # \u8ffd\u52a0\r\n# IPv6 local connections:\r\nhost    all             all             ::1\/128                 ident\r\n# Allow replication connections from localhost, by a user with the\r\n# replication privilege.\r\nlocal   replication     all                                     peer\r\nhost    replication     all             127.0.0.1\/32            ident\r\nhost    replication     all             ::1\/128                 ident\r\n<\/code><\/pre>\n<p>\u30b5\u30fc\u30d3\u30b9\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl restart postgresql-11\r\n<\/code><\/pre>\n<p>\u3053\u308c\u3067\u8a8d\u8a3c\u306e\u8a2d\u5b9a\u304c\u5b8c\u4e86\u3067\u3059\u3002\u3053\u308c\u304c\u3067\u304d\u3066\u3044\u306a\u3044\u3068jupyter\u304b\u3089\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3057\u305f\u3068\u304d\u306b\u3001OperationalError: FATAL: \u30e6\u30fc\u30b6&#8221;postgres&#8221;\u306eIdent\u8a8d\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u3059\u3002<\/p>\n<h2>\u304a\u307e\u3051<\/h2>\n<p>\u3053\u306e\u72b6\u614b\u3060\u3068\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4f55\u3082\u5165\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3057\u307e\u3059\u3002<br \/>\n\u3053\u3061\u3089\u304b\u3089DVD Rental sample database\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<\/p>\n<p>\u30b5\u30fc\u30d0\u306b\u914d\u5099\u3057\u3001\u89e3\u51cd\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># unzip dvdrental.zip\r\nArchive:  dvdrental.zip\r\ninflating: dvdrental.tar\r\n<\/code><\/pre>\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u307e\u305a\u3001su\u3057\u3066\u3001<\/p>\n<pre class=\"post-pre\"><code># su postgres\r\nbash-4.2$\r\n<\/code><\/pre>\n<p>postgres\u30e6\u30fc\u30b6\u306b\u5207\u308a\u66ff\u3048\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>bash-4.2$ psql -U postgres\r\npsql (11.1)\r\n\"help\" \u3067\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3057\u307e\u3059\u3002\r\n\r\npostgres=#\r\n<\/code><\/pre>\n<p>\u3053\u306e\u72b6\u614b\u3067CREATE DATABASE\u30b3\u30de\u30f3\u30c9\u3092\u6253\u3061\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>postgres=# CREATE DATABASE dvdrental;\r\nCREATE DATABASE\r\n<\/code><\/pre>\n<p>\\l\u30b3\u30de\u30f3\u30c9\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4e00\u89a7\u304c\u898b\u3089\u308c\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>postgres=# \\l\r\n                                         \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4e00\u89a7\r\n   \u540d\u524d    |  \u6240\u6709\u8005  | \u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 |  \u7167\u5408\u9806\u5e8f   | Ctype(\u5909\u63db\u6f14\u7b97\u5b50) |\r\n \u30a2\u30af\u30bb\u30b9\u6a29\u9650\r\n-----------+----------+------------------+-------------+-------------------+----\r\n-------------------\r\n dvdrental | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |\r\n postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |\r\n template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c\/\r\npostgres          +\r\n           |          |                  |             |                   | pos\r\ntgres=CTc\/postgres\r\n template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c\/\r\npostgres          +\r\n           |          |                  |             |                   | pos\r\ntgres=CTc\/postgres\r\n(4 \u884c)\r\n<\/code><\/pre>\n<p>\u89e3\u51cd\u3057\u305f\u30c7\u30fc\u30bf\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u6295\u5165\u3057\u307e\u3059\u3002\\q\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u623b\u308a\u3001\u4e0b\u8a18\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>bash-4.2$ pg_restore -U postgres -d dvdrental .\/dvdrental.tar\r\n\r\npg_restore: [\u30a2\u30fc\u30ab\u30a4\u30d0(db)] TOC\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3057\u305f:\r\npg_restore: [\u30a2\u30fc\u30ab\u30a4\u30d0(db)] TOC\u30a8\u30f3\u30c8\u30ea6; 2615 2200 SCHEMA public postgres\u306e\u30a8 \u30e9\u30fc\u3067\u3059\r\npg_restore: [\u30a2\u30fc\u30ab\u30a4\u30d0(db)] could not execute query: ERROR:  \u30b9\u30ad\u30fc\u30de\"public\"\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\r\n   \u30b3\u30de\u30f3\u30c9: CREATE SCHEMA public;\r\n\r\n\u8b66\u544a: \u30ea\u30b9\u30c8\u30a2\u306b\u3066\u30a8\u30e9\u30fc\u3092\u7121\u8996\u3057\u307e\u3057\u305f: 1\r\n<\/code><\/pre>\n<p>\u8b66\u544a\u306f\u7121\u8996\u3057\u3066\u5927\u4e08\u592b\u3067\u3059\uff08\u591a\u5206\uff09\u3002<br \/>\n\u30ea\u30b9\u30c8\u30a2\u3055\u308c\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u898b\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>bash-4.2$ psql dvdrental\r\npsql (11.1)\r\n\"help\" \u3067\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3057\u307e\u3059\u3002\r\n\r\ndvdrental=# \\d\r\n                       \u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u4e00\u89a7\r\n \u30b9\u30ad\u30fc\u30de |            \u540d\u524d            |     \u578b     |  \u6240\u6709\u8005\r\n----------+----------------------------+------------+----------\r\n public   | actor                      | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | actor_actor_id_seq         | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | actor_info                 | \u30d3\u30e5\u30fc     | postgres\r\n public   | address                    | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | address_address_id_seq     | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | category                   | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | category_category_id_seq   | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | city                       | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | city_city_id_seq           | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | country                    | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | country_country_id_seq     | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | customer                   | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | customer_customer_id_seq   | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | customer_list              | \u30d3\u30e5\u30fc     | postgres\r\n public   | film                       | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | film_actor                 | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | film_category              | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | film_film_id_seq           | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | film_list                  | \u30d3\u30e5\u30fc     | postgres\r\n public   | inventory                  | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | inventory_inventory_id_seq | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | language                   | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | language_language_id_seq   | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | nicer_but_slower_film_list | \u30d3\u30e5\u30fc     | postgres\r\n public   | payment                    | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | payment_payment_id_seq     | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | rental                     | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | rental_rental_id_seq       | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | sales_by_film_category     | \u30d3\u30e5\u30fc     | postgres\r\n public   | sales_by_store             | \u30d3\u30e5\u30fc     | postgres\r\n public   | staff                      | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | staff_list                 | \u30d3\u30e5\u30fc     | postgres\r\n public   | staff_staff_id_seq         | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n public   | store                      | \u30c6\u30fc\u30d6\u30eb   | postgres\r\n public   | store_store_id_seq         | \u30b7\u30fc\u30b1\u30f3\u30b9 | postgres\r\n(35 \u884c)\r\n<\/code><\/pre>\n<p>\u3053\u308c\u3067\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2>python\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>python\u306e\u30e2\u30b8\u30e5\u30fc\u30ebpsycopg2\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code># conda install psycopg2\r\n\r\nSolving environment: done\r\n\r\n## Package Plan ##\r\n\r\n  environment location: \/root\/anaconda3\/envs\/py37\r\n\r\n  added \/ updated specs:\r\n    - psycopg2\r\n\r\n\r\nThe following packages will be downloaded:\r\n\r\n    package                    |            build\r\n    ---------------------------|-----------------\r\n    libpq-11.1                 |       h20c2e04_0         2.6 MB\r\n    psycopg2-2.7.6.1           |   py36h1ba5d50_0         309 KB\r\n    ------------------------------------------------------------\r\n                                           Total:         2.9 MB\r\n\r\nThe following NEW packages will be INSTALLED:\r\n\r\n    libpq:    11.1-h20c2e04_0\r\n    psycopg2: 2.7.6.1-py36h1ba5d50_0\r\n\r\nProceed ([y]\/n)? y\r\n\r\n\r\nDownloading and Extracting Packages\r\nlibpq-11.1           | 2.6 MB    | ###################################################### | 100%\r\npsycopg2-2.7.6.1     | 309 KB    | ###################################################### | 100%\r\nPreparing transaction: done\r\nVerifying transaction: done\r\nExecuting transaction: done\r\n<\/code><\/pre>\n<p>python\u306e\u30e2\u30b8\u30e5\u30fc\u30ebipython-sql\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\u901a\u5e38\u306econda\u3067\u306f\u5165\u3089\u306a\u3044\u306e\u3067\u4e0b\u8a18\u306e\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u53c2\u8003\uff1aconda-forge \/ packages \/ ipython-sql 0.3.9<br \/>\n\u3082\u3057\u304f\u306fpip\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>conda install -c conda-forge ipython-sql \r\n<\/code><\/pre>\n<h2>jupyter notebook\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u64cd\u4f5c\uff08psycopg2\uff09<\/h2>\n<p>jupyter notebook\u3092\u958b\u304d\u307e\u3059\u3002<\/p>\n<p>python\u306e\u30e2\u30b8\u30e5\u30fc\u30ebpsycopg2\u3092\u4f7f\u7528\u3057\u305f\u63a5\u7d9a\u3092\u3057\u3066\u307f\u307e\u3059\u3002\u3053\u306e\u63a5\u7d9a\u306e\u4ed5\u65b9\u306f\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u66f8\u3044\u305f\u5834\u5408\u306e\u63a5\u7d9a\u3068\u540c\u3058\u3067\u3001web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f7f\u7528\u3059\u308b\u3068\u304d\u306e\u63a5\u7d9a\u65b9\u6cd5\u3067\u3059\u3002<\/p>\n<p>\u307e\u305a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u3092\u5f35\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"kn\">import<\/span> <span class=\"nn\">psycopg2<\/span>\r\n\r\n<span class=\"n\">conn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">psycopg2<\/span><span class=\"p\">.<\/span><span class=\"n\">connect<\/span><span class=\"p\">(<\/span>\r\n    <span class=\"n\">host<\/span><span class=\"o\">=<\/span><span class=\"s\">\"localhost\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\"># IP\u30a2\u30c9\u30ec\u30b9\r\n<\/span>    <span class=\"n\">database<\/span><span class=\"o\">=<\/span><span class=\"s\">\"rentaldvd\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\"># DB\u540d\r\n<\/span>    <span class=\"n\">port<\/span><span class=\"o\">=<\/span><span class=\"s\">\"5432\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\"># \u30dd\u30fc\u30c8\r\n<\/span>    <span class=\"n\">user<\/span><span class=\"o\">=<\/span><span class=\"s\">\"postgres\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\"># \u30e6\u30fc\u30b6\u540d\r\n<\/span>    <span class=\"n\">password<\/span><span class=\"o\">=<\/span><span class=\"s\">\"postgres\"<\/span> <span class=\"c1\"># \u30d1\u30b9\u30ef\u30fc\u30c9\r\n<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<p>select\u6587\u3092\u767a\u884c\u3057\u307e\u3059\u3002cursor.fetchall()\u3067\u3001\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u7d50\u679c\u3059\u3079\u3066\u3092\u30ea\u30b9\u30c8\u3068\u3057\u3066\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002pd.DataFrame(results)\u3068\u3059\u308c\u3070\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u306b\u306a\u308a\u307e\u3059\u304c\u3001\u30d8\u30c3\u30c0\u30fc\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">cursor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">cursor<\/span><span class=\"p\">()<\/span> <span class=\"c1\">#  Cursor \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u4f5c\u6210\r\n<\/span><span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"s\">\"SELECT * FROM city\"<\/span><span class=\"p\">)<\/span> <span class=\"c1\"># \u30af\u30a8\u30ea\u5b9f\u884c\r\n<\/span><span class=\"n\">results<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">fetchall<\/span><span class=\"p\">()<\/span> <span class=\"c1\"># \u30af\u30a8\u30ea\u306e\u5fdc\u7b54\u3092\u3059\u3079\u3066results\u306b\u683c\u7d0d\r\n<\/span>\r\n<span class=\"k\">for<\/span> <span class=\"n\">row<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">results<\/span><span class=\"p\">:<\/span>\r\n  <span class=\"k\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">row<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">commit<\/span><span class=\"p\">()<\/span> <span class=\"c1\"># \u30af\u30a8\u30ea\u5b9f\u884c\u7d50\u679c\u3092\u30b3\u30df\u30c3\u30c8\r\n<\/span><span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span> <span class=\"c1\"># Cursor \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u9589\u3058\u308b\r\n<\/span><span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span> <span class=\"c1\"># \u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u3092\u5207\u65ad\r\n<\/span>\r\n<span class=\"c1\"># \u4ee5\u4e0b\u51fa\u529b\r\n<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"s\">'A Corua (La Corua)'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">87<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Abha'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">82<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Abu Dhabi'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">101<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Acua'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">60<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Adana'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">97<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">6<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Addis Abeba'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">31<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Aden'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">107<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Adoni'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">44<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Ahmadnagar'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">44<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">(<\/span><span class=\"mi\">10<\/span><span class=\"p\">,<\/span> <span class=\"s\">'Akishima'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">50<\/span><span class=\"p\">,<\/span> <span class=\"n\">datetime<\/span><span class=\"p\">.<\/span><span class=\"n\">datetime<\/span><span class=\"p\">(<\/span><span class=\"mi\">2006<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">45<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">))<\/span>\r\n<span class=\"p\">...<\/span>\r\n<\/code><\/pre>\n<p>\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u7d50\u679c\u30921\u884c\u305a\u3064\u8aad\u307f\u51fa\u3057\u305f\u3044\u5834\u5408\u306fcursor.fetchone()\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u547c\u3073\u51fa\u3059\u305f\u3073\u306b\u30b7\u30fc\u30b1\u30f3\u30b9\u304c\u9032\u307f\u3001\u6700\u5f8c\u306fNone\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">cursor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">cursor<\/span><span class=\"p\">()<\/span>\r\n<span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"s\">\"SELECT * FROM city\"<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"n\">record<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">fetchone<\/span><span class=\"p\">()<\/span>\r\n<span class=\"k\">while<\/span> <span class=\"n\">record<\/span> <span class=\"o\">!=<\/span> <span class=\"bp\">None<\/span><span class=\"p\">:<\/span>\r\n    <span class=\"k\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">record<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">record<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">fetchone<\/span><span class=\"p\">()<\/span>\r\n\r\n<span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">commit<\/span><span class=\"p\">()<\/span>\r\n<span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span>\r\n<\/code><\/pre>\n<p>\u305f\u3060\u3057\u3001\u30af\u30a8\u30ea\u5b9f\u884c\u6642\u70b9\u3067\u691c\u7d22\u7d50\u679c\u306f\u3059\u3079\u3066\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u9001\u4fe1\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u30e1\u30e2\u30ea\u306e\u7bc0\u7d04\u306b\u306f\u306a\u308a\u307e\u305b\u3093\u3002\u30e1\u30e2\u30ea\u7bc0\u7d04\u306e\u305f\u3081\u306b\u306f\u30b5\u30fc\u30d0\u30b5\u30a4\u30c9\u30ab\u30fc\u30bd\u30eb\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u3053\u308c\u306b\u306f\u540d\u524d\u4ed8\u304d\u30ab\u30fc\u30bd\u30eb\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u53c2\u8003\uff1aPython\u3068DB: DBI\u306ecursor\u3092\u7406\u89e3\u3059\u308b<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">with<\/span> <span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">cursor<\/span><span class=\"p\">(<\/span><span class=\"s\">'hoge'<\/span><span class=\"p\">)<\/span> <span class=\"k\">as<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">:<\/span>\r\n    <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"s\">\"SELECT * FROM city\"<\/span><span class=\"p\">)<\/span>\r\n\r\n    <span class=\"n\">record<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">fetchone<\/span><span class=\"p\">()<\/span>\r\n    <span class=\"k\">while<\/span> <span class=\"n\">record<\/span> <span class=\"o\">!=<\/span> <span class=\"bp\">None<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"k\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">record<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">record<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">fetchone<\/span><span class=\"p\">()<\/span>\r\n\r\n<span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">commit<\/span><span class=\"p\">()<\/span>\r\n<span class=\"n\">conn<\/span><span class=\"p\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span>\r\n<\/code><\/pre>\n<h2>jupyter notebook\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u64cd\u4f5c\uff08ipython-sql\uff09<\/h2>\n<p>\u3088\u308a\u76f4\u63a5\u7684\u306bSQL\u3092\u66f8\u304d\u305f\u3044\u5834\u5408\u306f\u30de\u30b8\u30c3\u30af\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002%load_ext sql\u3067SQL\u62e1\u5f35\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">%<\/span><span class=\"n\">load_ext<\/span> <span class=\"n\">sql<\/span>\r\n<span class=\"c1\"># dsl = 'postgres:\/\/{user}:{password}@{host}:{port}\/{database}'\r\n<\/span><span class=\"n\">dsl<\/span> <span class=\"o\">=<\/span> <span class=\"s\">'postgres:\/\/postgres:postgres@localhost:5432\/dvdrental'<\/span>\r\n<span class=\"o\">%<\/span><span class=\"n\">sql<\/span> <span class=\"err\">$<\/span><span class=\"n\">dsl<\/span>\r\n\r\n<span class=\"c1\"># \u4ee5\u4e0b\u306f\u51fa\u529b\r\n<\/span><span class=\"n\">The<\/span> <span class=\"n\">sql<\/span> <span class=\"n\">extension<\/span> <span class=\"ow\">is<\/span> <span class=\"n\">already<\/span> <span class=\"n\">loaded<\/span><span class=\"p\">.<\/span> <span class=\"n\">To<\/span> <span class=\"nb\">reload<\/span> <span class=\"n\">it<\/span><span class=\"p\">,<\/span> <span class=\"n\">use<\/span><span class=\"p\">:<\/span>\r\n  <span class=\"o\">%<\/span><span class=\"n\">reload_ext<\/span> <span class=\"n\">sql<\/span>\r\n<span class=\"s\">'Connected: postgres@dvdrental'<\/span>\r\n<\/code><\/pre>\n<p>select\u6587\u306f\u6b21\u306e\u3088\u3046\u306b\u66f8\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">%%<\/span><span class=\"k\">sql<\/span>\r\n<span class=\"k\">select<\/span> <span class=\"o\">*<\/span> <span class=\"k\">from<\/span> <span class=\"n\">actor<\/span> <span class=\"k\">order<\/span> <span class=\"k\">by<\/span> <span class=\"n\">actor_id<\/span> <span class=\"k\">limit<\/span> <span class=\"mi\">10<\/span>\r\n\r\n<span class=\"o\">#<\/span> <span class=\"err\">\u4ee5\u4e0b\u306f\u51fa\u529b<\/span>\r\n <span class=\"o\">*<\/span> <span class=\"n\">postgres<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">postgres<\/span><span class=\"p\">:<\/span><span class=\"o\">***@<\/span><span class=\"n\">localhost<\/span><span class=\"p\">:<\/span><span class=\"mi\">5432<\/span><span class=\"o\">\/<\/span><span class=\"n\">dvdrental<\/span>\r\n<span class=\"mi\">10<\/span> <span class=\"k\">rows<\/span> <span class=\"n\">affected<\/span><span class=\"p\">.<\/span>\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d643537434c4406d03d19\/92-0.png\" alt=\"image.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d643537434c4406d03d19\/93-0.png\" alt=\"image.png\" \/><\/div>\n<p>\u578b\u306fsql.run.ResultSet\u3068\u3044\u3046\u578b\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">type<\/span><span class=\"p\">(<\/span><span class=\"n\">_<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c1\"># \u4ee5\u4e0b\u306f\u51fa\u529b\r\n<\/span><span class=\"n\">sql<\/span><span class=\"p\">.<\/span><span class=\"n\">run<\/span><span class=\"p\">.<\/span><span class=\"n\">ResultSet<\/span>\r\n<\/code><\/pre>\n<p>\u3082\u3061\u308d\u3093\u5909\u6570\u306b\u683c\u7d0d\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002%\u304c\u4e8c\u3064\u304b\u3089\u4e00\u3064\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">result<\/span> <span class=\"o\">=<\/span> <span class=\"o\">%<\/span><span class=\"n\">sql<\/span> <span class=\"n\">select<\/span> <span class=\"o\">*<\/span> <span class=\"k\">from<\/span> <span class=\"n\">actor<\/span> <span class=\"n\">order<\/span> <span class=\"n\">by<\/span> <span class=\"n\">actor_id<\/span> <span class=\"n\">limit<\/span> <span class=\"mi\">10<\/span>\r\n\r\n<span class=\"c1\"># \u4ee5\u4e0b\u306f\u51fa\u529b\r\n<\/span> <span class=\"o\">*<\/span> <span class=\"n\">postgres<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">postgres<\/span><span class=\"p\">:<\/span><span class=\"o\">***@<\/span><span class=\"n\">localhost<\/span><span class=\"p\">:<\/span><span class=\"mi\">5432<\/span><span class=\"o\">\/<\/span><span class=\"n\">dvdrental<\/span>\r\n<span class=\"mi\">10<\/span> <span class=\"n\">rows<\/span> <span class=\"n\">affected<\/span><span class=\"p\">.<\/span>\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d643537434c4406d03d19\/98-0.png\" alt=\"image.png\" \/><\/div>\n<p>.DataFrame()\u3067\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u306b\u5909\u63db\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>result.DataFrame()\r\n<\/code><\/pre>\n<p>\u3082\u3057\u304f\u306f\u4e0b\u8a18\u3092\u66f8\u3044\u3066\u304a\u304f\u3053\u3068\u3067\u81ea\u52d5\u3067pandas\u306b\u5909\u63db\u3057\u3066\u304f\u308c\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">%<\/span><span class=\"n\">config<\/span> <span class=\"n\">SqlMagic<\/span><span class=\"p\">.<\/span><span class=\"n\">autopandas<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">True<\/span>\r\n\r\n<span class=\"n\">df<\/span> <span class=\"o\">=<\/span> <span class=\"o\">%<\/span><span class=\"n\">sql<\/span> <span class=\"n\">select<\/span> <span class=\"o\">*<\/span> <span class=\"k\">from<\/span> <span class=\"n\">actor<\/span> <span class=\"n\">order<\/span> <span class=\"n\">by<\/span> <span class=\"n\">actor_id<\/span>\r\n<span class=\"nb\">type<\/span><span class=\"p\">(<\/span><span class=\"n\">df<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c1\"># \u4ee5\u4e0b\u306f\u51fa\u529b\r\n<\/span> <span class=\"o\">*<\/span> <span class=\"n\">postgres<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">postgres<\/span><span class=\"p\">:<\/span><span class=\"o\">***@<\/span><span class=\"n\">localhost<\/span><span class=\"p\">:<\/span><span class=\"mi\">5432<\/span><span class=\"o\">\/<\/span><span class=\"n\">dvdrental<\/span>\r\n<span class=\"mi\">200<\/span> <span class=\"n\">rows<\/span> <span class=\"n\">affected<\/span><span class=\"p\">.<\/span>\r\n<span class=\"n\">pandas<\/span><span class=\"p\">.<\/span><span class=\"n\">core<\/span><span class=\"p\">.<\/span><span class=\"n\">frame<\/span><span class=\"p\">.<\/span><span class=\"n\">DataFrame<\/span>\r\n<\/code><\/pre>\n<h2>\u6ce8\u610f<\/h2>\n<p>\\d\u306a\u3069\u306epsql\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306fpgspecial\u3092\u8ffd\u52a0\u3067\u5c0e\u5165\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h1>\u304a\u308f\u308a\u306b<\/h1>\n<p>jupyter\u304b\u3089postgreSQL\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u3067SQL\u3067\u306e\u30c7\u30fc\u30bf\u6210\u578b\u3068pandas\u3084matplotlib\u3092\u7528\u3044\u305f\u53ef\u8996\u5316\u306a\u3069\u7d44\u307f\u5408\u308f\u305b\u3066\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b jupyter\u304b\u3089postgreSQL\u3092\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002 \u53c2\u8003 CentOS \u3067 P [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-46311","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>- 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\/46311-2\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:description\" content=\"\u306f\u3058\u3081\u306b jupyter\u304b\u3089postgreSQL\u3092\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002 \u53c2\u8003 CentOS \u3067 P [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-18T02:51:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-03T19:34:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d643537434c4406d03d19\/9-0.png\" \/>\n<meta name=\"author\" content=\"\u65b0, \u97f5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u65b0, \u97f5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 \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\/46311-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/\",\"name\":\"- Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-07-18T02:51:02+00:00\",\"dateModified\":\"2024-05-03T19:34:25+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/\"]}]},{\"@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\/4ba4019495123db3038fd0809e6959c9\",\"name\":\"\u65b0, \u97f5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"caption\":\"\u65b0, \u97f5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"- 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\/46311-2\/","og_locale":"zh_CN","og_type":"article","og_description":"\u306f\u3058\u3081\u306b jupyter\u304b\u3089postgreSQL\u3092\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002 \u53c2\u8003 CentOS \u3067 P [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-07-18T02:51:02+00:00","article_modified_time":"2024-05-03T19:34:25+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d643537434c4406d03d19\/9-0.png"}],"author":"\u65b0, \u97f5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u65b0, \u97f5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"10 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/","name":"- Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-07-18T02:51:02+00:00","dateModified":"2024-05-03T19:34:25+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/"]}]},{"@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\/4ba4019495123db3038fd0809e6959c9","name":"\u65b0, \u97f5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","caption":"\u65b0, \u97f5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/46311-2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/46311","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=46311"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/46311\/revisions"}],"predecessor-version":[{"id":95870,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/46311\/revisions\/95870"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=46311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=46311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=46311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}