{"id":15113345,"url":"https://github.com/gitgnu/gnu_guile-pg","last_synced_at":"2026-01-28T00:42:38.919Z","repository":{"id":84520610,"uuid":"90386121","full_name":"gitGNU/gnu_guile-pg","owner":"gitGNU","description":null,"archived":false,"fork":false,"pushed_at":"2017-05-05T14:45:20.000Z","size":1802,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T01:14:23.094Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scheme","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitGNU.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-05T14:45:15.000Z","updated_at":"2020-07-01T15:47:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"513f5c1b-723e-420c-88ce-3cda080205e9","html_url":"https://github.com/gitGNU/gnu_guile-pg","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_guile-pg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_guile-pg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_guile-pg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_guile-pg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitGNU","download_url":"https://codeload.github.com/gitGNU/gnu_guile-pg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247103307,"owners_count":20884023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-26T01:04:30.396Z","updated_at":"2026-01-28T00:42:38.861Z","avatar_url":"https://github.com/gitGNU.png","language":"Scheme","funding_links":[],"categories":[],"sub_categories":[],"readme":"Welcome! (or \"☡ Guile ∘ PostgreSQL ∞\")\n======================================\n\n\tGuile-PG is a collection of modules for Guile allowing access to\n\tthe PostgreSQL RDBMS from Scheme programs.\n\n\tThe low-level module ‘(database postgres)’ provides an almost\n\tone-to-one correspondence with the PostgreSQL \"libpq\" C library\n\tinterface.  The other modules build on it to provide abstractions\n\tand convenience procedures:\n\n\t  (database postgres-qcons)     -- Query Construction\n\t  (database postgres-resdisp)   -- Displaying Results\n\t  (database postgres-types)     -- Types Conversion\n\t  (database postgres-col-defs)  -- Column Definitions\n\t  (database postgres-resx)      -- Result Transforms\n\t  (database postgres-table)     -- Single-Table Abstraction\n\t  (database postgres-meta)      -- Introspection\n\t  (database postgres-gxrepl)    -- Easy Interaction\n\n\tThis is alpha code (pre 1.0 release), tested with various, but\n\tnot all, versions of Guile and PostgreSQL.  It may have bugs,\n\tand the interfaces may change from version to version.\n\n\tTo build Guile-PG you need to have installed both the PostgreSQL\n\tfrontend library libpq, and a version of Guile that can either\n\tload binary module (a b c) from file a/b/c.so or a/b/c/libc.la\n\tunder ‘%load-path’, or provide ‘dynamic-link’ and ‘dynamic-call’.\n\n\nBuilding and Installing Guile-PG\n================================\n\n\tGeneric install instructions are provided in the file INSTALL.\n\tIf you're in a hurry:\n\n\t  ./configure [options]\n\t  make\n\t  make check\n\t  make install\n\t  make installcheck\n\n\tEach of the above steps is explained in detail below.\n\n\nConfiguration\n-------------\n\n\tNormally, the configure script looks in $prefix/include and\n\t$prefix/lib for PostgreSQL headers and libraries, under the\n\tassumption that everything (Guile-PG, Guile and PostgreSQL)\n\tis to be installed there.\n\n\tIf the ./configure script failed because it couldn't find\n\tlibpq or the libpq headers then you can use the --with-libpq\n\toption to direct configure to the appropriate directory.  E.g.,\n\tif you installed PostgreSQL with the prefix ~/local/ix86, so that\n\tthe libpq headers are in ~/local/ix86/include and the library in\n\t~/local/ix86/lib then you would configure Guile-PG using a line\n\tlike:\n\n           ./configure --with-libpq=~/local/ix86\n\n\tIf your libpq include directory is somewhere other than where\n\tthe lib dorectory is then you can use the more specific switches\n\t--with-libpq-includes and --with-libpq-lib.  See the output of\n\t\"./configure --help\" for details.\n\n\tIf the configure script failed because it couldn't find\n\tguile-config, then make sure that script is on your path.\n\n\tIf libguile is installed in a \"non-standard\" place, you may need\n\tto set the LDFLAGS environment variable to get configure to find\n\tit.  For example, if you use GCC with GNU ld and guile is\n\tinstalled under /opt/guile, then this can be achieved with the\n\tvalue: '-Wl,-rpath -Wl/opt/guile/lib' (quotes to protect spaces\n\tfrom the shell).\n\n\tIf your platform needs \"-R DIR\" for the libpq link command, you\n\tcan try the experimental configure option --enable-pq-rpath, or\n\talternatively set the LDFLAGS env var as described above.\n\n\tAfter configuration, type:\n\n\t    make\n\n\tto build the libraries.\n\n\nTesting\n-------\n\n\tIf configuration and \"make\" are successful, you can now run the\n\ttests.  To run the tests type:\n\n            make check [DEBUG=1] [KEEPD=1] [INITDB=/path/to/initdb]\n\n\tThis creates a temporary installation dir test/fake-install/,\n\tcreates a cluster test/fake-cluster/, kicks the daemon, runs the\n\ttests, and kills the daemon afterwards.\n\n\tCluster creation uses initdb(1) to do the work.  If that program\n\tis not in ‘PATH’, you need to specify it.  (Kicking the daemon\n\tuses pg_ctl(1) from the ‘PGPATH’ var output by ‘initdb --show’,\n\tso there is no need to specify that directly.)\n\n\tThe basic tests should all pass.  The large-object tests might\n\tfail because of bugs in PostgreSQL.  The abstraction tests are\n\tnot supposed to fail, but you never know.  If a test fails, the\n\tdaemon might persist; to kill it \"manually\", use command:\n\n           cd test/ \u0026\u0026 make kill-daemon\n\n\tIn any case, the cluster persists, which reduces startup time\n\tfor subsequent \"make check\" invocations (if you are in the mood).\n\tUse \"make clean\" to remove it and test/fake-install/ as well.\n\n\tThe DEBUG=1 is optional.  If \"make check\" fails, please re-run\n\tit with DEBUG=1 and see \"Reporting Bugs\" below.\n\n\tLikewise, ‘KEEPD=1’ is optional.  If specified, the daemon is\n\tnot killed, reducing startup time for subsequent runs.\n\n\nWhat Goes Where\n---------------\n\n\tIf the basic tests passed then you may want to install Guile-PG.\n\tTo do this type \"make install\", which puts files in these dirs:\n\n\t    modules         -- ${GUILE_LIBSITE}/database\n\t    guile-pg.info   -- ${infodir}\n\n\tThe ${GUILE_LIBSITE} and ${infodir} values are determined by the\n\tconfigure script.  Typically, these would be, respectively,\n\t/usr/local/lib/guile/site and /usr/local/info.  Note that\n\t${GUILE_LIBSITE} is based on the ${prefix} used for installing\n\tGuile, and may or may not coincide with the one specified by\n\t‘configure --prefix’.\n\n\tAdditionally, if the system supports it, \"make install\" updates\n\teach site dir's module catalog.\n\n\tAfter installation, you may wish to \"make installcheck\", which\n\tis essentially \"make check\" modified to look for the modules in\n\tthe install tree instead of the build tree.  Use ‘DEBUG=1’ and\n\tlook for \";;; loading\" lines to verify proper operation.\n\n\nReporting Bugs\n==============\n\n\tPlease report bugs to Thien-Thi Nguyen.  Include Guile-PG\n\tversion, the output of the show-platform script, and the log\n\tfile of the test that failed (all in subdir \"test\").\n\n\tThere is one known bug we can't do anything about (we tried but\n\tfailed): The sourceforge folks don't want to update their site\n\tto point to the new Guile-PG homepage:\n\n\t    http://www.nongnu.org/guile-pg/\n\n\tBut if there are enough links to the new page, perhaps the\n\trelevancy of sourceforge's obstinance will decline over time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgnu%2Fgnu_guile-pg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitgnu%2Fgnu_guile-pg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgnu%2Fgnu_guile-pg/lists"}