{"id":15784,"date":"2021-02-21T06:35:18","date_gmt":"2021-02-21T05:35:18","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/"},"modified":"2021-02-21T06:35:18","modified_gmt":"2021-02-21T05:35:18","slug":"postgresql-on-freebsd-installation-from-source-code","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/","title":{"rendered":"PostgreSQL on FreeBSD, installation from source code"},"content":{"rendered":"<p>This is the next post in this little series about PostgreSQL on FreeBSD. You can find the previous one here:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-getting-started\/\" target=\"_blank\" rel=\"noopener\">PostgreSQL on FreeBSD, getting started<\/a><\/li>\n<li><a href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-updating-configuration\/\" target=\"_blank\" rel=\"noopener\">PostgreSQL on FreeBSD, updating &amp; configuration<\/a><\/li>\n<li><a href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-packages\/\" target=\"_blank\" rel=\"noopener\">PostgreSQL on FreeBSD, installation from packages <\/a><\/li>\n<\/ul>\n<p>The downside with installing from packages on FreeBSD is, that you can only run one version of PostgreSQL. If you want to run more than one, you need to install from source code, and this is the topic of this post.<\/p>\n<p><!--more--><\/p>\n<p>AS the first step lets remove the PostgreSQL installation we did in the last post:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@freebsd:~ $ pkg remove postgresql13-server postgresql13-client\nChecking integrity... done (0 conflicting)\nDeinstallation has been requested for the following 2 packages (of 0 packages in the universe):\n\nInstalled packages to be REMOVED:\n        postgresql13-client: 13.1\n        postgresql13-server: 13.1_1\n\nNumber of packages to be removed: 2\n\nThe operation will free 53 MiB.\n\nProceed with deinstalling packages? [y\/N]: y\n[1\/2] Deinstalling postgresql13-server-13.1_1...\n[1\/2] Deleting files for postgresql13-server-13.1_1: 100%\n==&gt; You should manually remove the \"postgres\" user. \n==&gt; You should manually remove the \"postgres\" group \n[2\/2] Deinstalling postgresql13-client-13.1...\n[2\/2] Deleting files for postgresql13-client-13.1: 100%\n<\/pre>\n<p>As this will not remove $PGDATA lets get rid of that as well:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@freebsd:~ $ rm -rf \/var\/db\/postgres\/data13\/\n<\/pre>\n<p>We should also remove the auto start configuration:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@freebsd:~ $ sed -i\".bak\" '$d' \/etc\/rc.conf\nroot@freebsd:~ $ cat \/etc\/rc.conf\nhostname=\"freebsd.it.dbi-services.com\"\nkeymap=\"ch.kbd\"\nifconfig_em0=\"DHCP\"\nifconfig_em1=\"inet 192.168.22.17 netmask 255.255.255.0\"\nsshd_enable=\"YES\"\nntpd_enable=\"YES\"\n# Set dumpdev to \"AUTO\" to enable crash dumps, \"NO\" to disable\ndumpdev=\"AUTO\"\nzfs_enable=\"YES\"\n<\/pre>\n<p>When we installed PostgreSQL from packages some additional packages have been installed as well, lets remove them, too:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@freebsd:~ $ pkg remove libffi libedit libxml2 python37 perl5 lua52 llvm11 icu-68\nNo packages matched for pattern 'icu-68'\n\nChecking integrity... done (0 conflicting)\nDeinstallation has been requested for the following 7 packages (of 0 packages in the universe):\n\nInstalled packages to be REMOVED:\n        libedit: 3.1.20191231,1\n        libffi: 3.3_1\n        libxml2: 2.9.10_2\n        llvm11: 11.0.1\n        lua52: 5.2.4\n        perl5: 5.32.1_1\n        python37: 3.7.9_1\n\nNumber of packages to be removed: 7\n\nThe operation will free 884 MiB.\n\nProceed with deinstalling packages? [y\/N]: y\n[1\/7] Deinstalling llvm11-11.0.1...\n[1\/7] Deleting files for llvm11-11.0.1: 100%\n[2\/7] Deinstalling python37-3.7.9_1...\n[2\/7] Deleting files for python37-3.7.9_1: 100%\n[3\/7] Deinstalling lua52-5.2.4...\n[3\/7] Deleting files for lua52-5.2.4: 100%\n[4\/7] Deinstalling libffi-3.3_1...\n[4\/7] Deleting files for libffi-3.3_1: 100%\n[5\/7] Deinstalling libedit-3.1.20191231,1...\n[5\/7] Deleting files for libedit-3.1.20191231,1: 100%\n[6\/7] Deinstalling libxml2-2.9.10_2...\n[6\/7] Deleting files for libxml2-2.9.10_2: 100%\n[7\/7] Deinstalling perl5-5.32.1_1...\n[7\/7] Deleting files for perl5-5.32.1_1: 100%\n<\/pre>\n<p>Now we should have the same state of the system as before we installed PostgreSQL from packages. We&#8217;ll not delete the postgres user and group, as we can just re-use them for installing from source code. <\/p>\n<p>To download the source code we need something like wget, and to make life a bit easier we&#8217;ll also install sudo:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@freebsd:~ $ pkg install wget sudo\nUpdating FreeBSD repository catalogue...\nFreeBSD repository is up to date.\nAll repositories are up to date.\nThe following 4 package(s) will be affected (of 0 checked):\n\nNew packages to be INSTALLED:\n        libidn2: 2.3.0_1\n        libunistring: 0.9.10_1\n        sudo: 1.9.5p2\n        wget: 1.20.3_1\n\nNumber of packages to be installed: 4\n\nThe process will require 11 MiB more space.\n2 MiB to be downloaded.\n\nProceed with this action? [y\/N]: y\n[1\/4] Fetching wget-1.20.3_1.txz: 100%  651 KiB 666.2kB\/s    00:01    \n[2\/4] Fetching sudo-1.9.5p2.txz: 100%  943 KiB 966.1kB\/s    00:01    \n[3\/4] Fetching libidn2-2.3.0_1.txz: 100%  111 KiB 113.3kB\/s    00:01    \n[4\/4] Fetching libunistring-0.9.10_1.txz: 100%  527 KiB 539.8kB\/s    00:01    \nChecking integrity... done (0 conflicting)\n[1\/4] Installing libunistring-0.9.10_1...\n[1\/4] Extracting libunistring-0.9.10_1: 100%\n[2\/4] Installing libidn2-2.3.0_1...\n[2\/4] Extracting libidn2-2.3.0_1: 100%\n[3\/4] Installing wget-1.20.3_1...\n[3\/4] Extracting wget-1.20.3_1: 100%\n[4\/4] Installing sudo-1.9.5p2...\n[4\/4] Extracting sudo-1.9.5p2: 100%\n<\/pre>\n<p>The sudo configuration in FreeBSD is not in \/etc but in \/usr\/local\/etc, and as we trust the postgres user we allow everything without a password:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@freebsd:~ $ cat \/usr\/local\/etc\/sudoers | grep postgres\npostgres ALL=(ALL) NOPASSWD: ALL\n<\/pre>\n<p>Lets download the source code:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,4,5,8,9,13]\">\n\nroot@freebsd:~ # su - postgres\n$ pwd\n\/var\/db\/postgres\n$ wget https:\/\/ftp.postgresql.org\/pub\/source\/v13.2\/postgresql-13.2.tar.bz2\n$ ls -l\ntotal 20585\n-rw-r--r--  1 postgres  postgres  21057276 Feb  8 23:07 postgresql-13.2.tar.bz2\n$ tar xvf postgresql-13.2.tar.bz2\n$ ls -l\ntotal 20593\ndrwxr-xr-x  6 postgres  postgres        19 Feb  8 23:07 postgresql-13.2\n-rw-r--r--  1 postgres  postgres  21057276 Feb  8 23:07 postgresql-13.2.tar.bz2\n$ cd postgresql-13.2\n<\/pre>\n<p>Before can run &#8220;configure&#8221; we need to install all the dependencies:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n$ sudo pkg install perl5 perl5-devel python3 libressl-devel libxml2 libxslt openldap-client llvm11\nUpdating FreeBSD repository catalogue...\nFreeBSD repository is up to date.\nAll repositories are up to date.\nThe following 14 package(s) will be affected (of 0 checked):\n\nNew packages to be INSTALLED:\n        libedit: 3.1.20191231,1\n        libffi: 3.3_1\n        libgcrypt: 1.8.7\n        libgpg-error: 1.41\n        libressl-devel: 3.3.1\n        libxml2: 2.9.10_2\n        libxslt: 1.1.34_1\n        llvm11: 11.0.1\n        lua52: 5.2.4\n        openldap-client: 2.4.57\n        perl5: 5.32.1_1\n        perl5-devel: 5.33.4.81\n        python3: 3_3\n        python37: 3.7.9_1\n\nNumber of packages to be installed: 14\n\nThe process will require 975 MiB more space.\n20 MiB to be downloaded.\n\nProceed with this action? [y\/N]: y\n[1\/7] Fetching perl5-devel-5.33.4.81.txz: 100%   14 MiB   3.8MB\/s    00:04    \n[2\/7] Fetching python3-3_3.txz: 100%    1 KiB   1.1kB\/s    00:01    \n[3\/7] Fetching libressl-devel-3.3.1.txz: 100%    3 MiB   3.2MB\/s    00:01    \n[4\/7] Fetching libxslt-1.1.34_1.txz: 100%  233 KiB 238.4kB\/s    00:01    \n[5\/7] Fetching openldap-client-2.4.57.txz: 100%    1 MiB   1.1MB\/s    00:01    \n[6\/7] Fetching libgcrypt-1.8.7.txz: 100%  740 KiB 757.9kB\/s    00:01    \n[7\/7] Fetching libgpg-error-1.41.txz: 100%  292 KiB 299.5kB\/s    00:01    \nChecking integrity... done (0 conflicting)\n[1\/14] Installing libffi-3.3_1...\n[1\/14] Extracting libffi-3.3_1: 100%\n[2\/14] Installing libgpg-error-1.41...\n[2\/14] Extracting libgpg-error-1.41: 100%\n[3\/14] Installing libedit-3.1.20191231,1...\n[3\/14] Extracting libedit-3.1.20191231,1: 100%\n[4\/14] Installing perl5-5.32.1_1...\n[4\/14] Extracting perl5-5.32.1_1: 100%\n[5\/14] Installing libxml2-2.9.10_2...\n[5\/14] Extracting libxml2-2.9.10_2: 100%\n[6\/14] Installing python37-3.7.9_1...\n[6\/14] Extracting python37-3.7.9_1: 100%\n[7\/14] Installing libgcrypt-1.8.7...\n[7\/14] Extracting libgcrypt-1.8.7: 100%\n[8\/14] Installing lua52-5.2.4...\n[8\/14] Extracting lua52-5.2.4: 100%\n[9\/14] Installing perl5-devel-5.33.4.81...\n[9\/14] Extracting perl5-devel-5.33.4.81: 100%\n[10\/14] Installing python3-3_3...\n[10\/14] Extracting python3-3_3: 100%\n[11\/14] Installing libressl-devel-3.3.1...\n[11\/14] Extracting libressl-devel-3.3.1: 100%\n[12\/14] Installing libxslt-1.1.34_1...\n[12\/14] Extracting libxslt-1.1.34_1: 100%\n[13\/14] Installing openldap-client-2.4.57...\n[13\/14] Extracting openldap-client-2.4.57: 100%\n[14\/14] Installing llvm11-11.0.1...\n[14\/14] Extracting llvm11-11.0.1: 100%\n=====\nMessage from python37-3.7.9_1:\n\n--\nNote that some standard Python modules are provided as separate ports\nas they require additional dependencies. They are available as:\n\npy37-gdbm       databases\/py-gdbm@py37\npy37-sqlite3    databases\/py-sqlite3@py37\npy37-tkinter    x11-toolkits\/py-tkinter@py37\n=====\nMessage from openldap-client-2.4.57:\n\n--\nThe OpenLDAP client package has been successfully installed.\n\nEdit\n  \/usr\/local\/etc\/openldap\/ldap.conf\nto change the system-wide client defaults.\n\nTry `man ldap.conf' and visit the OpenLDAP FAQ-O-Matic at\n  http:\/\/www.OpenLDAP.org\/faq\/index.cgi?file=3\nfor more information.\n<\/pre>\n<p>Here is the configure command (this might look differently for you, depending on what you want to have enabled):<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n$ sudo mkdir -p \/u01\/app\n$ sudo chown postgres:postgres \/u01\/app\n$ bash\n[postgres@freebsd ~\/postgresql-13.2]$ PGHOME=\/u01\/app\/postgres\/product\/13\/db_2\/\n[postgres@freebsd ~\/postgresql-13.2]$ SEGSIZE=2\n[postgres@freebsd ~\/postgresql-13.2]$ BLOCKSIZE=8\n[postgres@freebsd ~\/postgresql-13.2]$ .\/configure --prefix=${PGHOME} --exec-prefix=${PGHOME} --bindir=${PGHOME}\/bin --libdir=${PGHOME}\/lib --with-libraries=\/usr\/local\/lib  --with-includes=\/usr\/local\/include --sysconfdir=${PGHOME}\/etc --includedir=${PGHOME}\/include --datarootdir=${PGHOME}\/share --datadir=${PGHOME}\/share --with-pgport=5432 --with-perl --with-python --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --with-segsize=${SEGSIZE} --with-blocksize=${BLOCKSIZE} --with-llvm LLVM_CONFIG='\/usr\/local\/llvm11\/bin\/llvm-config' \n...\nconfig.status: creating GNUmakefile\nconfig.status: creating src\/Makefile.global\nconfig.status: creating src\/include\/pg_config.h\nconfig.status: creating src\/include\/pg_config_ext.h\nconfig.status: creating src\/interfaces\/ecpg\/include\/ecpg_config.h\nconfig.status: linking src\/backend\/port\/tas\/dummy.s to src\/backend\/port\/tas.s\nconfig.status: linking src\/backend\/port\/posix_sema.c to src\/backend\/port\/pg_sema.c\nconfig.status: linking src\/backend\/port\/sysv_shmem.c to src\/backend\/port\/pg_shmem.c\nconfig.status: linking src\/include\/port\/freebsd.h to src\/include\/pg_config_os.h\n<\/pre>\n<p>Compile and install:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@freebsd ~\/postgresql-13.2]$ make all\nYou must use GNU make to build PostgreSQL.\n*** Error code 1\n\nStop.\nmake: stopped in \/var\/db\/postgres\/postgresql-13.2\n<\/pre>\n<p>Ok, so we missed to install make:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,20]\">\n[postgres@freebsd ~\/postgresql-13.2]$ sudo pkg install gmake\nUpdating FreeBSD repository catalogue...\nFreeBSD repository is up to date.\nAll repositories are up to date.\nThe following 1 package(s) will be affected (of 0 checked):\n\nNew packages to be INSTALLED:\n        gmake: 4.3_2\n\nNumber of packages to be installed: 1\n\nThe process will require 2 MiB more space.\n416 KiB to be downloaded.\n\nProceed with this action? [y\/N]: y\n[1\/1] Fetching gmake-4.3_2.txz: 100%  416 KiB 425.6kB\/s    00:01    \nChecking integrity... done (0 conflicting)\n[1\/1] Installing gmake-4.3_2...\n[1\/1] Extracting gmake-4.3_2: 100%\n[postgres@freebsd ~\/postgresql-13.2]$ make world\nUsing GNU make found at \/usr\/local\/bin\/gmake\n...\n\/usr\/local\/bin\/gmake -C config all\ngmake[1]: Entering directory '\/var\/db\/postgres\/postgresql-13.2\/config'\ngmake[1]: Nothing to be done for 'all'.\ngmake[1]: Leaving directory '\/var\/db\/postgres\/postgresql-13.2\/config'\ngmake[2]: Leaving directory '\/var\/db\/postgres\/postgresql-13.2\/contrib\/ltree_plpython'\ngmake[1]: Leaving directory '\/var\/db\/postgres\/postgresql-13.2\/contrib'\nPostgreSQL, contrib, and documentation successfully made. Ready to install.\n<\/pre>\n<p>That&#8217;s it. Finally, install:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@freebsd ~\/postgresql-13.2]$ make install-world\n...\ncd '\/u01\/app\/postgres\/product\/13\/db_2\/\/lib\/bitcode' &amp;&amp; \/usr\/local\/llvm11\/bin\/llvm-lto -thinlto -thinlto-action=thinlink -o ltree_plpython3.index.bc ltree_plpython3\/ltree_plpython.bc\ngmake[2]: Leaving directory '\/var\/db\/postgres\/postgresql-13.2\/contrib\/ltree_plpython'\ngmake[1]: Leaving directory '\/var\/db\/postgres\/postgresql-13.2\/contrib'\nPostgreSQL, contrib, and documentation installation complete.\n<\/pre>\n<p>If you script that, it is not much more work than installing from packages, and you have the full flexibility. The downside is, that you need to come with your on start\/stop scripts and that you need to compile any third party extension for your own.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the next post in this little series about PostgreSQL on FreeBSD. You can find the previous one here: PostgreSQL on FreeBSD, getting started PostgreSQL on FreeBSD, updating &amp; configuration PostgreSQL on FreeBSD, installation from packages The downside with installing from packages on FreeBSD is, that you can only run one version of PostgreSQL. [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[2256,77],"type_dbi":[],"class_list":["post-15784","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-freebsd","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.8 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PostgreSQL on FreeBSD, installation from source code - dbi Blog<\/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.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL on FreeBSD, installation from source code\" \/>\n<meta property=\"og:description\" content=\"This is the next post in this little series about PostgreSQL on FreeBSD. You can find the previous one here: PostgreSQL on FreeBSD, getting started PostgreSQL on FreeBSD, updating &amp; configuration PostgreSQL on FreeBSD, installation from packages The downside with installing from packages on FreeBSD is, that you can only run one version of PostgreSQL. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-21T05:35:18+00:00\" \/>\n<meta name=\"author\" content=\"Open source Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Open source Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/\"},\"author\":{\"name\":\"Open source Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4bae5e5dd8c7d48edbd948772b49b202\"},\"headline\":\"PostgreSQL on FreeBSD, installation from source code\",\"datePublished\":\"2021-02-21T05:35:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/\"},\"wordCount\":322,\"commentCount\":0,\"keywords\":[\"FreeBSD\",\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/\",\"name\":\"PostgreSQL on FreeBSD, installation from source code - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2021-02-21T05:35:18+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4bae5e5dd8c7d48edbd948772b49b202\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-on-freebsd-installation-from-source-code\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL on FreeBSD, installation from source code\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4bae5e5dd8c7d48edbd948772b49b202\",\"name\":\"Open source Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"caption\":\"Open source Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/open-source-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL on FreeBSD, installation from source code - dbi Blog","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.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/","og_locale":"en_US","og_type":"article","og_title":"PostgreSQL on FreeBSD, installation from source code","og_description":"This is the next post in this little series about PostgreSQL on FreeBSD. You can find the previous one here: PostgreSQL on FreeBSD, getting started PostgreSQL on FreeBSD, updating &amp; configuration PostgreSQL on FreeBSD, installation from packages The downside with installing from packages on FreeBSD is, that you can only run one version of PostgreSQL. [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/","og_site_name":"dbi Blog","article_published_time":"2021-02-21T05:35:18+00:00","author":"Open source Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Open source Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/"},"author":{"name":"Open source Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4bae5e5dd8c7d48edbd948772b49b202"},"headline":"PostgreSQL on FreeBSD, installation from source code","datePublished":"2021-02-21T05:35:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/"},"wordCount":322,"commentCount":0,"keywords":["FreeBSD","PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/","url":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/","name":"PostgreSQL on FreeBSD, installation from source code - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2021-02-21T05:35:18+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4bae5e5dd8c7d48edbd948772b49b202"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-on-freebsd-installation-from-source-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL on FreeBSD, installation from source code"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4bae5e5dd8c7d48edbd948772b49b202","name":"Open source Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","caption":"Open source Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/open-source-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/15784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=15784"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/15784\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=15784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=15784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=15784"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=15784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}